1.MODIF ID
你可以理解为把一组parameters分成一组,或者统一加一个标识,用来实现隐藏/显示等功能,下面有个例子,你用SE38复制上去一用就知道了。
2.USER-COMMAND
如果复选框与单选按钮没有设置Function Code,则它们就会像普通的输入框一样,即使状态发生了改变,也不会触发PAI事件
对话屏幕中的按钮、复选框、单选按钮、下拉框的Function Code都是通过屏幕元素attributes来设置的;选择屏幕中的FunCode则通过USER-COMMAND选项来设置
SELECTION-SCREEN:PUSHBUTTON 2(12) but1 USER-COMMAND cli1.
TABLES : T001.
TYPES : t_bukrs TYPE T001-bukrs.
DATA : d_bukrs TYPE t_bukrs.
SELECT-OPTIONS : P_FROM FOR sy-datum.
SELECT-OPTIONS : p_burks FOR T001-bukrs OBLIGATORY,
p_burks1 FOR d_bukrs NO-EXTENSION,
p_burks2 FOR d_bukrs NO INTERVALS,
p_burks3 FOR d_bukrs NO-EXTENSION NO INTERVALS,
p_burks4 FOR d_bukrs MEMORY ID pid.
PARAMETERS : show_all AS CHECKBOX DEFAULT 'X'.
PARAMETERS : show_one RADIOBUTTON GROUP rd USER-COMMAND flag DEFAULT 'X',
show_two RADIOBUTTON GROUP rd.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p3 TYPE c LENGTH 10 MODIF ID bl2,
p4 TYPE c LENGTH 10 MODIF ID bl2.
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
AT SELECTION-SCREEN OUTPUT .
p_burks4-low = '0001'.
p_burks4-high = '0002'.
APPEND p_burks4.
BREAK-POINT.
LOOP AT SCREEN.
IF show_two = 'X' AND screen-group1 = 'BL2'.
screen-active = '1'.
MODIFY SCREEN.
ELSEIF screen-group1 = 'BL2'.
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
http://www.myexception.cn/sap/1838695.html
http://blog.csdn.net/szlaptop/article/details/8488202
http://blog.sina.com.cn/s/blog_6f2e4ca6010194qp.html