5

私はこのような選択画面でスクリーンフィルターを持っています

SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME.
PARAMETERS s_werks like resb-werks DEFAULT 'X' .

SELECT-OPTIONS: s_aufnr FOR in_param-aufnr,
                s_matnr FOR in_param-matnr,
                s_bldat FOR in_param-bldat.
SELECTION-SCREEN END OF BLOCK a.

s_werksパラメータだけを無効にしたいのですがSELECT-OPTIONS

に依存するテーブルから入力される正確な値になるため、無効にしたいsy-uname:)

それを達成する方法は?

4

2 に答える 2

12

OUTPUTこれには、選択画面イベントを使用できます。次のコードを追加します。

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-name = 'S_WERKS'.
      screen-input = 0.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

inputこの画面要素の値をに変更する0と、入力が無効になり、入力フィールドがグレー表示されます。

于 2011-11-17T11:47:02.100 に答える
1

パラメータ non-vivible を で定義できますno-display

parameters:
  s_visib like resb-werks default 'X',
  s_werks like resb-werks default 'X' no-display.

ルネのソリューションは、可視性を動的に定義したい場合に役立ちます。

于 2011-11-25T16:06:02.350 に答える