数据源增强
一、后勤数据源增强步骤
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数据就好