打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何通过Tcode查找SAP各事务码对应的增强出口清单
userphoto

2023.05.16 广东

关注
*&---------------------------------------------------------------------* *& Report ZBB_FIND_EXIT *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT ZBB_FIND_EXIT NO STANDARD PAGE HEADING LINE-SIZE 255. TABLES : TSTC, "SAP Transaction Codes(SAP 事务代码) TADIR, "Directory of Repository Objects(资源库对象的目录) MODSAPT, "SAP Enhancements - Short Texts(SAP增强-短文件) SXS_ATTRT,"Exit: Definition side: Attributes, Text table MODACT, "Modifications(修正) TRDIR, "System table TRDIR(系统表 TRDIR) TFDIR, "Function Module(功能模块) ENLFDIR, "Additional Attributes for Function Modules(功能模块的附加属性) TSTCT. "Transaction Code Texts(事务代码文本) DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE. "SMOD DATA : ITAB LIKE TADIR OCCURS 0 WITH HEADER LINE. "SE18-BADI DATA : KTAB LIKE TADIR OCCURS 0 WITH HEADER LINE. "Enhancement implementation-ENHO DATA : LTAB LIKE TADIR OCCURS 0 WITH HEADER LINE. "Enhancement Spot-ENHS DATA : MTAB LIKE TADIR OCCURS 0 WITH HEADER LINE. "Composite Enhancement implementation-ENHC DATA : FIELD1(30). DATA : V_DEVCLASS LIKE TADIR-DEVCLASS. DATA : T_COUNT LIKE SY-TFILL. DATA: BDCDATA_WA TYPE BDCDATA, BDCDATA_TAB TYPE TABLE OF BDCDATA. DATA OPT TYPE CTU_PARAMS. SELECTION-SCREEN BEGIN OF BLOCK A01 WITH FRAME TITLE TEXT-001. SELECTION-SCREEN SKIP. PARAMETERS : P_TCODE LIKE TSTC-TCODE OBLIGATORY. SELECTION-SCREEN SKIP. SELECTION-SCREEN END OF BLOCK A01. START-OF-SELECTION. CLEAR: ITAB,JTAB. REFRESH:ITAB,JTAB. 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 = 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 * FROM TADIR INTO TABLE ITAB WHERE PGMID = 'R3TR' AND OBJECT = 'SXSD' AND DEVCLASS = V_DEVCLASS. SELECT * FROM TADIR INTO TABLE KTAB WHERE PGMID = 'R3TR' AND OBJECT = 'ENHO' AND DEVCLASS = V_DEVCLASS. SELECT * FROM TADIR INTO TABLE LTAB WHERE PGMID = 'R3TR' AND OBJECT = 'ENHS' AND DEVCLASS = V_DEVCLASS. SELECT * FROM TADIR INTO TABLE MTAB WHERE PGMID = 'R3TR' AND OBJECT = 'ENHC' 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:/(12) '事务代码 - ', 13(20) P_TCODE, 34(10) '功能 - ' , 45(50) TSTCT-TTEXT. SKIP. IF NOT JTAB[] IS INITIAL. WRITE:/(117) SY-ULINE. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE:/1 SY-VLINE, 2 'Exit Name', 43 SY-VLINE , 44 'Description', 117 SY-VLINE. WRITE:/(117) SY-ULINE. LOOP AT JTAB. CLEAR MODSAPT. 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, 43 SY-VLINE , 44 MODSAPT-MODTEXT, 117 SY-VLINE. ENDLOOP. WRITE:/(117) SY-ULINE. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE:/1 SY-VLINE, 2 'Badi Name(definition)', 43 SY-VLINE , 44 'Description', 117 SY-VLINE. WRITE:/(117) SY-ULINE. LOOP AT ITAB. CLEAR SXS_ATTRT. SELECT SINGLE * FROM SXS_ATTRT WHERE SPRSL = SY-LANGU AND EXIT_NAME = ITAB-OBJ_NAME. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WRITE:/1 SY-VLINE, 2 ITAB-OBJ_NAME HOTSPOT ON, 43 SY-VLINE , 44 SXS_ATTRT-TEXT, 117 SY-VLINE. ENDLOOP. WRITE:/(117) SY-ULINE. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE:/1 SY-VLINE, 2 'Enhancement Implementation', 43 SY-VLINE , 44 'Description', 117 SY-VLINE. WRITE:/(117) SY-ULINE. LOOP AT KTAB. CLEAR SXS_ATTRT. SELECT SINGLE * FROM SXS_ATTRT WHERE SPRSL = SY-LANGU AND EXIT_NAME = KTAB-OBJ_NAME. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WRITE:/1 SY-VLINE, 2 KTAB-OBJ_NAME HOTSPOT ON, 43 SY-VLINE , 44 SXS_ATTRT-TEXT, 117 SY-VLINE. ENDLOOP. WRITE:/(117) SY-ULINE. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE:/1 SY-VLINE, 2 'Enhancement Spot', 43 SY-VLINE , 44 'Description', 117 SY-VLINE. WRITE:/(117) SY-ULINE. LOOP AT LTAB. CLEAR SXS_ATTRT. SELECT SINGLE * FROM SXS_ATTRT WHERE SPRSL = SY-LANGU AND EXIT_NAME = LTAB-OBJ_NAME. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WRITE:/1 SY-VLINE, 2 LTAB-OBJ_NAME HOTSPOT ON, 43 SY-VLINE , 44 SXS_ATTRT-TEXT, 117 SY-VLINE. ENDLOOP. WRITE:/(117) SY-ULINE. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE:/1 SY-VLINE, 2 'Composite Enhancement Implementation', 43 SY-VLINE , 44 'Description', 117 SY-VLINE. WRITE:/(117) SY-ULINE. LOOP AT MTAB. CLEAR SXS_ATTRT. SELECT SINGLE * FROM SXS_ATTRT WHERE SPRSL = SY-LANGU AND EXIT_NAME = MTAB-OBJ_NAME. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WRITE:/1 SY-VLINE, 2 MTAB-OBJ_NAME HOTSPOT ON, 43 SY-VLINE , 44 SXS_ATTRT-TEXT, 117 SY-VLINE. ENDLOOP. WRITE:/(117) SY-ULINE. CLEAR T_COUNT. DESCRIBE TABLE JTAB. T_COUNT = SY-TFILL. DESCRIBE TABLE ITAB. T_COUNT = T_COUNT + SY-TFILL. DESCRIBE TABLE KTAB. T_COUNT = T_COUNT + SY-TFILL. DESCRIBE TABLE LTAB. T_COUNT = T_COUNT + SY-TFILL. DESCRIBE TABLE MTAB. T_COUNT = T_COUNT + SY-TFILL. SKIP. FORMAT COLOR COL_TOTAL INTENSIFIED ON. WRITE:/ '用户出口数量:' , T_COUNT. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(95) '此TCode没有用户出口!'. ENDIF. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(95) '事务代码不存在!'. ENDIF. AT LINE-SELECTION. GET CURSOR FIELD FIELD1. IF FIELD1(4) EQ 'JTAB'. SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10). CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN. ELSEIF FIELD1(4) EQ 'ITAB'. * SET PARAMETER ID 'EXN' FIELD sy-lisel+1(40). * CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN. CLEAR BDCDATA_WA. BDCDATA_WA-PROGRAM = 'SAPLSEXO'. BDCDATA_WA-DYNPRO = '0100'. BDCDATA_WA-DYNBEGIN = 'X'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'BDC_CURSOR'. BDCDATA_WA-FVAL = 'G_ENHSPOTNAME'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'G_IS_BADI'. BDCDATA_WA-FVAL = 'X'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'BDC_OKCODE'. BDCDATA_WA-FVAL = '=ISSPOT'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-PROGRAM = 'SAPLSEXO'. BDCDATA_WA-DYNPRO = '0100'. BDCDATA_WA-DYNBEGIN = 'X'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'BDC_CURSOR'. BDCDATA_WA-FVAL = 'G_BADINAME'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'G_BADINAME'. BDCDATA_WA-FVAL = SY-LISEL+1(40). APPEND BDCDATA_WA TO BDCDATA_TAB. OPT-DISMODE = 'E'. OPT-DEFSIZE = 'X'. CALL TRANSACTION 'SE18' USING BDCDATA_TAB OPTIONS FROM OPT. REFRESH BDCDATA_TAB. ELSEIF FIELD1(4) EQ 'KTAB'. * SET PARAMETER ID 'IMN_BADI' FIELD sy-lisel+1(40). * CALL TRANSACTION 'SE19' AND SKIP FIRST SCREEN. CLEAR BDCDATA_WA. BDCDATA_WA-PROGRAM = 'SAPLENHANCEMENTS'. BDCDATA_WA-DYNPRO = '0100'. BDCDATA_WA-DYNBEGIN = 'X'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'BDC_CURSOR'. BDCDATA_WA-FVAL = 'RSEUX-CXH_VALUE'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'RSEUX-CXH'. BDCDATA_WA-FVAL = 'X'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'RSEUX-CXH_VALUE'. BDCDATA_WA-FVAL = SY-LISEL+1(40). APPEND BDCDATA_WA TO BDCDATA_TAB. * CLEAR bdcdata_wa. * bdcdata_wa-fnam = 'BDC_OKCODE'. * bdcdata_wa-fval = '/00'. * APPEND bdcdata_wa TO bdcdata_tab. OPT-DISMODE = 'E'. OPT-DEFSIZE = 'X'. CALL TRANSACTION 'SE20' USING BDCDATA_TAB OPTIONS FROM OPT. REFRESH BDCDATA_TAB. ELSEIF FIELD1(4) EQ 'LTAB'. * SET PARAMETER ID 'ENHSPOT' FIELD sy-lisel+1(40). * CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN. CLEAR BDCDATA_WA. BDCDATA_WA-PROGRAM = 'SAPLENHANCEMENTS'. BDCDATA_WA-DYNPRO = '0100'. BDCDATA_WA-DYNBEGIN = 'X'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'BDC_CURSOR'. BDCDATA_WA-FVAL = 'RSEUX-C_XS_VALUE'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'RSEUX-C_XS'. BDCDATA_WA-FVAL = 'X'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'RSEUX-C_XS_VALUE'. BDCDATA_WA-FVAL = SY-LISEL+1(40). APPEND BDCDATA_WA TO BDCDATA_TAB. * CLEAR bdcdata_wa. * bdcdata_wa-fnam = 'BDC_OKCODE'. * bdcdata_wa-fval = '/00'. * APPEND bdcdata_wa TO bdcdata_tab. OPT-DISMODE = 'E'. OPT-DEFSIZE = 'X'. CALL TRANSACTION 'SE20' USING BDCDATA_TAB OPTIONS FROM OPT. REFRESH BDCDATA_TAB. ELSEIF FIELD1(4) EQ 'MTAB'. * SET PARAMETER ID 'IMN_BADI' FIELD sy-lisel+1(40). CLEAR BDCDATA_WA. BDCDATA_WA-PROGRAM = 'SAPLENHANCEMENTS'. BDCDATA_WA-DYNPRO = '0100'. BDCDATA_WA-DYNBEGIN = 'X'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'BDC_CURSOR'. BDCDATA_WA-FVAL = 'RSEUX-CXT_VALUE'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'RSEUX-CXT'. BDCDATA_WA-FVAL = 'X'. APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'RSEUX-CXT_VALUE'. BDCDATA_WA-FVAL = SY-LISEL+1(40). APPEND BDCDATA_WA TO BDCDATA_TAB. CLEAR BDCDATA_WA. BDCDATA_WA-FNAM = 'BDC_OKCODE'. BDCDATA_WA-FVAL = '/00'. APPEND BDCDATA_WA TO BDCDATA_TAB. OPT-DISMODE = 'E'. OPT-DEFSIZE = 'X'. CALL TRANSACTION 'SE20' USING BDCDATA_TAB OPTIONS FROM OPT. REFRESH BDCDATA_TAB. ENDIF.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用BDC的方式控制屏幕跳转
如何查看某个用户指定时间段的ABAP开发记录
at new, at end of
使用工厂还是分割评估?
如何用 Stata 批量读取多张工作表的 Excel 文件
电网101、104规约解析(Java)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服