BADI增强点问题

2020-08-21 01:54发布

         点击此处--->   EasySAP.com群内免费提供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参数。

         点击此处--->   EasySAP.com群内免费提供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参数。

付费偷看设置
发送
5条回答
蓋茨
1楼 · 2020-08-21 02:49.采纳回答

>>"没有将值传递给强制参数" IV_ACT",不确定为什么

您没有将值传递给badi方法(!)。您必须像这样传递它们 例如:

呼叫BADI w_badi-> cal_perc导出iv_act = iv_act
                                      iv_max = iv_max
                      更改ev_percentage = ev_percentage。
落灬小鱼
2楼-- · 2020-08-21 02:32

您的致电BADI错过了您正在谈论的参数...

南山jay
3楼-- · 2020-08-21 02:41

标记为"按值传递"的ive, 问题仍然存在

在程序中还

定义了五个参数

愤怒的猪头君
4楼-- · 2020-08-21 02:41

我不是在说CAL_PERC的参数。

我正在谈论:"您的通话BADI错过了您正在谈论的参数..."

95年老男孩
5楼-- · 2020-08-21 02:45

AS

由于您是ABAP的新手,请不要立即混合使用BADIS和ENHANCEMENTS。 一次做一个概念并掌握它。

然后,只有那时,您才能考虑用例,无论出于何种原因,都可能希望将它们混合在一起。

这两个概念并不直接相关。 它们都有自己的用例,这并不妨碍您混合使用它们。 但是在学习阶段,请不要混合使用。 首先一次掌握一个。 请!

尤其不要在一个问题中混用SAP社区中的几个独立问题。 这不会使您更接近快速且良好的答案,也不会帮助社区。 从长远来看,您甚至可能因交叉发布或不专业行为而被举报。 如果您已经做过,请考虑(重新)阅读并接受有关SAP社区的"问与答问题"的教程 '

一周热门 更多>