USER EXIT SEARCH

PROGRAM zkdemo06 NO STANDARD PAGE HEADING.

* /*
*                User exit find for a transaction
************************************************************************

*&&&----------------------------------------------------------------&&&*
TABLES : tstc,
         tadir,
         modsapt,
         modact,
         trdir,
         tfdir,
         enlfdir,
         tstct.

DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.

*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME. TITLE text-001
                                                         NO INTERVALS.
PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.

*
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 bject = '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 bject = '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:/ 'User exit count :' , sy-tfill.

    ELSE.

      FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
      WRITE:/(95) 'User exit not found'.
    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+0(4) EQ 'JTAB'.
  SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
  CALL TRANSACTION 'SMOD'.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/80479/viewspace-260189/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/80479/viewspace-260189/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值