点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 专家们,我已经签入 ...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 专家们,我已经签入 ...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,我已经签入
http://help.sap.com/saphelp_nw04s/helpdata/en/ee /6f3b42ea85b26be10000000a155106/content.htm
上面的链接说明了经典和新巴迪舞曲之间的区别。
但是有很多困惑。
第1点:
对于经典BAdI,将通过调用工厂方法来创建BAdI对象,并通过BAdI接口类型的引用变量对其进行引用。
对于新的BAdI,将通过ABAP语句GET BADI创建BAdI对象,作为BAdI方法调用的句柄,并通过BAdI类型的引用变量进行引用。
BAdI对象是内部BAdI类的实例,否则该类对外部不可见。
当两个badis都被badi的refrence变量刷新时,有什么意义? 请解释。
`点2:
使用传统的BAdI,筛选器值存储在结构中,并通过BAdI方法的调用传递。
b。 使用新的BAdI,当使用GET BADI语句创建BAdI对象时,便会传递用于搜索实现的过滤器的比较值。
无法将工厂方法的调用一对一迁移到ABAP语句中,因为GET BADI还可以返回现有的BAdI对象,而这对于工厂方法是不可能的。
任何一个人都能用一个简单的例子来解释这个问题。
第3点:
。 经典BAdI只能调用一次,并且呼叫位置可以集中记录。
使用新的BAdI,可以进行多个呼叫,并且呼叫位置不会集中记录。
由于上述原因,无法进行自动呼叫迁移。
按中心注册是什么意思?
请帮助专家...
C
W
消息的编辑者:Suhas Saha
经典BAdI调用:
DATA:bd TYPE REFTOif_intf。
DATA:flt TYPE flt。
CALLMETHODcl_exithandler => get_instance
导出
exit_name = BADI_NAME`
更改
instance = bd。
flt-lang =`D`。
调用方法bd->方法
导出
x = 10
flt_val = flt。
通过代理类重定向呼叫。
新BAdI
p>
数据bd类型refto badi_name。
获取badi bdfilters lang =`D`。
调用badi bd->方法
exportingx = 10 。
选择是在请求句柄时发生的。
直接调用实现(没有代理)会减少耗时
一周热门 更多>