on 12-27-2007 8:29 AM
Dear friends
What is difference between cmod and smod
Sankalp singhai
Dear Sankalp,
CMOD is the Project Management of SAP Enhancements (i.e., SMOD Enhancements). SMOD contains the actual enhancements and CMOD is the grouping of those SMOD enhancements.
User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
The naming standard of function modules for function module exits is:
EXIT_<program name><3 digit suffix>
The call to a functionmodule exit is implemented as:
CALL CUSTOMER.-FUNCTION ❤️ digit suffix>
For Example:
The program for transaction VA01 Create salesorder is SAPMV45A
1. If you search for CALL CUSTOMER-FUNCTION program SAPMV45A you will find ( Among other user exits):
CALL CUSTOMER-FUNCTION '003'
exporting
xvbak = vbak
xvbuk = vbuk
xkomk = tkomk
importing
lvf_subrc = lvf_subrc
tables
xvbfa = xvbfa
xvbap = xvbap
xvbup = xvbup.
The exit calls function module EXIT_SAPMV45A_003
2. How to find user exits
Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements.
Enter the exit name and press enter.
You will now come to a screen that shows the function module exits for the exit.
or use this ABAP program to search for user exits :-
Finding the user-exits of a SAP transaction code
3. Using Project management of SAP Enhancements
You want to create a project to enhance transaction VA01
- Go to transaction CMOD
- Create a project called ZVA01
- Choose the Enhancement assign radio button and press the Change button
In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only be used for 1 project. If the enhancement is allready in use, and error message will be displayed
- Press Save
- Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002.
- Double Click on the exit.
Now the function module is displayed. Double click on include ZXVVAU04 in the function module
Insert the following code into the include: E_KUNNR = '2155'.
Activate the include program. Go back to CMOD and activate the project.
Goto transaction VA01 and create a salesorder. Note that Sold-to-party now automatically is "2155"
Hope this helps you.
Do award points if you found them useful.
Regards,
Rakesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User-exits(modifications)
USER EXITS are FORMS and are called by SAP standard programs using PERFORM.
Inside the form (user exit) you can read and change almost any global data from host program.
User exits are more flexible because you have more information to use in your code but on the other hand , it is very easy to manipulate erroneously global data and lead the standard program to a dump or even to make database inconsistent.
User-exit doesnt have any classification.
Basically designed For SD module.
User-exits can be written only using access-key.
With user-exits the code , the developer has written will not be there for next version unless modification assistance tool is used.
Customer-exits(enhancements)
CUSTOMER EXITS are FUNCTIONS so they are called using CALL FUNCTION (or more exactly CALL CUSTOMER FUNCTION).
Inside a function (customer exit) you can only acces your import/export/changing/tables parameters.
Customer exits are more restrictive but you are sure any change you can make to any parameters will never lead to inconsistency
In customer-exit we have function-module exit , screen exit , menu exit.
Are available for MM,SD,FI,HR ..Basically designed for all modules.
No need of access key.
Customer-exits are not wiped during upgradation.
As I can't put it in the form of table. Just map the same point in both exits.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
CMOD transaction is used to create the project, where in you can link the user exit to the project and you can activate and deactive the project whenever you need. If you deactive the project, it won't call that particular exit attached to that project even if the code is given in that exit.
SMOD Transaction is used to search for the available user exits.
SD User exits are different than other modules.
for example for Sales Order - SAPMV45A, in that many includes will be there and in each include you can find the subroutines these will be called in different scenarios.
User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
The naming standard of function modules for functionmodule exits is:
EXIT_<program name><3 digit suffix>
The call to a functionmodule exit is implemented as:
CALL CUSTOMER.-FUNCTION ❤️ digit suffix>
To find a Exit.
Goto Transaction -- Find The Package
SMOD >f4>Use the Package here to Find the Exits In the Package.
Else if you Want to search by Application Area wise ,
There is one more tab to find the Exits in the Respective Application Area.
Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
Now Run ur Transaction to Check if it Triggers.
Thats it..
Suppose you need to find out all the user exits related to a tcode.
1. Execute the Tcode.
2. Open the SAP program.
3. Get the Development Class.
4. Execute Tcode SE84.
5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
6. Enter the Development class and execute.
Hope it helps.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The T.Codes SMOD & CMOD are used in programing the Exits.
The Programing of Exit is a two step process. First is to identify the appropriate (SMOD), Second is to Implement the identified Exit (CMOD).
SMOD: SAP Enhancement Management (Standard)
it is used to list out the Existing Exits available for the System. This transaction code is used to identify the appropriate exit for the idoc.
CMOD: Enhancements (Customising)
This transaction is used to Implement the Identified exit through SMOD.
Reward Points if useful.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
SMOD means Standard MODifications, where in this TR.code , u can see the available standard user exits provided by SAP
CMOD means Customer MODifications. here u can utilize the User exits to map the customer requirements by creating the project name and all.
Now i answer ur questions
Reward points if it is helpful.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
103 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.