开发基础 报表教程 数据字典 对话编程 表单打印 增强出口 SAP接口 S/4 HANA
实战案例 实战笔记 资料下载 CRM
问答互助 会员分享 俱乐部 广告区
论坛指南、建议和投诉
Twilight发表于 2015-07-03 18:01Twilight 最后回复于 2015-07-03 18:01 [复制链接] 4368 0
使用道具 举报
Twilight
管理员
发表回复 回帖后跳转到最后一页
我们接着上篇来继续讲述:Enhancement Spot中BADI的实现
1、因为BADI多次实施,需要选中Multiple Use;因为实施的Implementation用于不同场景,需要选中Filter Use。
2、在BADI:Y_BADI_CALC_VAT1中再实施一个Implementation:Y_BADI_CALC_VAT_GB
部署Method(Y_CL_CAL_VAT_GB)代码:Y_IF_CALC_VAT~GET_VAT
3、在BADI:Y_BADI_CALC_VAT1中新建定义一个Filter
4、分别在BADI的两个Implemention中设置Filter条件
Y_BADI_CALC_US的Filter条件为country = US,意思是:当country = US时,执行Y_BADI_CALC_US中Method代码
Y_BADI_CALC_GB的Filter条件为country = GB,意思是:当country = GB时,执行Y_BADI_CALC_GB中Method代码
5、SE38修改调用程序的代码:
6、执行程序,测试效果:
当输入条件是US时,执行Y_BADI_CALC_US Implemention输出结果如下:
当输入条件是GB时,执行Y_BADI_CALC_GB Implemention输出结果如下:
我们Debug就可以直观的看到不同条件执行不同Implemention了