En ocasiones necesitamos saber los user exits que tiene una transacción de manera que se puedan hacer las adecuaciones necesarias. Para este caso, les doy acontinuación este programa Z que permite hacer la busqueda y así no se te complique en tus especificaciones buscando cual podría ser.
Requisitos
Saber la transacción a la que le queremos revisar los user exits.
Su utilización se desarrollo para que sea de uso sencillo para los consultores y solo ejecutas e ingresas la transaccion que desea que busque y listo el programa te devolvera los USER EXITS que contiene
*&---------------------------------------------------------------------*
*& Report ZBUSCAR_EXIT
*PROGRAMA QUE BUSCA USER EXIT DE LAS TRANSACCIONES
*Busca user-exits en una transacción
*Introduce la transacción en la que estás buscando la user-exit y listar
*También es posible acceder directamente a la smod desde el listado.
REPORT ZBCUSER_EXIT01 NO STANDARD PAGE HEADING.
TABLES : TSTC, TADIR, MODSAPT, MODACT, TRDIR, TFDIR, ENLFDIR.
TABLES : TSTCT .
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
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,
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:/ 'Número de Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No existe ninguna user exit'.
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.
Una vez ejecutado, el sistema nos muestra los User exits que tenemos para la transacción requerida.
Esperando les ayude en sus proyectos y así ir teniendo mejores herramientas a nuestro alcance.