更改单选按钮时隐藏必需参数

时间:2012-12-07 15:48:07

标签: sap abap

我有一些radiobuttons,当我在它们之间切换时,一些块出现/消失。 但是,如果我将参数设置为强制性或要求,则除非我填写它们,否则它们不会隐藏。我想制作所需的参数,但是当我更改radiobutton选项时我需要隐藏它们。

2 个答案:

答案 0 :(得分:4)

我猜这是一个选择屏幕......

  • 然后在屏幕上循环并检查“YOUR_RADIO_BUTTON”
  • 的值
  • 启用或禁用块

    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.