Hey,
intenta pegar este código en un nuevo programa y ejecutarlo: te dirá casi todo lo que necesitas saber:
-
REPORT ZZ_JE_FIND_USER_EXIT NO STANDARD PAGE HEADING.
&----
&----
*& Tablas
&----
TABLES : tstc, "Códigos de transacción SAP
tadir, "Directorio de objetos de repositorio
modsapt, "Mejoras SAP - Textos cortos
modact, "Modificaciones
trdir, "Tabla de sistema TRDIR
tfdir, "Módulo de función
enlfdir, "Atributos adicionales para módulos de función
tstct. "Textos de códigos de transacción
&----
*& Variables
&----
DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.
&----
*& Parámetros de pantalla de selección
&----
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.
&----
*& Inicio del programa principal
&----
START-OF-SELECTION.
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 = enlfdir-area.
MOVE : tadir-devclass TO v_devclass.
ENDIF.
ENDIF.
SELECT * FROM