Me enviaron este código para identificar los user-exits que tenga una transacción estandar de SAP. Ni idea de quien será el autor.
*&---------------------------------------------------------------------*
*& Report ZBC_USER_EXIT *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZBC_USER_EXIT NO STANDARD PAGE HEADING.
*-----------------------------------------------------------------------
* 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
TABLES : TSTCT.
*-----------------------------------------------------------------------
* VARIABLES
*-----------------------------------------------------------------------
DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
DATA : FIELD1(30).
DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
*-----------------------------------------------------------------------
* PARAMETERS
*-----------------------------------------------------------------------
PARAMETERS : P_TCODE LIKE TSTC-TCODE OBLIGATORY.
*-----------------------------------------------------------------------
* MAIN PROCESS
*-----------------------------------------------------------------------
START-OF-SELECTION .
PERFORM PRINT_PROJECTS .
END-OF-SELECTION .
*-----------------------------------------------------------------------
* USER COMMANDS
*-----------------------------------------------------------------------
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.
*-----------------------------------------------------------------------
* SUBROUTINES
*-----------------------------------------------------------------------
*&---------------------------------------------------------------------*
*& Form print_projects
*&---------------------------------------------------------------------*
FORM PRINT_PROJECTS .
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,
2 'Nombre Exit',
21 SY-VLINE ,
22 'Descripcion',
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:/ 'Numero de User Exits:' , SY-TFILL.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'No existe ningun User Exit'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'El codigo de transaccion no existe'.
ENDIF.
ENDFORM. " print_projects
Suscribirse a Comentarios de la entrada [Atom]
Suscribirse a
Entradas [Atom]