0

我定制了 KNVV 表。附加结构包括一个结构,我在其中实际定义了所有自定义字段。让我们称之为 zz_knvv_app_s。

用于获取和设置自定义字段的函数池有一个名为 ZSD_FOO_GET_DATA 的函数。它正在导出结构 es_knvv TYPE knvv。

我目前的解决方案有效,但有点愚蠢:

FUNCTION ZSD_FOO_GET_DATA.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  EXPORTING
*"     REFERENCE(ES_KNVV) TYPE  KNVV
*"----------------------------------------------------------------------
  es_knvv-zzfoo = knvv-zzfoo.
  es_knvv-zzbar = knvv-zzbar.
  es_knvv-zzbaz = knvv-zzbaz.
 " there are actually many more fields...
ENDFUNCTION.

我正在寻找的是这样的:

  • 循环通过 KNVV
  • 分配在我的字典结构 zz_knvv_aps_s 中定义的自定义字段...
  • ... 从 KNVV 到 ES_KNVV
  • ZSD_FOO_GET_DATA 也需要类似的东西

我对ABAP有点陌生。我考虑循环和字段符号,但不能正确。你会怎么解决?

4

1 回答 1

3

您可以尝试使用命名的 include

  • 创建一个结构 - 比方说ZZ_MY_KNVV_FIELDS
  • KNVV 具有附加结构ZZ_KNVV_APP_S
  • ZZ_KNVV_APP_S有一个.INCLUDE ZZ_MY_KNVV_FIELDS带有组名的条目ZZ_MY_FIELDS
  • 对于任何其他输出结构都相同

然后,您可以使用KNVV-ZZ_MY_FIELDS类型结构来处理所有字段ZZ_MY_KNVV_FIELDS

于 2014-10-29T09:02:31.990 回答