abap - 在选择屏幕上禁用参数输入

yuk*_*kou 4 abap screen selection

我在这样的选择屏幕上有屏幕过滤器

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.
Run Code Online (Sandbox Code Playgroud)

我想禁用textbox/parameters(s_werks)但不禁用select-option的参数.

我想禁用它,因为它将是从表中填充的确切值取决于sy-uname :)

我怎么处理它?

Ren*_*ené 12

您可以使用OUTPUT选择屏幕事件.添加以下代码:

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-name = 'S_WERKS'.
      screen-input = 0.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
Run Code Online (Sandbox Code Playgroud)

更改此屏幕元素的input0将禁用输入并使输入字段显示为灰色.