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