APD ABAP例程范例:

本文介绍了一系列 ABAP 程序中对于数据的处理流程,包括数据的读取、转换及更新等操作,并详细展示了如何根据不同条件进行数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. ZAPD_ZIHREZ

DATAls_source TYPE y_source_fields,
        ls_target TYPE y_target_fields.

  LOOP AT it_source INTO ls_source  where KYF_0003 > .
    MOVE-CORRESPONDING ls_source TO ls_target.
    APPEND ls_target TO et_target.
  ENDLOOP.



2. ZAR_SYBDS_APD

  DATAls_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

  DATAls_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.   DATAls_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. 

  DATAls_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.

  DATAls_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. 

  DATAls_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).


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值