1、选择屏幕初始化值:(ZFIR_DP_GP_001_JOB)
关键词: INITIALIZATION.
GET PARAMETER ID 'BUK' FIELD p_bukrs.
s_blart-option = 'EQ'.
s_blart-sign = 'I'.
s_blart-low = 'KR'.
APPEND s_blart.
s_blart-low = 'RE'.
APPEND s_blart.
CLEAR s_blart.
*Set Default value for PostingDate
s_budat-option = 'BT'.
s_budat-sign = 'I'.
s_budat-low = '20080101'.
s_budat-high = sy-datum.
APPEND s_budat.
CLEAR s_budat.
2、选择屏幕输入后的变化:(ZFIR_AP_CR304_001)
程序是这样的:
SELECT-OPTIONS: S_BUKRS1 FOR ZTBILLSERVICE-BUKRS NO INTERVALS MODIF ID M4.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE SCREEN-GROUP1.
WHEN 'M4'.
IF 'SG01' IN S_BUKRS AND S_BUKRS[] IS NOT INITIAL.
MOVE '1' TO SCREEN-ACTIVE.
ELSE.
MOVE '0' TO SCREEN-ACTIVE.
ENDIF.
WHEN OTHERS.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
还有一段:(暂时木有发现这段程序有啥功能)
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_BUKRS1-LOW.
PERFORM FRM_GET_HELP.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'BUKRS'
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'S_BUKRS1-LOW'
* WINDOW_TITLE =
VALUE_ORG = 'S'
* IMPORTING
* USER_RESET = LV_RESET
TABLES
VALUE_TAB = IT_BUKRS
* RETURN_TAB =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
ENDIF.