查找增强出口和BADI程序详解编程语言
2023-06-13 09:11:49 时间
* ---------------------------------------------------------------------* * Report Z_FIND_EXIT_AND_BADI * ---------------------------------------------------------------------* * ---------------------------------------------------------------------* report z_find_exit_and_badi no standard page heading. * ---------------------------------------------------------------------* * Enter the transaction code that you want to search through in order * to find which Standard SAP User Exits and BADIs * ---------------------------------------------------------------------* * For field SUBC of table TRDIR: * M Module Pool * F Function group * S Subroutine Pool * J Interface pool * K Class pool * T Type Pool * X XSLT Program * ---------------------------------------------------------------------* * Tables * ---------------------------------------------------------------------* tables: tstc , " SAP Transaction Codes tadir , " Directory of Repository Objects modsapt , " SAP Enhancements - Short Texts sxs_attrt, " SAP BADI - short text modact , " Modifications trdir , " System table TRDIR tfdir , " Function Module enlfdir , " Additional Attributes for Function Modules tstct . " Transaction Code Texts * ---------------------------------------------------------------------* * Variables * ---------------------------------------------------------------------* data: jtab like tadir occurs 0 with header line. data: field1(30). data: v_devclass like tadir-devclass. data: object like tadir-object. data: bdcdata_wa type bdcdata, bdcdata_tab type table of bdcdata. data: opt type ctu_params. * ---------------------------------------------------------------------* * Selection Screen Parameters * ---------------------------------------------------------------------* selection-screen begin of block a01 with frame title text-001. selection-screen skip. parameters: p_tcode like tstc-tcode obligatory. selection-screen skip. parameters: exit radiobutton group 1 default X, badi radiobutton group 1. selection-screen end of block a01. define bdc_program. clear bdcdata_wa. bdcdata_wa-program = 1. bdcdata_wa-dynpro = 2. bdcdata_wa-dynbegin = 3. append bdcdata_wa to bdcdata_tab. end-of-definition. define bdc_detail. clear bdcdata_wa. bdcdata_wa-fnam = 1. bdcdata_wa-fval = 2. append bdcdata_wa to bdcdata_tab. end-of-definition. * ---------------------------------------------------------------------* * Start of main program * ---------------------------------------------------------------------* start-of-selection. if exit = X. object = SMOD. " User-exit! else. object = SXSD. " BADI! endif. * Validate Transaction Code: select single * from tstc where tcode eq p_tcode. * Find Repository Objects for transaction code: if sy-subrc eq 0. " IF 1 select single * from tadir where pgmid = R3TR and object = PROG and obj_name = tstc-pgmna."Program * name! move: tadir-devclass to v_devclass. " Package if sy-subrc ne 0. select single * from trdir where name = tstc-pgmna. if trdir-subc eq F. " Function Group 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 = enlfdir-area. move: tadir-devclass to v_devclass. endif. endif. * Find SAP Modifactions: select * from tadir into table jtab where pgmid = R3TR * AND object = SMOD and object = object 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. " IF 2 write: /(95) sy-uline. format color col_heading intensified on. * Exit: if exit = X. write: /1 sy-vline, 2 Exit Name, 22 sy-vline , 23 Description, 95 sy-vline. * BADI: else. write: /1 sy-vline, 2 BADI Name, 22 sy-vline , 23 Description, 95 sy-vline. endif. write:/(95) sy-uline. loop at jtab. * EXIT: if exit = X. 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, 22 sy-vline , 23 modsapt-modtext, 95 sy-vline. * BADI: else. select single * from sxs_attrt where sprsl = sy-langu and exit_name = jtab-obj_name. format color col_normal intensified off. write: /1 sy-vline, 2 jtab-obj_name hotspot on, 22 sy-vline , 23 sxs_attrt-text, 95 sy-vline. endif. endloop. write: /(95) sy-uline. describe table jtab. skip. format color col_total intensified on. if exit = X. write: / No of Exits:, sy-tfill. else. write: / No of BADIs:, sy-tfill. endif. else. " IF 2 format color col_negative intensified on. write: /(95) No User Exit exists. endif. " IF 2 else. " IF 1 format color col_negative intensified on. write: /(95) Transaction Code Does Not Exist. endif. " IF 1
set parameter id MON field sy-lisel+1(10). call transaction SMOD and skip first screen. * For BADI: else. clear: bdcdata_wa, bdcdata_tab[]. bdc_program SAPLSEXO 0100 X. bdc_detail BDC_CURSOR G_IS_BADI. bdc_detail BDC_OKCODE =ISSPOT. bdc_detail G_IS_BADI X. bdc_program SAPLSEXO 0100 X. bdc_detail BDC_CURSOR G_BADINAME. bdc_detail BDC_OKCODE =SHOW. bdc_detail G_BADINAME sy-lisel+1(20). opt-dismode = E. opt-defsize = X. call transaction SE18 using bdcdata_tab options from opt. endif.
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/18619.html
cjava相关文章
- javascript随机抽签程序详解编程语言
- Python调用C/C++程序详解编程语言
- Python编程学习,高效求解素数程序实例详解编程语言
- Scalaz(53)- scalaz-stream: 程序运算器-application scenario详解编程语言
- 个别程序题详解编程语言
- 第一个python程序-判断登陆用户名和密码是否正确详解编程语言
- Java程序监控指标详解编程语言
- 语言程序如何在Linux中使用C编程语言(怎么在linux下编写c)
- 卸载php程序详解编程语言
- 一个小程序:二分查找法寻找插入点详解编程语言
- ABAP 找增强程序详解编程语言
- ABAP程序中的事件详解编程语言
- ABAP 加密解密程序详解编程语言
- ABAP程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM)详解编程语言
- 报表自动生成程序:ZREPORT_GENERATOR详解编程语言
- 自开发程序动态权限设置按钮详解编程语言
- SWM0-Excel模板上载以及模板下载程序详解编程语言
- 如何在ABAP程序中debug宏代码详解编程语言
- debug程序跳过增强详解编程语言
- 如何根据错误消息定位出错的ABAP程序详解编程语言
- ABAP程序中调用不同类型的函数弹出不同的消息对话框详解编程语言
- RocketMQ——IDEA开发RocketMQ程序简单入门详解编程语言
- 信用卡效验程序