MODIFICATIONS: OVEVIEW DIAGRAM
This slide illustrates that Modification is an integral part of the standard SAP applications. It also shows Modification Assistant and user exits.
ORIGINALS AND COPIES
Any object created in the development system is termed as original. However, when this object is transported to another system, only a copy of the original is passed. In fact, an object is regarded as original in only one system. Therefore, when SAP delivers an object, the customer actually gets only a copy of the original. The original object always lies with SAP.
CORRECTIONS AND REPAIRS
Changes made to an original are called corrections. All the changes done are recorded in a change request whose tasks have the type Development or correction. The changes done to a copy are termed as repairs. These changes are recorded in a task with the type Repair. The repairs to SAP objects are known as modifications. These terminologies are also applicable to any other object created in a development system.
MODIFICATIONS AND UPGRADES
The modifications done to SAP objects create problems during upgrades. Therefore, in order to save those changes, modification adjustment needs to be performed. These modification adjustments must also be performed on development system to ensure that the objects are consistent within systems.
REGISTERING MODIFICATIONS IN SSCR
It is important that all the changes made to objects in customer system are registered. This requires a SSCR Key. Any changes done to the objects at a later stage would not require generation of a new key.
CARRYING OUT A REGISTERED MODIFICATION
You must provide the Workbench Organizer with SSCR key and a change request to make any changes to SAP Repository objects. Additionally, you need to confirm the warning dialogs that appear while making changes.
A change request performs various functions :
WHEN THE MODIFICATION IS FINISHED
Once the user finishes working on an object, the change request associated with it is set for release. The user needs to document all the changes. Once the developer confirms the repair, an import lock is attached to the change request. Once the project is complete, the change request is released and all the object locks associated with it are disabled including change locks and import locks. After the release, the objects are copied from the database of the SAP system and are stored in a transport directory.
When a change request is released, complete version of all objects contained in the change request is written to the versions database. If the Repository object is transported again later, the current object becomes a complete copy and the differences between the old and the new object are stored in the versions database as backward delta.
CRITICAL SUCCESS FACTORS (1)
The customer source code should be encapsulated in modularization units instead of being inserted directly into SAP source code. In addition, you should use narrow interfaces to encapsulate customer-specific functions for good data control.
CRITICAL SUCCESS FACTORS (2)
You need to consider certain critical factors while maintaining source code documentation:
Using standardized inline documentation
Ensuring not to delete any SAP source code =
Maintaining modification logbook
Taking care not to modify basic dictionary objects
Releasing all requests containing repairs
MODIFICATION LOGS (EXAMPLE)
All modifications done to your system should be recorded. In the template shown here, you must provide information for these columns :
Routine (if applicable)
Subject area (according to process design blueprint or technical design)
Preliminary correction? (yes/no)
SAP Note number, valid until Release x.y
Estimated time to restore the modification during the adjustment
MODIFICATION ASSISTANT: PURPOSE
Modification assistant provides a finer granularity than possible otherwise. This is because modifications can be done at subroutine or module level. Modifications are registered in a separate software layer.
HOW THE MODIFICATION ASSISTANT WORKS
MODIFICATION ADJUSTMENTS THEN AND NOW
Previously, whenever a new version of an include program modified by the user was provided by SAP, modification adjustment was necessary. Each modification had to be manually included in the new SAP version.
Now, using Modification Assistant, modifications can be recorded even at subroutine or function module level.
MODIFICATION ASSISTANT: SOFTWARE LAYERS
The software layer present at the customer site is a combination of both the originals provided by SAP as well as present modifications.
MODIFICATION ASSISTANT: TOOLS SUPPORTED
This slide lists the tools supported by the Modification Assistant.
MODIFICATION ASSISTANT: PREREQUISITES
Modification Assistant can be turned on or off for the entire system using the profile parameter eu/controlled_modification. The user must provide SSCR key and change request to change an SAP object.
The system then displays a dialog box informing that the object is under control of the Modification Assistant.
MODIFICATION ASSISTANT ICONS
You cannot use all the typical functions of the tool you are working with during modifications. However, these functions can be accessed using appropriate pushbuttons such as insert, replace, delete, undo modification, and modification view.
MODIFICATION ASSISTANT: ABAP EDITOR EXAMPLE
This slide shows the use of pushbuttons during modification.
When the user clicks insert, a new block of code is provided for the user as shown here. On replace, the already existing code is commented and a new code can be inserted. Using delete, the original source code is commented.
The modification overview icon displays an overview of the modifications done in the current program. Such changes are displayed for all the various modularization units involved.
RESTORING THE ORIGINAL
All the changes made during modification can be undone if the user selects the Undo button. It deletes the modification record, which cannot be restored later.
The Modification Browser displays an overview of all the modified objects in the system. It shows data based on modifications carried out with or without the Modification Assistant. The results in the Modification Browser are displayed as a hit list in a tree form.
USER EXITS: STRUCTURE OF A MODULE POOL
USER EXITS: IMPLEMENTATION
The source code for user exit is declared using sub routines in include programs. An Include can contain any number of sub routines as shown here. Initially these includes are empty and are delivered only once per release. The user exits are especially developed for SD module. Their main purpose is to simplify the process of modifications adjustments.
USER EXITS: EXAMPLE
As shown in this slide, user exits are actually delivered as empty subroutines. As a user, you can specify your own source code inside these subroutines.
USER EXITS: SEARCH
You can search for a user exit by following the menu path: System → Status → Double Click on Program Name → Search By Character String user exit’.
This procedure provides you with the required documentation for the user exit.
You can also conduct similar search in IMG: In SD, go to System adjustment → User exits and choose Complete Selection.
OBJECTS FOR ADJUSTMENT
Whenever SAP delivers a new version, the set of objects modified by the customer are compared with the delivered ones. The set of objects common to both are the ones that require adjustment.
MODIFICATION ADJUSTMENT: SPDD AND SPAU
The comparison between old version and new versions is done using transactions SPDD and SPAU. The transaction SPDD is used to adjust Dictionary objects; whereas transaction SPAU is used to adjust all the other ABAP Repository objects.
TRANSPORTING ADJUSTMENT BETWEEN SYSTEM
When modification adjustments are carried out, separate change requests are assigned for SPDD and SPAU transactions. Subsequently, these change requests are transported into SAP systems where these changes need to be adjusted. This ensures that all actual adjustments are done solely in the development system.
MODIFICATION ADJUSTMENT: INTRODUCTION
The hit list, which is displayed on a selection screen at the beginning of modification adjustment, can be restricted. The hit list can be displayed on the basis of objects that are to be adjusted or that are yet to be processed.
MODIFICATION ASSISTANT ICONS
The modification assistant icons are displayed against objects that need adjustment. There are various possible ways of making adjustments:
If you choose automatic adjustments, the changes are adopted automatically by choosing the appropriate icon or menu option.
If you select semiautomatic adjustments, you can make use of the individual tools for this purpose. During adjustments you can use the Split Screen Editor to make any changes.
If you opt for manual adjustment, the modification adjustment is done without any special support from the system.
Adjusted objects are marked by a green tick.
If you want to use the new SAP standard version, you should use original restored button.