日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

找出口和BADI的ABAP程序

發布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 找出口和BADI的ABAP程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ECC6 測試通過。

?

*&---------------------------------------------------------------------*
*& Report? Z_FIND_EXIT_BADI
*&??? Find User exit and BADI
*&---------------------------------------------------------------------*
*& Copyed From Internet 2008-11-26
*&---------------------------------------------------------------------*

REPORT? Z_FIND_EXIT_BADI NO STANDARD PAGE HEADING.

TABLES:tstc,tadir,modsapt,modact,trdir,tfdir,enlfdir,sxs_attrt,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,
?????? p_pgmna LIKE tstc-pgmna .

DATA wa_tadir TYPE tadir.

START-OF-SELECTION.
IF NOT p_tcode IS INITIAL.

?SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.

ELSEIF NOT p_pgmna IS INITIAL.

?tstc-pgmna = p_pgmna.

ENDIF.
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 IN ('SMOD', 'SXSD') 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:/(105) sy-uline.
??FORMAT COLOR COL_HEADING INTENSIFIED ON.
??SORT jtab BY object.

??DATA : wf_txt(60) TYPE c,
????? wf_smod TYPE i ,
????? wf_badi TYPE i ,
????? wf_object2(30) TYPE c.

??CLEAR : wf_smod, wf_badi , wf_object2.

??LOOP AT jtab INTO wa_tadir.

???AT FIRST.
????FORMAT COLOR COL_HEADING INTENSIFIED ON.
????WRITE:/1 sy-vline,
??????2 'Enhancement/ Business Add-in',
??????41 sy-vline ,
??????42 'Description',
??????105 sy-vline.
????WRITE:/(105) sy-uline.
???ENDAT.

???CLEAR wf_txt.

???AT NEW object.
????IF wa_tadir-object = 'SMOD'.
?????wf_object2 = 'Enhancement' .
????ELSEIF wa_tadir-object = 'SXSD'.
?????wf_object2 = ' Business Add-in'.
????ENDIF.

????FORMAT COLOR COL_GROUP INTENSIFIED ON.
????WRITE:/1 sy-vline,
???????2 wf_object2,
???????105 sy-vline.
???ENDAT.

???CASE wa_tadir-object.
????WHEN 'SMOD'.
?????wf_smod = wf_smod + 1.
?????SELECT SINGLE modtext INTO wf_txt
??????FROM modsapt
??????WHERE sprsl = sy-langu
???????AND name = wa_tadir-obj_name.
?????FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
????WHEN 'SXSD'.
?????* For BADis
?????wf_badi = wf_badi + 1 .
?????SELECT SINGLE text INTO wf_txt
??????FROM sxs_attrt
??????WHERE sprsl = sy-langu
???????AND exit_name = wa_tadir-obj_name.
?????
?????FORMAT COLOR COL_NORMAL INTENSIFIED ON.

???ENDCASE.

???WRITE:/1 sy-vline,
??????2 wa_tadir-obj_name HOTSPOT ON,
??????41 sy-vline ,
??????42 wf_txt,
??????105 sy-vline.

???AT END OF object.
????WRITE : /(105) sy-uline.
???ENDAT.

??ENDLOOP.

??WRITE:/(105) sy-uline.

??SKIP.

??FORMAT COLOR COL_TOTAL INTENSIFIED ON.

??WRITE:/ 'No.of Exits:' , wf_smod.
??WRITE:/ 'No.of BADis:' , wf_badi.

??ELSE.
???FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
???WRITE:/(105) 'No userexits or BADis exist'.
?ENDIF.
ELSE.
?FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
?WRITE:/(105) 'Transaction does not exist'.
ENDIF.

AT LINE-SELECTION.
?DATA : wf_object TYPE tadir-object.
?CLEAR wf_object.
?GET CURSOR FIELD field1.
?CHECK field1(8) EQ 'WA_TADIR'.
?READ TABLE jtab WITH KEY obj_name = sy-lisel+1(20).
?MOVE jtab-object TO wf_object.
CASE wf_object.
?WHEN 'SMOD'.
?SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
??CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
?WHEN 'SXSD'.
??SET PARAMETER ID 'EXN' FIELD sy-lisel+1(20).
?CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
ENDCASE.


總結

以上是生活随笔為你收集整理的找出口和BADI的ABAP程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。