2

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'.

4

2 に答える 2

2

汎用モジュールの使用を試みることができますRS_SELSCREEN_INFO。レポート名を指定すると、パラメータのリストが返され、設定されている場合は DDIC 参照情報とともにオプションが選択されます。

于 2013-08-08T16:49:55.520 に答える
0

vwegertの答えは実際には完全なトリックを行いましたが、非常に役立つ2つの機能モジュールも見つけました。

これらはGET_GLOBAL_SYMBOLS です- これはプログラムのグローバル変数を返します。と で定義された変数に対しては機能しDATAますPARAMETERSが、 に対しては機能しませんSELECT-OPTIONS

もう 1 つはGET_COMPONENT_LISTです。これは、で宣言された変数の基本データ型を取得するために使用できますSELECT-OPTIONS

于 2013-08-09T08:17:40.643 に答える