sap增强进阶(三)-CustomerExits技巧.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、 Enhancements Using Customer Exits? 1. 实现方法? 要实现一个 HYPERLINK http://bbs.sapclub.cc/forum-enhancement-1.html \t _blank 增强,前提是你找准了这个增强。现假设你已找到物料凭证更新时的增强MB_CF001,可以通过以下步骤来实现这个增强。? 使用事务代码CMOD创建一个增强项目? ? 图-6-1 增强项目? 点击创建,然后点击工具条上的“Enhancement assignments”功能键,将增强MB_CF001添加到项目中去? 图-6-2 增强项目组件? 再点击工具条上的“组件”功能键,里面将显示函数接口,逐层双击进去,知道进到最后一个Z开头的INCLUDE程序,这时就可以在这里写代码来实现客户的特定需求了,保存后一定要注意激活组件和项目,增强方可生效。为了养成良好的习惯,推荐自己新建一个函数或者INCLUDE程序,以避免用户出口的频繁修改。?  HYPERLINK http://bbs.sapclub.cc/forum-dialog-1.html \t _blank 屏幕增强操作方法类似,增强的屏幕编号都是预先定义好的,双击进去创建即可。通常我们增强一个标准程序的屏幕,比如ME21N的抬头增强,我们首先会增强采购订单抬头表EKKO,这时就需要修改结构CI_EKKODB,CI_EKKODBX,增加客户字段。然后在将相关字段绘制在增强的屏幕上,激活后对相应的PAI、PBO做增强以实现数据的传入传出即可。? 图-7 屏幕增强? 当然,你也可以在增强函数组中创建自己独立的屏幕,然后通过预先提供的一些增强方法实现自定义屏幕与标准程序之间数据的传入与传出。? 图-9 表格增强? 图-10 屏幕增强后效果? 2. 查找方法? 首先要说明的是这种增强在 HYPERLINK http://bbs.sapclub.cc/topic-abap.html \t _blank ABAP中目前发现有两种存在形式,一种为CALL FUNCTION ‘EXIT_主程序_XXX’,另一种为CALL CUSTOMER-FUNCTION ‘XXX’。? 图-11 用户增强1? 图-12 用户增强2? 第一种方式执行之前,ABAP会调用以下一个函数MODX_FUNCTION_ACTIVE_CHECK / MODX_MENUENTRY_ACTIVE_CHECK / MODX_SUBSCREEN_ACTIVE_CHECK,它们分别对应功能增强、菜单增强、屏幕增强,ABAP通过调用这些函数检查相关增强是否已??实现并处于激活状态,如果条件满足,才会执行增强逻辑。而第二种方式,它已经把这部分检查增强是否激活的功能包含在句法中去了,因此它执行执行不会调用这些函数。因此,我们得到了一个查找这类增强的比较好的方法:? 在函数MODX_FUNCTION_ACTIVE_CHECK(或者那三个函数中的其它)的最后一行打上断点? 图-13-1 查找用户增强Enhanments? 在欢迎屏幕输入/h激活调试? 图-13-2 查找用户增强Enhanments? 运行业务事务代码,如ME21N,然后在调试的第一个界面中设置断点在语句CALL CUSTOMER-FUNCTION处 图-13-3 查找用户增强Enhanments? 图-13-4 查找用户增强Enhanments? 按F8执行,在函数MODX_FUNCTION_ACTIVE_CHECK的断点处查看l_funname的值就是增强的名字,可以在表MODSAP里找到其对应的增强(SMOD中的)。或者是在断点CALL CUSTOMER-FUNCTION处,按照规则“EXIT_主程序名_当前断点处的三位数字”组成的函数名字,也和上面一样,可以在表MODSAP中查找到。 图-13-5 查找用户增强Enhanments?

文档评论(0)

金不换 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档