Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 Vote
Como ya sabes, las user-exits son la puerta de atras que nos deja abierta Sap en
muchas transacciones para poder personalizar el comportamiento del sistema (con
limitaciones) en ciertos aspectos y poder cambiar la forma de actuar de las
aplicaciones.
Normalmente, para poder localizar una exit, tiramos de la transaccin SMOD,
donde podemos consultar las que Sap ha definido, los componentes que tienen y
algo de documentacin (tambien suele haber informacin en las notas de OSS o en
el SDN). La documentacin solo esta disponible en Ingles, asi que es necesario
logarse en ese idioma para poder consultarla.
Una vez localizada la user-exit, desarrollamos el correspondiente proyecto de
ampliacin con la transaccin CMOD. Aqu incluimos nuestro cdigo en la
puerta que ha dejado Sap y lo personalizamos a nuestra conveniencia. De esta
forma podemos aadir validaciones, incluir actualizaciones en tablas de cliente o
aadir campos en las pantallas estandar.
Se echa de menos tener una herramienta ms rpida para poder buscar, a partir de
una transaccin, las user-exits disponibles y as hacer ms fcil la labor de
encontrar si hay alguna que nos vale, y personalizarla a continuacin.
Para esto, os dejo un programa Abap que he encontrado en el blog de Daniel
Panaro y que nos facilita esta tarea.
*&*
*& Report ZUSER_EXIT
*&
*&*
*&
*&
*&*
REPORT
ZUSER_EXIT.
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.
write:/1 sy-vline,
2 jtab-obj_name, "hotspot on,
21 sy-vline ,
22 modsapt-modtext input on,
95 sy-vline.
hide: jtab-obj_name.
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.
*
screen.
screen.