Abap 更改单选按钮时隐藏强制参数

Abap 更改单选按钮时隐藏强制参数,abap,sap-selection-screens,Abap,Sap Selection Screens,我有一些单选按钮,当我在它们之间切换时,一些块会出现/消失 但是,如果我将参数设置为必需的或必需的,除非我填充它们,否则它们不会隐藏。我想设置所需的参数,但更改radiobutton选项时需要隐藏这些参数。我想这是一个选择屏幕 然后在屏幕上循环并检查“your_单选按钮”的值 启用或禁用块 AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. * Radio button parameter = P_RADIO * hide the paramete

我有一些单选按钮,当我在它们之间切换时,一些块会出现/消失


但是,如果我将参数设置为必需的或必需的,除非我填充它们,否则它们不会隐藏。我想设置所需的参数,但更改radiobutton选项时需要隐藏这些参数。

我想这是一个选择屏幕

  • 然后在屏幕上循环并检查“your_单选按钮”的值
  • 启用或禁用块

    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.
    
    选择屏幕输出时的
    。
    在屏幕上循环。
    *单选按钮参数=P_单选按钮
    *隐藏名为“to_hide”的参数
    如果P_无线电均衡器'X'和屏幕名称CS'隐藏'。
    屏幕输入=0。
    修改屏幕。
    恩迪夫。
    *显示名为“to_hide”的参数
    如果P_收音机“X”和屏幕名称CS“隐藏”。
    屏幕输入=1。
    修改屏幕。
    恩迪夫。
    结束循环。
    

如果使用
参数。。。强制性
,这是一条无条件语句-无论其他设置如何,此参数都是必需的。如果需要条件检查,您必须自己编写代码:

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.

请指定您所说的是选择屏幕还是常规屏幕。对不起,它在选择屏幕中。我理解您的意思,但如果块中的参数是必需的,您不能隐藏块,因为您需要填充必需的参数。指定的解决方案不起作用,因为除非已填充参数,否则选择屏幕输出处的事件不会激发。Hmm。好啊它工作了,但程序结束了。我找到了一条路。我可以简单地输入信息“您需要输入一些东西。”输入“I”显示为“E”。