用T-CODE查询USER EXIT的程序


*----------------------------------------------------------------------*
*     TABLES
*----------------------------------------------------------------------*
TABLES  TSTC TADIR MODSAPT MODACT TRDIR TFDIR ENLFDIR .
TABLES  TSTCT .

*----------------------------------------------------------------------*
*     I N T E R N A L   T A B L E S
*----------------------------------------------------------------------*
DATA  JTAB  LIKE TADIR  OCCURS  WITH  HEADER  LINE .
DATA  FIELD1 ( 30 ) .
DATA  V_DEVCLASS  LIKE TADIR -DEVCLASS .

*----------------------------------------------------------------------*
*     SELECTION-SCREEN
*----------------------------------------------------------------------*
PARAMETERS  P_TCODE  LIKE TSTC -TCODE OBLIGATORY .

SELECT  SINGLE FROM TSTC  WHERE TCODE  EQ P_TCODE .

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  EQ ENLFDIR -AREA .

       MOVE  TADIR -DEVCLASS  TO V_DEVCLASS .
     ENDIF .
   ENDIF .

   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 ,
            '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 ,
              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 .

*----------------------------------------------------------------------*
*     AT LINE-SELECTION
*----------------------------------------------------------------------*
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 .

你可能感兴趣的:(用T-CODE查询USER EXIT的程序)