0

テーブルKNVVをカスタマイズしました。append 構造には、すべてのカスタム フィールドを実際に定義した構造が含まれています。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 に答える