`
tianjun309
  • 浏览: 368264 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

查询SAP程序的增强出口和BADI

    博客分类:
  • SAP
阅读更多

 *& Report Z_HZY
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z_HZY.
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.
* Sorting the internal Table
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.
* Get the total SMOD.
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.

分享到:
评论

相关推荐

    查找sap标准程序用户出口以及badi的方法

    本教程将深入讲解如何查找 SAP 标准程序中的用户出口和 BADI 实现方法,帮助开发者更高效地进行系统扩展。 一、用户出口(User Exits) 1. **理解用户出口**:用户出口是 SAP 为开发者预留的特定代码段,允许在...

    查找SAP标准程序用户出口以及BADI的方法.doc

    ### 查找SAP标准程序用户出口以及BADI的方法 #### 一、理解SAP中的BADI与User Exits 在SAP系统中,为了提供...通过以上步骤,我们可以有效地查找并实现SAP标准程序中的BADI和User Exits,从而实现业务需求的扩展。

    SAP ABAP开发BADI与增强资料

    总的来说,SAP ABAP开发中的BADI、屏幕增强和用户出口是提高系统适应性的关键工具。通过理解和熟练应用这些技术,开发人员可以构建出符合企业独特需求的解决方案,同时保持与SAP标准系统的良好兼容性。在实际工作中...

    SAP 开发 SD 相关的增强BADI.pdf

    OpenFI只能用于程序增强,不能像BADI一样增强用户界面元素。 关于SD模块的BADI实现,文档内容提到了几个具体的BADI名称,如: - HUBADT Business Add-Ins for Handling Units - LESHPBAD1 Business Add-Ins in ...

    SAP BADI出口增强的查找方法

    本文将详细介绍如何在SAP系统中查找和利用BADI出口增强,特别是通过SE80事务代码进行的具体步骤。 #### 1. 使用SE80事务代码查看程序包 首先,登录到SAP系统,输入事务代码SE80,进入程序包视图。在SE80的主界面上...

    BADI作为SAP的第三代用户出口

    BADI作为SAP系统的第三代用户出口,其设计理念和技术特性相比于前两代(SXS_INTER、SXC_EXIT)有着显著的进步。 #### 第三代用户出口的发展背景与特点 SAP系统的用户出口是为了解决企业定制化需求与保持系统稳定性...

    SAP程序用户出口、BAPI查找方法.doc

    在SAP系统中,用户出口(User Exit)是一种特殊的增强点,允许开发人员在标准SAP程序中插入自定义逻辑或功能。这种机制为最终用户提供了高度的灵活性,可以根据特定业务需求对SAP标准流程进行定制化修改。 #### 1.2 ...

    BADI出口增强查找方法

    此外,BADI出口增强的查找方法也可以与其他SAP技术集成,例如ABAP Objects、SAP GUI、SAP NetWeaver等。通过这种集成,开发者可以更好地利用BADI出口增强的查找方法,实现更复杂的业务逻辑。 BADI出口增强的查找...

    SAP出口与增强开发介绍.pptx

    SAP出口与增强开发介绍 本资源摘要信息涵盖了SAP出口与增强开发的相关知识点,包括出口与增强的定义、类型、实现方法、应用场景等。...出口与增强可以通过各种方法实现,包括用户出口、客户出口、BADI和源代码增强。

    BADI及UserEXIT查找工具

    其中一种方法是通过编写ABAP程序,如示例报告“ZPZTEST”,来搜索特定事务代码下可用的BADI和UserExit。这种程序通常涉及查询多个SAP表,如`TSTC`(交易代码)、`MODSAPT`(SAP增强-短文本)、`SXS_ATTRT`(SAP BADI...

    [SAP ABAP开发技术总结]ABAP Enhancement(增强)详解

    第二代:基于函数出口增强(Function) SMOD与CMOD的区别 查找出口函数 根据出口函数查找对应的出口对象 出口对象激活(SMOD) 增强详细说明文档 示例:通过出口实现采购订单屏幕增强 示例:VA01增强(CMOD创建项目...

    sap_BADI技术

    - 与BADI相比,开放FI仅限于程序增强,不能用于用户界面元素的增强;且只能在三个层级上发生增强(SAP-业务伙伴-客户)。 2. **Enhancements in Transactions (SMOD/CMOD)**: - SMOD/CMOD技术假设了两层体系结构...

    SAP系统中销售与分销模块相关的BADI

    - **适用范围**:BADI不仅可以用于程序增强,还可以用于用户界面元素的增强;而BTE主要用于程序级别的增强。 - **支持层级**:BADI支持多层实现,而BTE假定增强仅发生在SAP、合作伙伴和客户三个层级。 - **技术基础*...

    找SAP的用户出口 标准文档

    ### SAP用户出口(User-Exits)与BADI增强机制详解 #### 概述 本文档旨在帮助SAP用户和技术人员了解如何寻找与SAP标准事务代码相关的用户出口(User-Exits)或BADI(Business Add-Ins)。通过这些方法,用户可以在不修改...

    SAP增强总结

    例如,通过程序追踪断点查询、使用SE80和SE11工具来搜索相关的增强条目、使用专门的程序Searchforuserexit以及通过SPRO查找。 在进行增强时,还需注意一些细节,比如在传输增强请求时,为了便于管理和维护,通常...

    SAP找增强方法

    在实施SAP增强时,应始终优先考虑使用BADI、BTE和其他结构化的增强技术,以降低升级风险并确保系统的可维护性。同时,为了保证顺利的系统升级和良好的系统性能,对所有增强进行充分的测试和文档记录至关重要。

    SAP增强查找

    此外,还可以从程序代码中寻找相关的增强点,例如通过SYSTEM菜单进入STATUS,然后进入PROGRAM来查找特定的程序增强部分。 总而言之,SAP增强技术贯穿了SAP系统的发展历程,提供了多种不同层次和技术的增强手段,...

    ZUSEREXIT_SAP增强查找Z_USEREXIT_SAP增强查找_

    在SAP系统中,增强是实现企业特定功能和调整标准软件行为的重要手段。"ZUSEREXIT_SAP增强查找"指的是在ABAP编程环境中寻找和利用SAP提供的增强点,以便在不修改标准代码的情况下定制系统行为。这通常涉及到事务代码...

    BADI&user_exit

    BADI&User Exit BADI(Business Add-In)和User Exit是SAP系统中两个...BADI和User Exit是SAP系统中两个重要的概念,它们都是用于增强SAP标准程序的功能。使用SMOD和CMOD可以实现用户增强,并将其移植到BADI实现中。

Global site tag (gtag.js) - Google Analytics