预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SAP中如何寻找增强方法一、利用TCODE寻找增强(第二代的增强)执行一个程序(源代码后附)在选择屏幕处输入你所需要增强的程序TCODE执行後就会出现一个列表那里就有关于如何增强这个的绝大部分SMOD增强。点击进去自己手动寻找需要的增强。这是第二代增强方法二、利用系统函数寻找MODX_FUNCTION_ACTIVE_CHECK在这个FUNCTION的代码最后添加一个断点。执行需要增强的TCODE如果有增强就会自动跳入DEBUG界面。在DEBUG界面查看f_tab字段这里面所显示的Smod就是关于这个TCODE所有的增强项目的列表。这些增强都是属于EXIT_XXXXXX_XXX这种形式。至于如何查看这个增强是属于哪个SMOD可以自己查阅MODSAP这个表(SAPEnhancements).这是第二代增强。还有一些FUNCTION供参考:[1].DYNP_VALUES_READ[2].MODX_ALL_ACTIVE_MENUENTRIES(菜单增强)[3].MODX_FUNCTION_ACTIVE_CHECK(出口函数增强)[4].MODX_MENUENTRY_ACTIVE_CHECK(菜单增强)[5].MODX_SUBSCREEN_ACTIVE_CHECK(屏幕增强)这些的使用方法和上述的一样可以针对各种情况寻找增强。方法三、从程序代码中找在需要增强的事务里面打开SYSTEM——》status双击进入PROGRAM查看所有的subroutines重点观察所有形似userexit_*******这种由描述来确定合适的需要增强的FORM。这里是第一代的增强。方法四、针对BADI的增强转摘自网上1、badi对象的信息存储在SXS_INTERSXC_EXITSXC_CLASS和SXC_ATTR这四个表中。2、sap程序都会调用cl_exithandler=>get_instance来判断对象是否存在并返回实例;其实get_instance就是对上述几个表和他们的视图(V_EXT_IMP和V_EXT_ACT)进行查询和搜索。3、基于这个机理我查用ST05来监控一个TCODE来跟踪然后选择查找有关上述几个表和视图的操作就可获得相关BADI。4、se18查找接口se19实现接口就可以实现用户增强。************************************************************************************************************************************首先来讲解一下什么是出口顾名思义就是一段程序执行到最后必经的一段程序。为什么会有出口呢?因为正常的业务系统不能满足实际需求这时可以在出口中增加一些功能来达到要求这也就是为什么它还叫增强。我感觉它跟给操作系统打补丁差不多。在Sap中出口就是标准程序最后要调用的一个函数或者功能模块这个函数或功能模块的输入已经由Sap定义好。自己写的SAP出口程序在系统升级的时候会被保留而如果更改标准程序在SAP系统升级的时候会被覆盖。下面介绍一下什么时候需要使用出口以及出口的种类:1:在业务检查时比如在某个工厂发货可以设定在某个库位的出货只能使用某种移动类型。2:在需要界面增强时比如用户对某个字段要求大写但是最终用户不按规范操作这也可以在出口中自动转换有些模块甚至能自定义数据库字段并且可以在出口中增加字段输入。还有的模块能对输入数据检查甚至实现自动替代等功能。3:有不规则业务时比如按某种条件定价可以设定从自己定义的表中按某种条件取值4:搜索帮助的出口可以对Sap标准的搜索帮助做权限控制。等等。SAP有四种基本用户出口的类型:1.菜单出口-MenuExits定义自己的菜单2.屏幕出口-ScreenExits定义自己的屏幕3.功能模块出口-FunctionModuleExits在SAP应用程序中添加功能4.关键字出口-KeywordExits在ABAP/4字典中的关键字数据元素添加文档。结果是你在使用这些数据元素的字段处按F1后会出现你自定义的说明文档因为出口都是被Sap预先定义好的那么怎么寻找自己需要的出口呢?1:可以通过配置文档的帮助和SAPlibrary寻找业务系统的出口saplibrary在‘implementationguide’中寻找出