sap增强进阶(三)- Customer Exits_第1页
sap增强进阶(三)- Customer Exits_第2页
sap增强进阶(三)- Customer Exits_第3页
sap增强进阶(三)- Customer Exits_第4页
sap增强进阶(三)- Customer Exits_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、三、 Enhancements Using Customer Exits 1. 实现方法 要实现一个增强,前提是你找准了这个增强。现假设你已找到物料凭证更新时的增强MB_CF001,可以通过以下步骤来实现这个增强。 使用事务代码CMOD创建一个增强项目  图-6-1 增强项目 点击创建,然后点击工具条上的“Enhancement assignments”功能键,将增强MB_CF001添加到项目中去 图-6-2 增强项目组件 再点击工具条上的“组件”功能键,里面将显示函数接口,逐层双击进去,知道进到最后一个Z开头的I

2、NCLUDE程序,这时就可以在这里写代码来实现客户的特定需求了,保存后一定要注意激活组件和项目,增强方可生效。为了养成良好的习惯,推荐自己新建一个函数或者INCLUDE程序,以避免用户出口的频繁修改。 屏幕增强操作方法类似,增强的屏幕编号都是预先定义好的,双击进去创建即可。通常我们增强一个标准程序的屏幕,比如ME21N的抬头增强,我们首先会增强采购订单抬头表EKKO,这时就需要修改结构CI_EKKODB,CI_EKKODBX,增加客户字段。然后在将相关字段绘制在增强的屏幕上,激活后对相应的PAI、PBO做增强以实现数据的传入传出即可。 图-7 屏幕增强 当然,你也

3、可以在增强函数组中创建自己独立的屏幕,然后通过预先提供的一些增强方法实现自定义屏幕与标准程序之间数据的传入与传出。 图-9 表格增强 图-10 屏幕增强后效果 2. 查找方法 首先要说明的是这种增强在ABAP中目前发现有两种存在形式,一种为CALL FUNCTION EXIT_主程序_XXX,另一种为CALL CUSTOMER-FUNCTION XXX。 图-11 用户增强1 图-12 用户增强2 第一种方式执行之前,ABAP会调用以下一个函数MODX_FUNCTION_ACTIVE_CHECK / MODX_MENUENT

4、RY_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处,按照规则“EXI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论