type のパラメータのハードコーディングされた値を確認したい選択画面バリアントを含むプログラムのリストがありますBUKRS
。
汎用モジュールRS_VARIANT_CONTENTS
は、特定のバリアントとプログラムに対して、そのバリアントに入力された値のリストを返すという点で、ほぼすべてのジョブを実行します。
残念ながら、これらのパラメーターの型は返されず、値のみが返されます。したがって、追加のチェック、つまり画面で定義されたパラメーターのタイプが必要であると考えます。
現在のプログラムでは、キーワードが画面フィールドとデータ オブジェクトの両方を定義していることに気付きPARAMETERS
ました。いずれかのタイプが非常に役立ちます (明らかに同じです)。これはもちろん、PARAMETERS
データ オブジェクトが定義されていて、SELECT-OPTIONS
.
また、選択画面で定義されているように、画面フィールドを提供する汎用モジュールに出くわしDYNPRO_FIELD_GET
ましたが、タイプについては何の助けもありません....そうです、どんな助けでも大歓迎です。
私が望んでいたものを正確に提供することを約束した FuBa という名前の呼び出しさえ見つけましたGET_DICTIONARY_FIELDS
: プログラム内のすべての変数のリストRS_VARIANT_CONTENTS
。システム、非アクティブです。
[編集]
RS_SELSCREEN_INFO
は、プログラムでそれぞれのステートメントで定義されているデータ オブジェクトの型を返すことに注意してください。例:
DATA gv_asdfg TYPE mara-matnr.
戻りますMARA-MATNR
。もちろん、テーブル フィールドの名前はデータ要素の名前を示すものではないため、次のようになります。
これらのタイプのドメインを取得するにはCL_ABAP_DATADESCR=>DESCRIBE_BY_NAME( )
、 で指定されたタイプを使用して提供できますRS_SELSCREEN_INFO
。結果のオブジェクトについて、探すべきプロパティは です->ABSOLUTE_NAME
。私の場合、条件は...->ABSOLUTE_NAME = '\TYPE=BUKRS'.