点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,我是abap的新手,学习巴迪增强功能
REPORT ZABAP_ENHANCEMENT。 数据:w_badi类型REF TO ZABAP_BADI_ENHANCEMENT。 "" BADi定义 选择开始。 GET BADI w_badi。 呼叫BADI w_badi-> cal_perc。 ENHANCEMENT-POINT ZTEST_ENHANCEMENT SPOTS ZABAP_ENHANCEMENT_IMPL。
我实际上是从我的badi源代码中调用另一种方法
当我将导入更改为BADI源代码中的更改时,它提示我以下错误:
正式参数" EV_PERCENTAGE"是EXPORTING参数,而不是CHANGING参数。
方法参数:CAL_PERC IV_ACT导入类型I IV_MAX导入类型I EV_PERCENTAGE更改类型P
但是,当我尝试更改"更改为导出"时,它会提示另一个错误:
多用途BAdI" ZABAP_BADI_ENHANCEMENT"的BAdI接口" ZABAP_BADI_INTERFACE"的方法" CAL_PERC"必须仅包含IMPORTING和CHANGING参数。
>>"没有将值传递给强制参数" IV_ACT",不确定为什么
您没有将值传递给badi方法(!)。您必须像这样传递它们 例如:
您的致电BADI错过了您正在谈论的参数...
标记为"按值传递"的ive, 问题仍然存在
在程序中还定义了五个参数
我不是在说CAL_PERC的参数。
我正在谈论:"您的通话BADI错过了您正在谈论的参数..."
AS
由于您是ABAP的新手,请不要立即混合使用BADIS和ENHANCEMENTS。 一次做一个概念并掌握它。
然后,只有那时,您才能考虑用例,无论出于何种原因,都可能希望将它们混合在一起。
这两个概念并不直接相关。 它们都有自己的用例,这并不妨碍您混合使用它们。 但是在学习阶段,请不要混合使用。 首先一次掌握一个。 请!
尤其不要在一个问题中混用SAP社区中的几个独立问题。 这不会使您更接近快速且良好的答案,也不会帮助社区。 从长远来看,您甚至可能因交叉发布或不专业行为而被举报。 如果您已经做过,请考虑(重新)阅读并接受有关SAP社区的"问与答问题"的教程 '。
一周热门 更多>