0

通常、次のようにテーブル フィールドをデータ型として宣言します。

データ キー タイプ vbak-vbeln。

ただし、次のように宣言で動的にフィールド名を付けたいと思います。

DATA キー TYPE vbak- fieldname .

どうすればこれを達成できますか?

4

2 に答える 2

1

タイプ any のフィールド シンボルを使用すると、これを非常に簡単に行うことができます。

次に、次のように簡単です。

DATA: lt_line type vbak.
Field-Symbols: <dat> type any.

Assign component (fieldname) of Structure lt_line to <dat>.

あなたがやろうとしていることについてより多くの情報を提供していただければ、おそらく私はより良い代替案を提供することができます.

于 2013-03-11T17:44:04.963 に答える
1

私の場合、テーブル名とフィールド名の両方が不明です。これが私の最終的な解決策です。

DATA: T_REF TYPE REF TO DATA,
      TAB(20) TYPE c VALUE 'VBAP',
      TAB_COMP(20) TYPE c VALUE 'WERKS'.

FIELD-SYMBOLS: <T> TYPE ANY,
               <COMP> TYPE ANY.

CREATE DATA T_REF TYPE (TAB).
ASSIGN T_REF->* TO <T>.
ASSIGN COMPONENT TAB_COMP OF STRUCTURE <T> TO <COMP>.

SELECT WERKS FROM VBAP INTO <COMP> UP TO 5 ROWS.
    WRITE: / <COMP>.
ENDSELECT.
于 2013-03-12T05:53:04.590 に答える