Friday, August 7, 2015

Userexit determining program sap abap

*&---------------------------------------------------------------------*
*& Report  YJUSEREXIT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT YJUSEREXIT.
*report z_find_user_exit no standard page heading.



tableststctadirmodsaptmodact,

        trdirtfdirenlfdirtstct.



data jtab like tadir occurs with header line.

data hotspot(30).



parameters p_tcode like tstc-tcode obligatory.



at line-selection.

  get cursor field hotspot.

  check hotspot(4eq 'JTAB'.

  set parameter id 'MON' field sy-lisel+1(10).

  call transaction 'SMOD' and skip first screen.



start-of-selection.



  perform get_data.

  perform write_list.





*----

*--------------------------------------------------------------------------------


*      FORM get_data                                                 *


*----

*--------------------------------------------------------------------------------


form get_data.



  select single from tstc

              where tcode eq p_tcode.

  check sy-subrc eq 0.



  select single from tadir

            where pgmid 'R3TR'

              and object 'PROG'

              and obj_name tstc-pgmna.





  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.

    endif.



  endif.



  select from tadir into table jtab

             where pgmid 'R3TR'

               and object 'SMOD'

               and devclass tadir-devclass.



  select single from tstct

          where sprsl eq sy-langu

            and tcode eq p_tcode.



endform.



*----

*--------------------------------------------------------------------------------


*      FORM write_list                                               *


*----

*--------------------------------------------------------------------------------


form write_list.



  format color col_positive intensified off.

  write:/(19'Transaction Code - ',

  20(20p_tcode,

  45(50tstct-ttext.

  skip.

  if not jtab[] is initial.

    write:/(95sy-uline.

    format color col_heading intensified on.

    write:/1 sy-vline,

    'Exit Name',

    21 sy-vline ,

    22 'Description',

    95 sy-vline.

    write:/(95sy-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,

      jtab-obj_name hotspot on,

      21 sy-vline ,

      22 modsapt-modtext,

      95 sy-vline.

    endloop.

    write:/(95sy-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.



endform.

No comments:

Post a Comment