理论教育 SAP第二代增强:使用事务和编辑器进行管理

SAP第二代增强:使用事务和编辑器进行管理

时间:2023-06-12 理论教育 版权反馈
【摘要】:第二代增强用事务SAP增强管理和增强编辑器维护。在SAP发布的版本中,使用Call Customer-Function‘xxx’调用函数模块,所以可以通过在程序中搜索Customer-Function来查找第二代增强,第二代增强函数名构成为Exit_程序名_’xxx’。■C.GUI codes:用于区域菜单和工具菜单栏的增强。图4-41.Enhancement比较重要的表■MODSAP:这个表里重要的字段增强名、组件类型、组件功能模块名里面记录了所有Enhancement的增强。

SAP第二代增强:使用事务和编辑器进行管理

第二代增强(基于函数模块的增强)用事务SAP增强管理(事务代码:SMOD)和增强编辑器(事务代码:CMOD)维护。在SAP发布的版本中,使用Call Customer-Function‘xxx’调用函数模块,所以可以通过在程序中搜索Customer-Function来查找第二代增强,第二代增强函数名构成为Exit_程序名_’xxx(3 digital number)’。它们在发布的时候只有一句代码include“zxxxxxxx”,修改时无需像第一代增强一样申请对象键(Access key),直接按两次<Enter>键就可以了。但同时这种增强以及后面几代的增强都不能像第一代一样随便使用程序的全局数据,只能使用接口中传递进来的参数。由于带有关键字Customer,故被称为Customer Exits(客户出口)。

第二代增强主要有4类:

■E.Ehancement exits:这些出口以Exit_打头,可以在SE37中查看,也可以在数据字典TFDIR(函数表)中查询Exit_打头的函数。

■C.GUI codes(GUI增强):用于区域菜单和工具菜单栏的增强。

■S.Subscreens(屏幕增强):用于子屏幕设计增强。

■T.include structure增强:用于表结构的增强。还有一种按照用途分类的标准:

■功能模块出口(Function Module Exits):在SAP标准事务中添加业务逻辑,一般用于验证标准事务中的字段。

■屏幕出口(Screen Exits):定义自己的子屏幕用以嵌入应用屏幕,在标准事务中添加子屏幕。

■菜单出口(Menu Exits):定义自己的菜单项或激活屏蔽标准事务中的菜单项。

■表出口(Table Exits):与上节中的T型出口一样,属同一类型。

■数据元素出口(Data Element Exits):在ABAP/4字典的关键字数据元素中添加文档。结果是在使用这些数据元素的字段处按<F1>键后会出现自定义的说明文档。

■关键字出口(Keyword Exits):在ABAP/4字典中的关键字数据元素更改表示文本。

■字段出口(Field Exits):根据ABAP/4字典中域验证某些标准事务的某些屏幕字段。

注:RZ10配置系统参数,并重启应用服务器,如图4-4所示。

978-7-111-50126-8-Chapter04-4.jpg

图4-4

1.Enhancement比较重要的表

■MODSAP:这个表里重要的字段增强名(Name)、组件类型(TYPE:ECST)、组件功能模块名(Member)里面记录了所有Enhancement的增强。

■TFDIR:所有的函数表、重要字段FuncName(函数名)、功能模块激活状态MAND(如果是C,代表此函数模块激活)。

■TSDIR:动态程序区CALL CUSTOMER SUBSCREEN(屏幕增强)。

■CUATEXTS:修改GVI界面,菜单文本被客户改变(GUI菜单文本增强)。

■MODSAPA:SAP扩展的属性。

■MODATTR:SAP增强项目属性。(www.daowen.com)

■TADIR:资源库对象的目录。

■TFTIT:函数功能的短文本。

2.查找Enhancement的方法

(1)查找关键字

在程序中搜索Customer-function,找到后面的3位数字后缀,然后出口函数组成就是Exit_程序名_3位数字后缀。

(2)代码查找增强

利用如下代码查找Enhancement(有些Exit并不能找到):

978-7-111-50126-8-Chapter04-5.jpg

978-7-111-50126-8-Chapter04-6.jpg

978-7-111-50126-8-Chapter04-7.jpg

978-7-111-50126-8-Chapter04-8.jpg

978-7-111-50126-8-Chapter04-9.jpg

(3)利用系统函数寻找增强

常与出口相关的函数有:

■DYNP_VALUES_READ。

■MODX_ALL_ACTIVE_MENUENTRIES(菜单增强)。

■MODX_FUNCTION_ACTIVE_CHECK(出口函数增强)。

■MODX_MENUENTRY_ACTIVE_CHECK(菜单增强)。

■MODX_SUBSCREEN_ACTIVE_CHECK(屏幕增强)。

可以在函数最后设置断点,然后通过运行对应的增强程序就会调用这样的函数,这样就可以在调试模式下找到对应的增强。

注:出口的应用要在激活的状态下,也就是在TFDIR下的MAND字段为C。激活的时候要同时激活程序和出口函数。一般情况下,知道出口模块可以找到对应的增强,如果未激活状态需要将其激活。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈