Programa que lista USER-EXITS de una transacción

6 11 2007

El siguiente reporte muestra un listado de las USER EXITS de una transacción determinada. Sólo basta ingresar el nombre de la transacción en la pantalla principal, y como resultado mostrará tanto el nombre como la descripción de la USER EXIT.


*&———————————————————————*
*& Report ZUSER_EXIT
*&
*&———————————————————————*
*&
*&
*&———————————————————————*

REPORT  ZUSER_EXIT.
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 ‘Exit Name’,
          21 sy-vline ,
          22 ‘Description’,
          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:/ ‘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.
  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.


Technorati tags:


Acciones

Information

9 responses

21 11 2007
Pedro Villela Martinez

Gracias por publicar este tipo de programas que me han servido bastante, espero continuar con su valiosa ayuda.

Saludos !!!!!!!!

18 01 2009
Luli

Ver que sos groso Danyyyyy??? Que tipo ehhhh… me hiciste ahorrame de ponerme a revolver mis archivos buscanod el fucking programa de las user exits… Ves? hasta cuanod no te encuentro en msn me sos util querido!!!
Un beso!

Luli

23 01 2009
Daniel Panaro

Jajajaja… Cómo anda la Luli =P . Me alegro que te haya servido.
Nos estamos hablando, salutes!
Daniel.

13 10 2009
satur123

Muy util !!
Mil Gracias!

30 01 2011
User-exits: como localizarlas. « Notas y trucos SAP (Bitacora)

[…] esto, os dejo un programa Abap que he encontrado en el blog de Daniel Panaro y que nos facilita esta […]

3 09 2012
Anónimo

soy nueva en abap, me gustaría me explicaran el uso del programa gracias!

11 09 2012
Daniel Panaro

Que tal,
Un user-exit es una rutina definida dentro de un programa estandar SAP que esta vacía, es decir sin código, para que el usuario ponga su propio código y que le permita realizar tareas específicas que no estan previstas por el estandar.

Por lo tanto este programa sirve para que liste las user-exit disponibles de una transacción en particular.
Simplemente hay que completar el filtro de selección con el nombre de una transacción. Y el programa devolverá un listado de user-exit disponibles.

Saludos cordiales,
Daniel Panaro.

15 02 2016
Jorge Quintana

Han pasado un poco mas de 8 años de esta publicación, pero no podía dejar de agradecer, gracias por el gran aporte.
Saludos desde Paraguay

15 02 2016
Daniel Panaro

Muchas gracias Jorge!!!
Saludos cordiales.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: