1. ZAPD_ZIHREZ
DATA: ls_source TYPE y_source_fields,
ls_target TYPE y_target_fields.
LOOP AT it_source INTO ls_source where KYF_0003 > 0 .
MOVE-CORRESPONDING ls_source TO ls_target.
APPEND ls_target TO et_target.
ENDLOOP.
2. ZAR_SYBDS_APD
DATA: ls_source TYPE y_source_fields,
ls_target TYPE y_target_fields,
i_day_in TYPE sy-datum,
i_result TYPE sy-datum.
LOOP AT it_source INTO ls_source.
MOVE-CORRESPONDING ls_source TO ls_target.
CLEAR i_day_in.
SELECT SINGLE ZDATE FROM ZCONF_DAY INTO i_day_in.
IF i_day_in IS NOT INITIAL AND I_DAY_IN NE '99991231'.
ls_target-calmonth = i_day_in+0(6).
ELSE.
i_result = sy-datum.
i_result+6(2) = '01'.
i_result = i_result - 1.
I_DAY_IN = I_RESULT.
ls_target-calmonth = i_result+0(6).
ENDIF.
APPEND ls_target TO et_target.
ENDLOOP.
DELETE from /BIC/AZCFID08500 WHERE CALMONTH = I_DAY_IN+0(6).
3. ZAR_JMTG_APD
DATA: ls_source TYPE y_source_fields,
ls_target TYPE y_target_fields,
i_day_in TYPE sy-datum,
i_result TYPE sy-datum.
LOOP AT it_source INTO ls_source.
MOVE-CORRESPONDING ls_source TO ls_target.
CLEAR i_day_in.
SELECT SINGLE ZDATE FROM ZCONF_DAY INTO i_day_in.
IF i_day_in IS NOT INITIAL AND I_DAY_IN NE '99991231'.
ls_target-calmonth = i_day_in+0(6).
ELSE.
i_result = sy-datum.
i_result+6(2) = '01'.
i_result = i_result - 1.
I_DAY_IN = I_RESULT.
ls_target-calmonth = i_result+0(6).
ENDIF.
APPEND ls_target TO et_target.
ENDLOOP.
DELETE from /BIC/AZCFID08200 WHERE CALMONTH = I_DAY_IN+0(6).
4. DATA: ls_source TYPE y_source_fields,
ls_target TYPE y_target_fields,
i_day_in TYPE sy-datum,
i_result TYPE sy-datum.
LOOP AT it_source INTO ls_source.
MOVE-CORRESPONDING ls_source TO ls_target.
CLEAR i_day_in.
SELECT SINGLE ZDATE FROM ZCONF_DAY INTO i_day_in.
IF i_day_in IS NOT INITIAL AND I_DAY_IN NE '99991231'.
ls_target-calmonth = i_day_in+0(6).
ELSE.
i_result = sy-datum.
i_result+6(2) = '01'.
i_result = i_result - 1.
I_DAY_IN = I_RESULT.
ls_target-calmonth = i_result+0(6).
ENDIF.
APPEND ls_target TO et_target.
ENDLOOP.
DELETE from /BIC/AZCFID08300 WHERE CALMONTH = I_DAY_IN+0(6).
5.
DATA: ls_source TYPE y_source_fields,
ls_target TYPE y_target_fields,
i_day_in TYPE sy-datum,
i_result TYPE sy-datum.
LOOP AT it_source INTO ls_source.
MOVE-CORRESPONDING ls_source TO ls_target.
CLEAR i_day_in.
SELECT SINGLE ZDATE FROM ZCONF_DAY INTO i_day_in.
IF i_day_in IS NOT INITIAL AND I_DAY_IN NE '99991231'.
ls_target-calmonth = i_day_in+0(6).
ELSE.
i_result = sy-datum.
i_result+6(2) = '01'.
i_result = i_result - 1.
I_DAY_IN = I_RESULT.
ls_target-calmonth = i_result+0(6).
ENDIF.
APPEND ls_target TO et_target.
ENDLOOP.
IF I_DAY_IN+0(6) > '201606'. "201607改从系统取数
DELETE from /BIC/AZCFID08100 WHERE CALMONTH = I_DAY_IN+0(6).
ENDIF.
6.
DATA: ls_source TYPE y_source_fields,
ls_target TYPE y_target_fields,
i_day_in TYPE sy-datum,
i_result TYPE sy-datum.
LOOP AT it_source INTO ls_source.
MOVE-CORRESPONDING ls_source TO ls_target.
CLEAR i_day_in.
SELECT SINGLE ZDATE FROM ZCONF_DAY INTO i_day_in.
IF i_day_in IS NOT INITIAL AND I_DAY_IN NE '99991231'.
ls_target-calmonth = i_day_in+0(6).
ELSE.
i_result = sy-datum.
i_result+6(2) = '01'.
i_result = i_result - 1.
I_DAY_IN = I_RESULT.
ls_target-calmonth = i_result+0(6).
ENDIF.
APPEND ls_target TO et_target.
ENDLOOP.
DELETE from /BIC/AZCFID08000 WHERE CALMONTH = I_DAY_IN+0(6).
7.
DATA: ls_source TYPE y_source_fields,
i_day_in TYPE sy-datum,
ls_target TYPE y_target_fields,
i_result TYPE sy-datum.
LOOP AT it_source INTO ls_source.
MOVE-CORRESPONDING ls_source TO ls_target.
APPEND ls_target TO et_target.
ENDLOOP.
CLEAR i_day_in.
SELECT SINGLE ZDATE FROM ZCONF_DAY INTO i_day_in.
IF i_day_in IS NOT INITIAL AND I_DAY_IN NE '99991231'.
ELSE.
i_result = sy-datum.
i_result+6(2) = '01'.
i_result = i_result - 1.
I_DAY_IN = I_RESULT.
ENDIF.
DELETE from /BIC/AZIFID05200 WHERE CALMONTH = I_DAY_IN+0(6).