表单和执行中的参数数量不同 [英] Different number of parameters in FORM and PERFORM
本文介绍了表单和执行中的参数数量不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望避免在函数中复制+粘贴,并希望创建子例程。
但此操作失败。
下面是函数(我去掉了不重要的部分):
FUNCTION /foo/bar .
*"----------------------------------------------------------------------
*" IMPORTING
*" VALUE(IV_STATIC_PARAMETER_LIST) TYPE WDY_KEY_VALUE_LIST
*"----------------------------------------------------------------------
data selection_table TYPE TABLE OF RSPARAMS.
PERFORM GET_REPORT_READ_PARAMETER
USING IV_DYNAMIC_PARAMETER_LIST
CHANGING selection_table.
我收到此错误消息:
表格和执行中的参数数量不同(例程: GET_REPORT_READ_PARAMETER,形参个数:4,个数 实际参数:2)
子例程如下所示:
FORM GET_REPORT_READ_PARAMETER
USING parameter_list TYPE WDY_KEY_VALUE_LIST
CHANGING sel_table TYPE TABLE OF RSPARAMS.
....
ENDFORM
知道为什么ABAP认为有4个参数而不是2个参数吗?
推荐答案
错误在此行:
CHANGING sel_table TYPE TABLE OF RSPARAMS
通过键入参数,上述语法无效,"OF
"和"RSPARAMS
"被解释为单独的CHANGING
参数。
您必须直接使用表格类型输入参数(就像您对USING
参数所做的那样)。在这种情况下,它可以是:
CHANGING sel_table TYPE RSPARAMS_TT.
RSPARAMS_TT是RSPARAMS的表类型(您可以签入SE11)
这篇关于表单和执行中的参数数量不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文