1. 创建第一个变量, ZCALDAY_V006, 用于正常输入日期。
2. 创建第二个变量,'ZCAL_V099',选择客户出口,
3. 到SMOD-RSR00001-写代码
DATA: L_S_RANGE TYPE RSR_S_RANGESID.
DATA: L_S_VAR_RANGE TYPE RRRANGEEXIT.
DATA: zDate(6).
CASE I_VNAM.
WHEN 'ZCAL_V099'.
IF I_STEP = 2.
READ TABLE I_T_VAR_RANGE INTO L_S_VAR_RANGE WITH KEY VNAM = 'ZCALDAY_V006'.
IF SY-SUBRC = 0.
CLEAR L_S_RANGE."
ZDATE = L_S_VAR_RANGE-LOW(6)."将前6位付给ZDATE,比如20060103的200601
CONCATENATE zDate '01' into L_S_RANGE-LOW." 将01付给78位,就是用01替换以前的日
L_S_RANGE-HIGH = L_S_VAR_RANGE-LOW. "当前日
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'."
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
ENDIF.
*下面是将输入日期变为月份,出口变量为ZCALMONTH_VTEST
WHEN 'ZCALMONTH_VTEST'.
IF I_STEP = 2.
READ TABLE I_T_VAR_RANGE INTO L_S_VAR_RANGE WITH KEY VNAM = 'ZCALDAY_V006'.
IF SY-SUBRC = 0.
CLEAR L_S_RANGE.
L_S_RANGE-LOW = L_S_VAR_RANGE-LOW(6). "当前月
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'."
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
ENDIF.
ENDCASE.