cancel
Showing results for 
Search instead for 
Did you mean: 

How to identify the correct userexit

Former Member
0 Kudos

Hi,

It's a common question.

In SAP, How to identify the proper or correct userexit in the program?

What are all the method to identify the userexit.

Laxman

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi,

go to system modifications and check for the user exits available for the particular

are ,like sprosales and distributiosystem modifiucations --check for the detailed description of all the user exits ,customer exits,badis etc,

2.go to t:code CMOD/SMOD. and check for th euser exits there

reward points

sriram

Answers (3)

Answers (3)

Manoj_Mahajan78
Active Contributor
0 Kudos

Laxman,

There are n no of ways...

1)IMGsales and distributiosystem modifiucations --check for the detailed description of all the user exits ,customer exits,badis etc,

2.go to t:code CMOD/SMOD. and check for th euser exits there

3) Use Z_FIND _USEREXIT and find ...

REWARD IF U FINDS this as USEFUL...

Regds

MM

former_member227476
Active Contributor
0 Kudos

dear lakshmanan

if you know the include program goto se38 and give that program

you will get all the userexits of that programme

CMOD / SMOD also useful to find the userexits

rewards if it useful

siva

Former Member
0 Kudos

Hi Laxman,

You have several possibilities :

- 1 In SPRO choose the domain you want to customize ( SD, MM, ... ) and find the item titled 'System modification' -> User-Exit.

-2 You can directly search in txn SMOD using the search help, with significative key words.

-3 You can use this small, w ell known ABAP : Z_FIND_USEREXIT ( Search user exit by t-code 😞


REPORT z_find_userexit NO STANDARD PAGE HEADING.



*&---------------------------------------------------------------------*

*&  Enter the transaction code that you want to search through in order

*&  to find which Standard SAP User Exits exists.

*&


*&---------------------------------------------------------------------*



*&---------------------------------------------------------------------*

*& Tables

*&---------------------------------------------------------------------*



TABLES : tstc,     "SAP Transaction Codes

         tadir,    "Directory of Repository Objects

         modsapt,  "SAP Enhancements - Short Texts

         modact,   "Modifications

         trdir,    "System table TRDIR

         tfdir,    "Function Module

         enlfdir,  "Additional Attributes for Function Modules

         tstct.    "Transaction Code Texts



*&---------------------------------------------------------------------*

*& Variables

*&---------------------------------------------------------------------*



DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.

DATA : field1(30).

DATA : v_devclass LIKE tadir-devclass.



*&---------------------------------------------------------------------*

*& Selection Screen Parameters

*&---------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.

SELECTION-SCREEN SKIP.

PARAMETERS : t_code LIKE tstc-tcode OBLIGATORY.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN END OF BLOCK a01.



*&---------------------------------------------------------------------*

*& Start of main program

*&---------------------------------------------------------------------*



START-OF-SELECTION.



* Validate Transaction Code

  SELECT SINGLE * FROM tstc

    WHERE tcode EQ t_code.



* Find Repository Objects for transaction code

  IF sy-subrc EQ 0.

    SELECT SINGLE * FROM tadir

       WHERE pgmid    = 'R3TR'

         AND object   = 'PROG'

         AND obj_name = tstc-pgmna.



    MOVE : tadir-devclass TO v_devclass.



    IF sy-subrc NE 0.

      SELECT SINGLE * FROM trdir

         WHERE name = tstc-pgmna.



      IF trdir-subc EQ 'F'.



        SELECT SINGLE * FROM tfdir

          WHERE pname = tstc-pgmna.



        SELECT SINGLE * FROM enlfdir

          WHERE funcname = tfdir-funcname.



        SELECT SINGLE * FROM tadir

          WHERE pgmid    = 'R3TR'

            AND object   = 'FUGR'

            AND obj_name = enlfdir-area.



        MOVE : tadir-devclass TO v_devclass.

      ENDIF.

    ENDIF.



* Find SAP Modifactions

    SELECT * FROM tadir

      INTO TABLE jtab

      WHERE pgmid    = 'R3TR'

        AND object   = 'SMOD'

        AND devclass = v_devclass.



    SELECT SINGLE * FROM tstct

      WHERE sprsl EQ sy-langu

        AND tcode EQ t_code.



    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.

    WRITE:/(19) 'Transaction Code - ',

    20(20) t_code,

    45(50) tstct-ttext.

    SKIP.

    IF NOT jtab[] IS INITIAL.

      WRITE:/(95) sy-uline.

      FORMAT COLOR COL_HEADING INTENSIFIED ON.

      WRITE:/1 sy-vline,

      2 'Exit Name',

      21 sy-vline ,

      22 'Description',

      95 sy-vline.

      WRITE:/(95) sy-uline.



      LOOP AT jtab.

        SELECT SINGLE * FROM modsapt

        WHERE sprsl = sy-langu AND

        name = jtab-obj_name.

        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

        WRITE:/1 sy-vline,

        2 jtab-obj_name HOTSPOT ON,

        21 sy-vline ,

        22 modsapt-modtext,

        95 sy-vline.

      ENDLOOP.



      WRITE:/(95) sy-uline.

      DESCRIBE TABLE jtab.

      SKIP.

      FORMAT COLOR COL_TOTAL INTENSIFIED ON.

      WRITE:/ 'No of Exits:' , sy-tfill.

    ELSE.

      FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

      WRITE:/(95) 'No User Exit exists'.

    ENDIF.

  ELSE.

    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

    WRITE:/(95) 'Transaction Code Does Not Exist'.

  ENDIF.



* Take the user to SMOD for the Exit that was selected.

AT LINE-SELECTION.

  GET CURSOR FIELD field1.

  CHECK field1(4) EQ 'JTAB'.

  SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).

  CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

Hope this helps,

Erwan