SAP Data Services抽取数据源( 七 )

数据源增强

一、后勤数据源增强步骤

1.清空Setup表、抽取队列和增量队列

清空Setup表步骤,参照“数据初始化”中清空Setup表部分

T-CODE:LBWQ 如若需增强的数据源有抽取队列,在TCODE:SE38运行对应数据的程序,将该队列清空

程序名

对应数据

RMBWV302

采购数据

RMBWV306

采购发票数据

RMBWV311

销售订单数据

RMBWV312

交货数据

RMBWV313

销售开票数据

TCODE:ODQMON 查看是否有需增强数据源的相关增量队列,如果有则需清除

2.添加增强字段

T-CODE:RSA6 鼠标定位需要增强的数据源,双击进入

进入后双击进提取结构

点击附加结构

填写附加结构名称,创建附加结构

填写简短描述,需要增强的字段,然后激活

3.增强字段取数逻辑代码编写

T-CODE:CMOD,输入ZDS

  

可以点击修改,进行代码编辑

CASE I_DATASOURCE.
**增强2LIS_02_HDR  采购订单抬头数据
  WHEN '2LIS_02_HDR'.

    REFRESH: LT_PUR_HDR,LT_EKKO.
    CLEAR: TMP_PUR_HDR,LS_EKKO.

    IF C_T_DATA[] IS NOT INITIAL.

      LT_PUR_HDR[] = C_T_DATA[].

      SELECT
        EBELN
        LEGAL_CONTRACT
        DESCRIPTION
        RELEASE_DATE
        CONTRACT_ID
        CONTRACT_NAME
        ZSOURCING_PERSON
        ERNAM
        FRGKE
        ZTERM
        AEDAT
        FROM EKKO
        INTO CORRESPONDING FIELDS OF TABLE LT_EKKO
        FOR ALL ENTRIES IN LT_PUR_HDR
        WHERE EBELN = LT_PUR_HDR-EBELN.

      LOOP AT C_T_DATA INTO TMP_PUR_HDR.
        READ TABLE LT_EKKO INTO LS_EKKO WITH  KEY EBELN = TMP_PUR_HDR-EBELN.

        IF SY-SUBRC = 0.
          TMP_PUR_HDR-LEGAL_CONTRACT   =  LS_EKKO-LEGAL_CONTRACT.
          TMP_PUR_HDR-DESCRIPTION      =  LS_EKKO-DESCRIPTION.
          TMP_PUR_HDR-RELEASE_DATE     =  LS_EKKO-RELEASE_DATE.
          TMP_PUR_HDR-CONTRACT_ID      =  LS_EKKO-CONTRACT_ID.
          TMP_PUR_HDR-CONTRACT_NAME    =  LS_EKKO-CONTRACT_NAME.
          TMP_PUR_HDR-ZSOURCING_PERSON =  LS_EKKO-ZSOURCING_PERSON.
          TMP_PUR_HDR-ERNAM            =  LS_EKKO-ERNAM.
          TMP_PUR_HDR-FRGKE            =  LS_EKKO-FRGKE.
          TMP_PUR_HDR-ZTERM            =  LS_EKKO-ZTERM.
          TMP_PUR_HDR-AEDAT            =  LS_EKKO-AEDAT.

        ENDIF.

        IF TMP_PUR_HDR-EBELN IS NOT INITIAL.
          CLEAR: LT_LINES,
                 LS_LINES.
          CLEAR: GV_ID,
                 GV_NAME,
                 GV_OBJECT.
          GV_ID      = 'F01'.
          GV_NAME    = TMP_PUR_HDR-EBELN.
          GV_OBJECT  = 'EKKO'.

          CALL FUNCTION 'READ_TEXT'
            EXPORTING
              CLIENT                  = SY-MANDT
              ID                      = GV_ID
              LANGUAGE                = '1'
              NAME                    = GV_NAME
              OBJECT                  = GV_OBJECT
*             ARCHIVE_HANDLE          = 0
*             LOCAL_CAT               = ' '
*             IMPORTING
*             HEADER                  =
*             OLD_LINE_COUNTER        =
            TABLES
              LINES                   = LT_LINES
            EXCEPTIONS
              ID                      = 1
              LANGUAGE                = 2
              NAME                    = 3
              NOT_FOUND               = 4
              OBJECT                  = 5
              REFERENCE_CHECK         = 6
              WRONG_ACCESS_TO_ARCHIVE = 7
              OTHERS                  = 8.
          IF SY-SUBRC = 0.
            DELETE LT_LINES WHERE TDLINE IS INITIAL.

            LOOP AT LT_LINES INTO LS_LINES.
              CONCATENATE TMP_PUR_HDR-ZCGDDHT1 LS_LINES-TDLINE INTO TMP_PUR_HDR-ZCGDDHT1.
            ENDLOOP.
          ENDIF.
        ENDIF.
        MODIFY C_T_DATA FROM TMP_PUR_HDR.
        CLEAR: TMP_CO_OM_WBS_6,
               LS_EKKO.

      ENDLOOP.

    ENDIF.
  WHEN OTHERS.

ENDCASE.

4.代码完毕之后,取消隐藏字段设置(标准数据源新增加的字段处于隐藏状态)

T-CODE:RSA6

若要进行测试可使用T-code:RSA3进行提取测试检测数据

二、一般数据源增强步骤

除第一步与后勤数据源不一致外,其他步骤是一样的,第一步一般数据源只需要清空ODQMON数据就好

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值