SAP 增强—第二代出口Customer Exit

第二代出口-Customer Exit

       二代出口一般也叫基于函数的出口。T-CODE在运行时会触发一些SAP预留的没有代码的FUNCATION,可以把这些FUNCATION称作为CALL FUNCTION-CUSTOMER。二代增强需要将增强放到PROJECT里面才能使用。

1、查找出口。

A、通过CALL CUSTOMER-FUNCTION来查找出口

查找事务代码的主程序,输入需要增强的事务代码(例如需要对创建SO做增强,则输入VA01),点击“状态”,找到主程序:

     

双击程序名进入程序,搜索“CALL CUSTOMER-FUNCTION”:

   

可以看见CALL CUSTOMER-FUNCTION的很多程序(404、930、911、910等)

而函数名称命名规则:EXIT_<程序名>_<序号>即910实际程序名称为EXIT_SAPMV45A_911.通过双击或SE37下查看函数:

双击INCLUDE开头的函数就可以进入增加代码实现增强:

SE11在表MODSAP中查看函数对应的出口对象

     

通过事务代码SMOD查看出口对象和出口对象下的函数:

   

也可以点击上面图中的“测试执行”查看出口对象下能够使用的函数(绿色表示激活可用,红灯未激活):

需要激活才能使用(参考后文创建PROJECT并激活使用)。

总结:由于出口包含的增强程序名称是ZXX(Z开头,为SAP为用户增强预留程序),则可以修改。但910、911等程序太多,具体我们需要的是哪一个很难确定。下面介绍使用Package来确定出口的方法。

 

B、通过Package开发类来查找出口:

双击SAPMV45A程序名,点击“转到”查看属性下的Package:

     

事务代码SMOD,点击查看开发类(package)下的出口对象及描述:

 

进入可查看到开发类对应的增强名称及描述(根据描述判断是否是我们需要的):

选择我们需要的增强,查看组件:

双击组件,查看组件内的INCLUDE函数,双击INCLUDE可以增加增强代码:

根据INCLUDE函数的IMPORT\TABLE等输入输出参数声明变量,写逻辑程序实现增强:

C、PROJECT创建:

使用事务代码CMOD创建一个项目对象(Project),以便包含出口对象和函数:

 

接着选择“增强分配”进入“修改”添加出口对象,保存点击“组件”可以查看对象下的函数:

 

可以看见函数已经实现,但是还未激活(红色未激活,绿色激活),点击上方激活按钮,函数状态变成“绿色”激活状态。也可以点击“取消激活”:

激活后,回到事务代码VA01测试增强功能。

注意:一个Project可以包含多个出口对象。但一个出口对象组件只能被一个增强项目引用

 

D、使用函数:MODX_FUNCTION_ACTIVE_CHECK查找已经激活的增强函数function

SE37输入上述函数,点击运行:

输入要查找的主程序名:

   

点击查看:

程序命名规则:EXIT_<程序名>_<序号>即003实际程序名称为EXIT_SAPMV45A_003.

注意:该函数可以用于当用户在做某事物代码的业务时发现无法继续做了,很有可能是标准程序做了增强导致的,此刻可以使用该函数来检查已经激活使用的增强。二代增强需要将增强放到PROJECT里面才能使用。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Willie Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值