需求:
BW处理链中,根据日期字段删除ADSO近两个月数据
步骤:
创建变式
创建程序
创建程序变式(程序变式为模型技术名称,PC_CHAIN的值为模型技术名称)
一个变式对应一个程序变式,不能共用,程序可共用
程序代码如下:
REPORT ZBW_DELETE_DSO_2M.
PARAMETERS PC_CHAIN TYPE RSPC_CHAIN . "变量:处理链名称
DATA:PC_ADSO TYPE RSDDATATARGET.
DATA:LT_SEL TYPE RSDRD_THX_SEL.
DATA:H_SEL TYPE RSDRD_SX_SEL.
DATA:LT_RG TYPE RSDRD_T_RANGE.
DATA:H_RG TYPE RSDRD_S_RANGE.
DATA:LT_MSG TYPE RS_T_MSG.
DATA:H_DATE TYPE RRRANGE.
data:ls_MONTH(6).
DATA:LS_DATE_F LIKE SY-DATUM,
LS_DATE_T LIKE SY-DATUM.
LS_DATE_F = SY-DATUM .
CONCATENATE LS_DATE_F+0(6) '01' INTO LS_DATE_F."取月初
LS_DATE_F = LS_DATE_F - 1.
LS_DATE_T = SY-DATUM .
PC_ADSO = PC_CHAIN.
"填充选择条件期间
CLEAR:H_SEL,LT_RG[].
H_SEL-IOBJNM = 'GJAHR'.
H_RG-KEYFL = 'X'.
H_RG-SIGN = 'I'.
H_RG-OPTION = 'BT'.
H_RG-LOW = LS_DATE_F+0(4).
H_RG-HIGH = LS_DATE_T+0(4).
H_RG-KEYFL = 'X'.
APPEND H_RG TO LT_RG.
H_SEL-T_RANGE = LT_RG.
INSERT H_SEL INTO TABLE LT_SEL.
"填充选择条件期间
CLEAR:H_SEL,LT_RG[].
H_SEL-IOBJNM = 'MONAT'.
H_RG-KEYFL = 'X'.
H_RG-SIGN = 'I'.
H_RG-OPTION = 'BT'.
H_RG-LOW = LS_DATE_F+4(2).
H_RG-HIGH = LS_DATE_T+4(2).
H_RG-KEYFL = 'X'.
APPEND H_RG TO LT_RG.
H_SEL-T_RANGE = LT_RG.
INSERT H_SEL INTO TABLE LT_SEL.
CALL FUNCTION 'RSDRD_SEL_DELETION'
EXPORTING
I_DATATARGET = PC_ADSO "变式中的ADSO
I_THX_SEL = LT_SEL
I_AUTHORITY_CHECK = 'X'
I_THRESHOLD = '1.0000E-01'
I_MODE = 'C'
I_NO_LOGGING = ''
I_PARALLEL_DEGREE = 1
I_NO_COMMIT = ''
I_WORK_ON_PARTITIONS = ''
I_REBUILD_BIA = ''
I_WRITE_APPLICATION_LOG = 'X'
CHANGING
C_T_MSG = LT_MSG.