找出口和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程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP程序:查找TC相关的出口。
- 下一篇: 生成SLUTION MANAGER KE