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
.
I want to disable it because it'll be exact value which is filled from table depends on the sy-uname
:)
How to achieve that?
screen-input = 0. MODIFY SCREEN. ENDIF. ENDLOOP.
parameters : R1 radiobutton group g1 default 'X' user-command AA. select-options : s_bukrs for skb1-bukrs MODIF ID AA. parameters : p_GJAHR type bseg-GJAHR MODIF ID AA. parameters : p_MONAT type bkpf-MONAT MODIF ID AA.
Changing the input value to 0 for this screen element will disable input and makes the input field appear as grayed out.
You can use the addition 'OBLIGATORY' to make a selection screen field mandatory while declaring the same. Eg. PARAMETERS: p_carr TYPE spfli-carrid OBLIGATORY. SELECT-OPTIONS : s_carr for spfli-carrid OBLIGATORY.
You can use the OUTPUT
selection screen event for this.
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.
You may define the parameter non-vivible with no-display
.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With