先说实现效果吧。运行开始时:
点击P1后:
看代码要注意,p2按钮是对应p_werks的!!!!!!
代码:
REPORT ZLEARNING3.
PARAMETERS: p1 TYPE c RADIOBUTTON GROUP g1 USER-COMMAND uc,
p2 TYPE c RADIOBUTTON GROUP g1 DEFAULT 'X'.
PARAMETERS: p_werks TYPE werks MODIF ID ty1,
p_matnr TYPE matnr MODIF ID ty2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE screen-group1.
"这里很奇怪,小写的ty就不行。
WHEN 'TY1'.
* IF p1 IS INITIAL. "等同 P1= 'X'
IF p1 = 'X'.
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
WHEN 'TY2'.
* IF p2 IS INITIAL.
IF p2 = 'X' .
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
<span class="L0S52">AT </span><span class="L0S52">SELECTION-SCREEN</span><span class="L0S55">.</span>
<span class="L0S52">CLEAR </span>sy<span class="L0S70">-</span>ucomm<span class="L0S55">.</span>
首先循环遍历屏幕的组件,screen-group1 = TY1时,就是遍历到了单选框p_werks的时候,如果p1被选择了,那单选框p_werks就应该隐藏,否则显示。这里的screen-active作用的对象就是遍历到的这个组件。