SAP ABAP - Find User Exit of Transaction Code With Custom Program

 




REPORT zfindexits.

TABLES tstctadirmodsaptmodacttrdirtfdirenlfdirtstct.
DATA jtab LIKE tadir OCCURS WITH HEADER LINE.
DATA field1(30).
DATA 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 '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(20p_tcode45(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.
ELSE.

  FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
  WRITE:/(95'Transaction Code Does Not Exist'.
ENDIF.

AT LINE-SELECTION.

  GET CURSOR FIELD field1.
  CHECK field1(4EQ 'JTAB'.
  SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
  CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

Comments

Popular posts from this blog

PHP MySql CRUD Dengan Konsep MVC

Laravel - Sistem Informasi Perpustakaan Sederhana Laravel

IT Asset Management Dengan PHP MySQL