我有一些radiobuttons,当我在它们之间切换时,一些块出现/消失。 但是,如果我将参数设置为强制性或要求,则除非我填写它们,否则它们不会隐藏。我想制作所需的参数,但是当我更改radiobutton选项时我需要隐藏它们。
答案 0 :(得分:4)
我猜这是一个选择屏幕......
启用或禁用块
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
* Radio button parameter = P_RADIO
* hide the parameter named "to_hide"
IF P_RADIO EQ 'X' AND SCREEN-NAME CS 'TO_HIDE'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
* display the parameter named "to_hide"
IF P_RADIO <> 'X' AND SCREEN-NAME CS 'TO_HIDE'.
SCREEN-INPUT = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
答案 1 :(得分:2)
如果您使用PARAMETERS ... OBLIGATORY
,这是一个无条件声明 - 无论其他设置如何,都需要此参数。如果您需要进行条件检查,则必须自行编码:
PARAMETERS p_chkbuk AS CHECKBOX.
PARAMETERS p_bukrs TYPE bukrs.
AT SELECTION-SCREEN ON p_bukrs.
IF p_chkbuk = abap_true AND p_bukrs IS INITIAL.
MESSAGE 'You need to enter something.' TYPE 'I' DISPLAY LIKE 'E'.
ENDIF.