Skip to Content
avatar image
Former Member


Hello experts,

What is the difference between CMOD & SMOD ?

Regards ,

Rajan Mehta

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • Best Answer
    avatar image
    Former Member
    Dec 10, 2007 at 05:02 AM


    programing an exit is a two step process where in the appropriate exit is to be identified. T.Code SMOD is used to find the list of exits available for the system.


    Implementing the exit identified through SMOD is done using the T.Code CMOD.


    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Dec 10, 2007 at 05:02 AM

    Hi Rajan,

    Hope u know tht these are tcodes used for userexits .Generally in Smod it is used for searching the exits and CMOd it is used for implementing the project into the exact exits where we want to implement it..

    and check this link for more info... - 60k

    smod-and-cmod - 31k

    Hope it might be helpful to u..


    Sana M.

    reward if helpful..

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Dec 10, 2007 at 05:05 AM

    hi rajan

    CMOD &SMOD used for Enhancement to change functionality with distrubing the SAP functionality.

    CMOD is project Mang of SAP Enhancement,

    SMOD is SAP Enhancement.


    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Dec 10, 2007 at 05:01 AM


    <b>What is the difference between SMOD and CMOD?</b> 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 <3 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):



    xvbak = vbak

    xvbuk = vbuk

    xkomk = tkomk


    lvf_subrc = lvf_subrc


    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"

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Dec 10, 2007 at 05:02 AM


    SMOD is just to see all the enhancements in the sap system.

    CMOD is the customer projects where enhancements are implemented. If you want to implement any enhancements then you will create a project and assign the enhancement and do the coding in exits.

    To customize an existing SAP application we have been provided the user exits by SAP. These exits are packaged under enhancements. You choose an enhancement according to your requirements e.g. enhancement MM06E005 is used for adding custom field in me21/me21n. SAP has limited no of enhancements for any transactions, you have to choose only from them to cater your requiement you cant create them.

    After selecting your enhancements you have to inherit them in your project in CMOD. Thereafter you do coding and other things like making your subscreens or adding fields to standard tables in respective exits.

    To see the effect of your whole project you must activate each componnents of your enhancements.

    Add comment
    10|10000 characters needed characters exceeded