cancel
Showing results for 
Search instead for 
Did you mean: 

How does Repair Flag and reparing an Object work?

oschuetz
Explorer
0 Kudos

Hello,

Unfortunately, my knowledge of ABAP development is limited. But for working reasons I need a better understanding about the concept of repairs. I have also read a little in the literature. However, I still have some questions about repairs.

My aim is to better understand how a repair flag in table E070 is set and how you can remove it.

This much I have found out so far:

  1. A changed object in the Development System is the original. Transporting it to the Prod system creates a copy. If I now change the copy on the Prod system, it is a repair.
  2. But how should I imagine the repair in practice? Which transaction do I need for modifiation on productive system (SE38/SE80)?
  3. Does the system have to be set to modifiable (SE06) for a repair on an object?
  4. Does the client have to be opened for a repair (SCC4)?
  5. After modifying the object and creating a repaired object, what must the developer/admin do to delete the repair flag in transport log (E070). Must the modified object be transported from Prod to Dev?

Thank you in advance for your patient explanation

matt
Active Contributor

When you change standard SAP objects in the development system you repair it and save it in a repair task on a transport. You then transport the request into production.

You don't change document in the production system.

If the object in dev is custom, then it is simply transported to production and overwrites (or creates) the object there.

It's a bad idea to remove repair flags unless the object is no longer repaired but back to its (SAP provided) original.

View Entire Topic
DominikTylczyn
Active Contributor

Hello oschuetz

See SAP Help on Changing Objects in the Original System and Changing Objects in the Non-Original System

In general you should avoid changing objects in the non-original e.g. productive system. As this creates a risk of versions conflict. The same object could be modified roughly at the same time in the original system and non-original one. Then you have two versions of the same object.

The good practice is to change objects only in the original system and transport changes to other, non-original systems i.e. consolidation, quality and finally production environments.

Changes in the non-original systems can be made with the same tools as in the original system e.g. SE38/SE80 for ABAP programs, SE11 for data dictionary objects etc. Once you change an object in the non-original system, the object is automatically marked as repaired. That prevents the object from being overwritten by a transport request, unless the transport request is imported with "overwrite" options - SAP Help Starting an Import: Options:

You typically don't import objects from PRD to DEV, you import them from DEV to PRD. So the correct way to deal with a repair is to manually retrofit the change to DEV and import the object the usual way.

Best regards

Dominik Tylczynski

oschuetz
Explorer

This is great answer, which helped me a lot. Thank you.

But what about client or system opening? Is it possible to edit objects (SE38/SE80) or data dictionary (SE11) in non original system (productive) when you to not open the system (SE06) or the client (SCC4)?

I think that answer is not obviously in the documentation link you gave me.

DominikTylczyn
Active Contributor
0 Kudos

oschuetz That goes without saying - a system and a client needs to be open for changes if changes are to be implemented. That's why all systems but the development one should be closed for changes.

oschuetz
Explorer
0 Kudos

Ok. Thank you for your confirmation.