Saturday, December 18, 2010
Enter the transaction code that you want to search through in order to find which Standard SAP User Exits exists.


REPORT  ZTCODE_TO_FIND_EXITS NO STANDARD PAGE HEADING.
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

*&---------------------------------------------------------------------*
" Declarations
*&---------------------------------------------------------------------*

DATA :
  FIELD1(30) TYPE C,
  V_DEVCLASS LIKE TADIR-DEVCLASS.

DATA :
  JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.

*&---------------------------------------------------------------------*
" Selection Screen Parameters
*&---------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK A01 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN SKIP.
PARAMETERS : P_TCODE 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 P_TCODE.



* 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 P_TCODE.
    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
    WRITE:/(19) 'Transaction Code - ',
    20(20) P_TCODE,
    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.

0 comments:

Post a Comment

Your useful comments, suggestions are appreciated.Your comments are moderated.

Followers

Contact Form

Name

Email *

Message *

Web Dynpro ABAP Book

An SAP Consultant

Follow US


Want to Contribute ?

If you are interested in writing about the new stuff you learn everyday while working, please write to the.sap.consultants@gmail.com.

Click on Contribution for more details.