根据结构将字段从表移动到本地表

时间:2014-10-29 08:44:18

标签: sap dynamic-programming abap

我定制了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的新手。我考虑循环和字段符号,但不能正确。你会如何解决它?

1 个答案:

答案 0 :(得分:3)

您可以尝试使用named 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

类型的结构来处理所有字段