顾问要求在,选择屏幕单据查询时显示成圈线和生产线选择框,在明细查询时隐藏,听需求是一个很简单的选择屏幕隐藏的功能,实现代码如下
PARAMETERS:p_dj RADIOBUTTON GROUP cx DEFAULT 'X', "单据查询 p_mx RADIOBUTTON GROUP cx . "明细查询 PARAMETERS:p_cqx AS CHECKBOX MODIF ID M1, "成圈线 p_scx AS CHECKBOX MODIF ID M1 . "生产线 AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN . IF SCREEN-GROUP1 = 'M1'. IF P_DJ = ABAP_ON. SCREEN-ACTIVE = '1'. ELSE. SCREEN-ACTIVE = '0'. ENDIF. ENDIF. MODIFY SCREEN. ENDLOOP.
如此便实现了效果,但是在 PARAMETERS为 p_dj 时,忘记了写了USER-COMMAND ,导致只能按回车才能触发,研究了小半天才发现这个问题,因此记录下
正确的代码如下:
PARAMETERS:p_dj RADIOBUTTON GROUP cx USER-COMMAND cx1 DEFAULT 'X', "单据查询 p_mx RADIOBUTTON GROUP cx . "明细查询 PARAMETERS:p_cqx AS CHECKBOX MODIF ID M1, "成圈线 p_scx AS CHECKBOX MODIF ID M1 . "生产线 AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN . IF SCREEN-GROUP1 = 'M1'. IF P_DJ = ABAP_ON. SCREEN-ACTIVE = '1'. ELSE. SCREEN-ACTIVE = '0'. ENDIF. ENDIF. MODIFY SCREEN. ENDLOOP.