Abap SAP读取功能模块中的结构导入参数

Abap SAP读取功能模块中的结构导入参数,abap,function-module,Abap,Function Module,我是SAP ABAP新手,希望实现以下目标:我有一个自定义的Z函数模块(SE37),它应该有一个表作为导入参数。我想在代码中读取/循环这个表,解析值并将其传递回导出参数(也是[same]表)。 到目前为止我所做的: 在SE11中,我创建了一个包含所有必填字段的结构ZCOLLECTSTRUCT 同样在SE11中,我创建了一个新的表类型ZCOLLECTTYPE,它引用了这个结构 在导入参数的功能模块中,我输入了类型ZCOLLECTTYPE 现在我想循环这个表的条目(将通过RFC调用传递给函数模块

我是SAP ABAP新手,希望实现以下目标:我有一个自定义的Z函数模块(SE37),它应该有一个表作为导入参数。我想在代码中读取/循环这个表,解析值并将其传递回导出参数(也是[same]表)。 到目前为止我所做的:

  • 在SE11中,我创建了一个包含所有必填字段的结构
    ZCOLLECTSTRUCT
  • 同样在SE11中,我创建了一个新的表类型
    ZCOLLECTTYPE
    ,它引用了这个结构
  • 在导入参数的功能模块中,我输入了
    类型ZCOLLECTTYPE
现在我想循环这个表的条目(将通过RFC调用传递给函数模块)。我想我只需要根据表类型声明一个内部表和一个工作区。但差距仍然存在,如何将数据带到内部表中

DATA:  itabImport LIKE ZCOLLECTTYPE.
DATA:  itabExport LIKE ZCOLLECTTYPE.
DATA:  wa_itabImport TYPE ZCOLLECTTYPE.
DATA:  wa_itabExport TYPE ZCOLLECTTYPE.

loop at itabImport into wa_itabImport.
  MOVE-CORRESPONDING itabImport TO itabExport.
  APPEND wa_itabExport.
endloop.
欣赏任何见解

编辑: 我不知道如何从导入参数表到内部表中获取数据(值)。 从这里开始:


对于我的
itabImport

导入参数就像变量一样。你能行

itabImport = import_batch.
或者完全避免使用itabImport

LOOP AT import_batch INTO wa_itabImport.
请注意,您的工作区域需要使用结构类型,而不是表格类型:

DATA: wa_itabImport TYPE ZCOLLECTSTRUCT.
DATA: wa_itabExport TYPE ZCOLLECTSTRUCT.

在您的功能模块中使用类似的功能

LOOP AT import_batch INTO DATA(wa_itab).

不要费心打字。

你能解释一下你现在得到了什么,你期望得到什么,你不理解什么吗?请提供一个最小的可复制示例(参见StackOverflow帮助)。目前,功能模块的上下文是多余的,您的问题只是内部表之间的纯ABAP传输。是的,在上面的代码中,缺少从导入参数表获取数据的部分(将由用户在RFC调用时分别填写)到内部表。在上面添加了更多信息。一个参数将像变量一样处理:
导入时循环…
这是您感兴趣的答案吗?是的,谢谢。不幸的是,如果使用LOOP语句,会出现以下错误:
WA_ITABIMPORT无法转换为“IMPORT_BATCH”的行类型。也不可能反转。
。而且:
WA_ITABIMPORT是一个没有标题行的表,因此没有组件NODEREF。
如果我想访问循环中工作区的字段。在我的回答中包含注释。您的类型定义是错误的。使用
ZCOLLECTSTRUCT
键入
wa_
s,而不是
ZCOLLECTTYPE