In this article, we would be discuss about the SAP Transaction CMOD which is used by customers for exploiting the enhancement opportunity provided by SAP by means of Customer Exits, and find out how it works.
SAP Transaction CMOD
After finding the Customer Exits or Enhancements of interest in transaction SMOD, customers need to implement their components (Function module exits, menu exits & screen exits). This is done through the customer’s enhancement management transaction CMOD.
This is how you would need to proceed in order to implement your identified customer exits.
SAP Transaction CMOD: Step 1 - Creation of Project
In order to begin implementing the components of customer exits (enhancements) in SAP transaction CMOD, you first need to create an implementation project or simply Project. A project is a collection of implementations of several customer exits. One can think of below mentioned benefits of this concept.
- Implementations of related customer exits can be grouped at one place.
- A project can be activated / deactivated which leads to the activation / deactivation of all included implementations in one shot.
- When you assign a customer exit or enhancement to a project, it gets locked by the project i.e. it cannot be assigned to any other project. This avoids the conflicting situation of multiple active implementations of a customer exit, since customer exits do not support reuse or multiple-use.
During the creation of the Project, assign it a relevant Short Text & Package where all the implementations will be created. These details can be later viewed in the Attributes section of Project.
SAP Transaction CMOD: Step 2 - Assignment of Enhancements to Projects
Next step is to assign Enhancements or Customer Exits, which are intended to be implemented, to the Project.
You can navigate to Enhancement assignment screen in CMOD by either of the following ways:
- On the entry screen of transaction CMOD, enter the project name, choose the radio button ‘Enhancement Assignment’ and press ‘Change’.
- Enter into any section of transaction CMOD and press button ‘Enhancement Assignments’
In the ‘Enhancement Assignment’ screen, enter the name of all the enhancements which you wish to implement as part of your project. Here, if you try to assign an enhancement which is already assigned to some other project, system would throw you an error message. This is because of the fact that the customer exits or enhancements can be implemented only once.
SAP Transaction CMOD: Step 3 - Implementation of Components
After assigning Enhancements to Project, we come to the final part of implementing the components of assigned enhancements or customer exits.
For implementing the components i.e. Function module exits, Menu exits, Screen Exits, we first need to navigate to ‘Components’ section of Project. You can jump to ‘Components’ section of Project by following one of the below mentioned ways:
- If you are on transaction CMOD’s entry screen, choose radio button ‘Components’ along with Project specified and press button ‘Change’.
- If you are already into ‘Attributes’ or ‘Enhancement Assignment’ section of a Project in transaction CMOD, press button ‘Components’ in application toolbar.
On navigating to ‘Components’ section, you will find a list of components available for enhancement.
This list contains components from all the enhancements which you have assigned to the Project.
Now, you can double click any of these components to open relevant editors for implementing them e.g. double-clicking a function module exit will take you to function builder, double-clicking a menu exit will take you to popup for entering the text and icon details of function code, double-clicking a screen exit will take you to screen painter.
In these editors, you can insert customer specific stuff.
As of now, our main focus is understanding transaction CMOD. We will plunge into the details of each of these components in our next sections.
SAP Transaction CMOD: Step 4 - Activation / Deactivation of Project
Once the implementation of components of assigned enhancements or customer exits are over, the Project is ready to be activated.
Activating the project brings all the implementations included in the project into effect. Similar to activation, deactivating a project reverses the effect of all the implementations included in the project.
You can activate / deactivate a project by pressing ‘Activate’ and ‘Deactivate’/’Undo Activation’ buttons respectively in transaction CMOD’s entry screen or in its ‘Components’ section.
Hope, this article helped you in getting comfortable with SAP transaction CMOD. In our next posts, we would dive into individual components that make up a Customer Exit/ Enhancement i.e. Function module exit, Screen exits and Menu exits.
Please give your valuable suggestions/ comments to improve this post and make it perfect.