ABAP 增强出口查找

*&---------------------------------------------------------------------*
*& Report  ZTEST_user_exit
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ztest_user_exit  .

TABLES tstc,     "SAP Transaction Codes
         tadir,    "Directory of Repository Objects
         modsapt,  "SAP Enhancements - Short Texts
         modact,   "Modifications
         trdir,    "System table TRDIR
         tfdir,    "Function Module
         enlfdir,  "Additional Attributes for Function Modules
         tstct.    "Transaction Code Texts

DATA jtab LIKE tadir OCCURS 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(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.
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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值