1

テーブル エントリからパラメータを動的に作成することは可能ですか?

たとえば、次のようにします。

SELECTION-SCREEN BEGIN OF BLOCK example WITH TITLE text-01
    LOOP AT example_internal_table INTO example_workarea
        IF example_workarea-field = criteria.
            PARAMETERS: (example_workareafield) AS CHECKBOX.
        ENDIF.
     ENDLOOP.
SELECTION-SCREEN END OF BLOCK example.

上記のコード スニペットは、example-workarea-field が定数ではないというエラーをスローします。これは、パラメーターを動的に宣言することができないということですか、それとも単に間違っているのでしょうか? ありがとう

4

2 に答える 2

2

正しい。PARAMETERSステートメントは、実行時ではなく、コンパイル時に選択画面にコンパイルされます。したがって、あなたが提案した方法であなたが望むことをすることはできません。

ただし、何らかの動的画面を表示することは可能です。

この質問に対する答えを見てください:通常の ABAP 画面の I/O フィールドについて、それらを SELECT-OPTIONS のように動作させることはできますか?

これにより、2 つの開始点が得られます。動的に呼び出すことができる従属画面の使用、またはFREE_SELECTIONS_INIT例としての の使用です。

于 2013-03-01T07:13:59.997 に答える
1

これについてどれだけ夢中になっているかに応じて、http: //help.sap.com/abapdocu_702/en/abenabap_language_dynamic.htmで調査することもできます。

DYNPRO をロードし、画面を動的に変更し、アクティブ化してから、変更された画面を呼び出すレポートを実行できます。

もちろん、これは PARAMETERS を使用するのとは異なるアプローチであり、これらのステートメントは内部使用のためのものであるため、実際の製品コードではなく、ペット プロジェクトにのみ使用する必要があります。これは、SE16 がテーブルの選択画面を生成するときに使用するアプローチだと思います。

于 2013-03-01T22:33:18.457 に答える