私は仕事にこれを取得することができる唯一の方法は、機能 'DDIF_FIELDINFO_GET' です。 辞書構造構造体、テーブル、または型の名前を受け取り、フィールドのデータ要素、説明、長さなど、フィールドのリストとそれらに関する有用な詳細情報を返します。ここでは基本的な例である:
DATA: lt_fields_info TYPE dfies_tab.
CALL FUNCTION 'DDIF_FIELDINFO_GET'
EXPORTING
tabname = 'MARA'
TABLES
dfies_tab = lt_fields_info[]
EXCEPTIONS
not_found = 1
internal_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
* Handle errors.
ENDIF.
LOOP AT lt_fields_info[] INTO ls_field_info.
" Dynamically printing the fields' details:
WRITE:/'Field name: ',
ls_field_info-fieldname,
'Field data element: ',
ls_field_info-rollname,
'Field description: ',
ls_field_info-fieldtext.
ENDLOOP.
Leelaprasad Kolapalliは(申し訳ありませんが、私は私のコメントでユーザー名をタグ付けする方法を見つけることができません)関数「DD_GET_FIELD_INFO」を使用して提案しました。残念ながら、DDICテーブルでは明らかな理由がないため、DDICテーブルでは機能しませんでした。これは私に類似の機能のためにGoogleを検索するように促し、より良いものを見つけました。 悲しいことに、クラスまたはインクルードで定義されているように、両方の関数がローカル(内部)構造では機能しないため、フィールドの詳細を取得する方法がわかりません。
CL_ABAP______DESCR
クラス/メソッドは、変換エラーを引き起こしたか、フィールドの名前を全く教えてくれなかったため、動作しませんでした。彼らは私にフィールドの価値と基本的なタイプを教えてくれました。これはOPと私が得ようとしているものではありません。
ASSIGN COMPONENT
であり、その変形もいずれも有用ではない。私はフィールドの名前を知らないので、ASSIGN COMPONENT 'MANDT' OF STRUCTURE ...
をやり遂げることはできません!職場の私の具体的なケースでは、構造体のフィールドの位置(インデックス)を使用しています。コマンドはASSIGN COMPONENT sy-index OF STRUCTURE ...
です。
私はウェブを調査し、誤解を招くほどの回答をたくさん載せた10の異なる投稿と、実際に質問を読んでいないか、理解していない人を見つけました。上記の機能。私にとって有用だったのは誰にとっても有益だと思います。
詳細を教えてください – Subham
私がリンクしたドキュメントを読んで試してみてください。問題が発生した場合は、特定の質問に戻ってください。あなたは達成しようとしていることについて言及していない、私はあなたの時間を浪費するつもりはない。 – vwegert
不明瞭な点についてお詫び申し上げます。私は構造体からフィールド名を取り出し、同じものを表示したいと思います。私がここで間違っていること –
Subham