✒️ABAP La búsqueda de Exits en transacciones
ABAP La búsqueda de Exits en transacciones
Searching for Exits in Transactions
The following steps outline the process of searching for USER EXITS in standard SAP transactions using the ZBUSCAR_EXIT program.
Download and Create Program: Begin by downloading the ZBUSCAR_EXIT program from the download section of the lesson. Then, create the program in transaction SE38 by appending your ID to the program name.
- Execution: Execute the program after it's created.
- Selection Screen: On the selection screen of the program, choose a standard transaction to investigate. For instance, let's use transaction SU01, which manages system user maintenance.
- Viewing Enhancements: After selecting a transaction, run the program and observe the enhancements associated with the chosen transaction. Double-click on an enhancement to view its configuration.
- Component Inspection: Press the "Components" button to inspect the objects that make up the enhancement. This will reveal the components of the enhancement.
- Analyzing Function Modules: Explore the function modules associated with the enhancement. Within these modules, examine any Z includes present.
- Reviewing Custom Code: Double-click on Z includes to examine any custom ABAP code embedded within. This code is specific to user requirements and may include validations or other functionalities tailored to user needs.
Summary:
The ZBUSCAR_EXIT program facilitates the search for USER EXITS in standard SAP transactions. By executing this program, users can identify and examine enhancements associated with chosen transactions. The inspection process involves reviewing enhancements, exploring their components, and analyzing any custom code embedded within function modules.
E.g
*&---------------------------------------------------------------------*
*& Report ZBUSCAR_EXITS
*&
*&---------------------------------------------------------------------*
* Encontrando los Exits de una transacción SAP *
* *
* Ingresar la transacción en donde se están buscando los Exit y se *
* mostrará una lista de todos los Exits existentes para esa *
* transacción. *
* Haciendo doble click en el Exit podremos verlo en la transacción SMOD*
*&---------------------------------------------------------------------*
REPORT zbuscar_exits NO STANDARD PAGE HEADING.
TABLES : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir, tstct.
DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE,
field1(30),
v_devclass LIKE tadir-devclass.
PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
*----------------------------------------------------------------------*
START-OF-SELECTION.
*----------------------------------------------------------------------*
SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM tadir
WHERE pgmid EQ 'R3TR'
AND object EQ 'PROG'
AND obj_name EQ tstc-pgmna.
MOVE : tadir-devclass TO v_devclass.
IF sy-subrc NE 0.
SELECT SINGLE * FROM trdir WHERE name EQ tstc-pgmna.
IF trdir-subc EQ 'F'.
SELECT SINGLE * FROM tfdir WHERE pname EQ tstc-pgmna.
SELECT SINGLE * FROM enlfdir WHERE funcname EQ tfdir-funcname.
SELECT SINGLE * FROM tadir
WHERE pgmid EQ 'R3TR'
AND object EQ 'FUGR'
AND obj_name EQ enlfdir-area.
MOVE : tadir-devclass TO v_devclass.
ENDIF.
ENDIF.
SELECT * FROM tadir INTO TABLE jtab
WHERE pgmid EQ 'R3TR'
AND object EQ 'SMOD'
AND devclass EQ v_devclass.
SELECT SINGLE * FROM tstct WHERE sprsl EQ sy-langu AND
tcode EQ p_tcode.
FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
WRITE:/(19) 'Código de transacción -',
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 del Exit',
21 sy-vline ,
22 'Descripción',
95 sy-vline.
WRITE:/(95) sy-uline.
LOOP AT jtab.
SELECT SINGLE * FROM modsapt
WHERE sprsl EQ sy-langu
AND name EQ 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:/ 'Número de Exits:' , sy-tfill.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'No existen Exits de cliente'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'El código de transacción no existe'.
ENDIF.
*---------------------------------------------------------------------*
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.
 
 
 
Sobre el autor
Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP.
Jaime Eduardo Gomez Arango
Profesión: Ingeniero de Sistemas y Computaci?n - Espa?a - Legajo: SW34C
✒️Autor de: 149 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP Fiori
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero de sistemas y computaci?n con 8 a?os de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.
Certificación Académica de Jaime Gomez