-1

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

  • 在 SE11 中,我创建了一个包含所有必填字段的结构ZCOLLECTSTRUCT
  • 同样在 SE11 中,我创建了一个ZCOLLECTTYPE引用此结构的新表类型
  • 在我输入的导入参数的功能模块中TYPE 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

4

2 回答 2

1

导入参数就像变量一样。你可以做

itabImport = import_batch.

或者完全避免使用 itabImport

LOOP AT import_batch INTO wa_itabImport.

请注意,您的工作区需要输入结构类型,而不是表格类型:

DATA: wa_itabImport TYPE ZCOLLECTSTRUCT.
DATA: wa_itabExport TYPE ZCOLLECTSTRUCT.
于 2019-11-26T06:39:23.463 回答
0

在你的功能模块中使用

LOOP AT import_batch INTO DATA(wa_itab).

并且不用担心打字。

于 2019-11-29T20:55:19.413 回答