ABAP 增强详解.docx
第一代:基于源码增强(子过程subroutine:Form) 基于源码增加就是对SAP所预留的空的子过程(subroutine:Form)进行编码,即对标准程序预留的空的Form进行编码 源代码增强以子程序形式发布 第一代(基于源代码的增强)是sap提供一个空代码的子过程,在这个子过程中用户可以。。。。。。 第二代增强。。。。。。 第三代增强。。。。。。 第四代增强。。。。。。 文档内详解 ### ABAP增强详解 #### 一、第一代增强:基于源码增强(子过程subroutine:Form) 在SAP系统中,为了满足不同客户的定制化需求,提供了多种增强机制。第一代增强机制主要指的是**基于源码增强**,具体而言是指通过对SAP系统预留的空白子过程(subroutine:Form)进行编程来实现的功能增强。 - **概念**:这种增强机制的核心在于利用SAP系统提供的空白子过程进行编码。通常情况下,这些子过程是作为标准程序的一部分而存在的,但在发布时为空。 - **实现方式**:用户需要在这些空白的子过程中添加自定义的代码,以扩展或修改现有功能。 - **位置标识**:这些用于增强的空白子过程通常被集中存储在一些特殊命名规则的包含程序中,例如文件名倒数第二个字符为Z的文件,如MV45ATZZ、MV45AOZZ等。 - **注意事项**: - 由于这些子过程与主程序紧密关联,因此可以访问主程序中的全局数据。 - 这种类型的增强在系统升级时可能会被新版本覆盖。 - 用户在进行增强开发之前需要申请对象键(ACCESSKEY)。 - 为了规避直接修改源代码的需求,可以采用隐藏增强的方式。 **查找方法**: 1. **在包含程序中查找**:寻找第二个字符为Z的包含程序。 2. **通过事务码SPRO查找**:在后台配置的相关模块路径中查找增强信息。 3. **程序中搜索**:在程序代码中搜索以“USEREXIT_”开头的子程序名称。 4. **显示对象列表**:打开需要增强的程序,通过工具栏上的“显示对象列表”功能选择Subroutines,查看并定位以“UserExit”开头的子程序。 **示例**:在销售订单处理流程中,通过在包含程序MV45AFZZ中的子程序USEREXIT_SAVE_DOCUMENT_PREPARE中添加逻辑,可以在销售订单保存前进行额外的验证,比如检查订单类型是否为特定值,并确保订单编号已填写。 #### 二、第二代增强:基于函数出口增强(Function) 第二代增强机制进一步发展了增强功能的灵活性和可维护性,通过**基于函数模块的增强**实现了更加模块化的代码组织方式。 - **概念**:第二代增强机制允许用户将自定义代码封装到特定的函数模块中,这些函数模块拥有明确的输入/输出参数。 - **实现方式**:用户需要找到与所需增强功能对应的出口对象,并激活该对象以便函数模块能够生效。 - **位置标识**:这些增强函数通常由特定的命名规则组成,例如:`Exit_程序名_'xxx(三位数字)`。 - **注意事项**: - 需要使用SMOD(System Modification)和CMOD(Customer Modification)事务码来进行维护。 - 在程序中通过调用`CALL CUSTOMER-FUNCTION`来触发这些增强函数。 **查找方法**: 1. **通过程序代码查找**:在程序代码中查找`CALL CUSTOMER-FUNCTION`调用来定位第二代增强。 2. **事务码SMOD/CMOD**:使用事务码SMOD/CMOD来管理这些增强功能。 通过上述两种增强机制,企业可以根据自身的业务需求灵活地对SAP系统的功能进行扩展或修改,从而更好地支持其业务流程。需要注意的是,在进行增强开发时要遵循SAP的最佳实践指南,确保代码的稳定性和系统的安全性。
剩余63页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助