[英]Disable a parameter input at selection screen
I have screen filter at selection screen like this我在选择屏幕上有这样的屏幕过滤器
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.
and I want to disable just s_werks
parameter but SELECT-OPTIONS
.我只想禁用
s_werks
参数,但禁用SELECT-OPTIONS
。
I want to disable it because it'll be exact value which is filled from table depends on the sy-uname
:)我想禁用它,因为它将是从表中填充的精确值取决于
sy-uname
:)
How to achieve that?如何做到这一点?
You can use the OUTPUT
selection screen event for this.您可以为此使用
OUTPUT
选择屏幕事件。 Add the following code:添加以下代码:
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'S_WERKS'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Changing the input
value to 0
for this screen element will disable input and makes the input field appear as grayed out.将此屏幕元素的
input
值更改为0
将禁用输入并使输入字段显示为灰色。
You may define the parameter non-vivible with no-display
.您可以使用
no-display
定义参数 non-vivible 。
parameters:
s_visib like resb-werks default 'X',
s_werks like resb-werks default 'X' no-display.
René's solution is usefull, when you want to define the visibility dynamic.当您想定义可见性动态时,René 的解决方案很有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.