FORM和PERFORM中的参数数量不同

  • 本文关键字:数数 参数 PERFORM FORM abap
  • 更新时间 :
  • 英文 :


我希望在函数中避免复制+粘贴,并希望创建一个子例程。

但这失败了。

以下是功能(我删除了不重要的部分(:

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.

我收到这个错误消息:

FORM和PERFORM中不同数量的参数(例程: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"one_answers"RSPARAMS"被解释为单独的CHANGING参数。您必须使用表类型直接键入参数(就像对USING参数所做的那样(。在这种情况下,它可以是:

CHANGING sel_table TYPE RSPARAMS_TT.

RSPARAMS_TT是RSPARAM的表格类型(您可以在SE11中查看(

相关内容

  • 没有找到相关文章

最新更新