SAP-BI-项目PP模块ETL设计说明书.doc_第1页
SAP-BI-项目PP模块ETL设计说明书.doc_第2页
SAP-BI-项目PP模块ETL设计说明书.doc_第3页
SAP-BI-项目PP模块ETL设计说明书.doc_第4页
SAP-BI-项目PP模块ETL设计说明书.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SAP BI 项目 PP 模块 ETL 设计说明书 当前版本: 拥有者: 最后更新日期: 最后更新者: 作者: 创建日期: 批准者: 批准日期: 修订历史 版本号更新日期修订作者主要改变描述 目录 1.概述.6 2.ETL 系统架构设计.7 2.1模型 ETL 系统逻辑架构.7 3.主数据工厂物料模型设计 .8 3.1工厂物料模型架构.8 3.2自定义数据源说明.8 3.3模型字段及 ETL 数据流.8 3.3.1数据源 0MAT_PLANT_ATTR 特性 ZPLANT_M.9 3.3.2数据源 ZBW_PP_ZTEC - 特性 ZPLANT_M.11 3.3.3数据源 ZBW_PP_ZTHI - 特性 ZPLANT_M .12 3.3.4数据源 ZMBEW - 特性 ZPLANT_M.14 3.3.5数据源 0MAT_PLANT_TEXT - 特性 ZPLANT_M .14 4.投入产出模型设计.15 4.1投入产出模型架构 .15 4.2数据源增强及自定义数据源说明 .16 4.3模型字段及 ETL 数据流 .18 4.3.1数据源 2LIS_04_P_MATNR - ODS PP_D110.19 4.3.2数据源 ZAUFK - ODSO PP_D110 .20 4.3.3ODS PP_D110 - ODS PP_D202.21 4.3.4ODS PP_D202 - ODS PP_D210.25 4.3.5ODS PP_D210 - CUBE PP_IC310 .25 4.3.6数据源 2LIS_03_BF - ODS MM_D131.26 4.3.7ODS MM_D131 -ODS PP_D191.28 4.3.8ODS PP_D191 - ODS PP_D201.29 4.3.9ODS PP_D201 - ODS PP_D210.33 4.3.10数据源 2LIS_04_P_ARBPL - ODS PP_D130.34 4.3.11数据源 ZBOM - ODS PP_D150.36 4.3.12数据源 ZCPV - ODS PP_D160.36 4.3.13数据源 2LIS_11_VAITM - ODS SD_D110.37 4.3.14ODS SD_D110 - ODS PP_D192.39 5.物耗模型设计.41 5.1物耗模型架构 .41 5.2数据源增强说明.41 5.3模型字段及 ETL 数据流 .42 5.3.1数据源 2LIS_04_P_COMP - ODS PP_D120.43 5.3.2ODS PP_D120 -ODS PP_D220 .44 5.3.3ODS PP_D220 - CUBE PP_IC320 .46 6.PP 数据装载流程 .47 1. 概述 本项目ETL部分的核心功能就是按照本设计说明书的架构,将数据由数据源系统(SAP R3)加载到数据仓库(SAP BW) 中。其实现的困难在于ETL工作将面临复杂的源数据环境,包括多种R3标准数据源和增强结构、繁多的数据种类、巨大 的加载数据量、错综复杂的数据关系和参差不齐的数据质量,这些都使ETL的架构和应用设计面临相当的挑战。 通过高效的ETL系统结构、层次化的应用功能划分和BW标准的元素,ETL系统和应用架构设计需要能够达到以下目标: 支持在此框架下实现 BW 数据仓库所需要的 ETL 功能; 支持在规定的时间窗口内能够完成数据加载工作,即需要满足日常数据加载的性能需求; 能够支持有效的应用程序开发模式,提高开发效率,尽量减少应用开发成本; 减少系统维护的复杂性,支持后续增加新数据或功能的开发工作。 ETL设计说明书为ETL开发提供指导,着重叙述数据仓库系统ETL系统的架构、功能和实施过程,其中包含了主要数据转 换过程以及涉及到的客户化例程的说明。 ETL过程依赖于源数据的准备就绪,本设计说明书同时也列出了模块所对应的SAP标准数据源和主数据数据源。 由于ETL的复杂性,本设计尝试从多个层面进行说明,希望能够尽可能回答开发过程中所面临的问题达到指导开发的目 的,但实际开发过程中,开发人员仍然可能遇到设计说明书没有涉及的问题,因此,遵循设计的基本思想,通过开发 人员的反馈,在开发的过程中不断地完善和修正设计,对于ETL的开发是非常重要的。对于任何ETL开发过程中遇到的 技术问题,开发人员需要与设计人员协商讨论,以迅速解决问题,保证开发顺利进行。 而同时,为保证ETL系统架构的完整、统一、程序的可维护性以及开发的可管理性,对设计的修改必须得到控制,重要 的变动必须通过版本管理流程来协调进行。 本设计说明书将包括以下部分: 架构设计:设计对应模块 ETL 系统的逻辑架构以及分析数据流。 ETL 过程说明:包括 ETL 过程涉及到的各步骤说明,如信息包的更新机制,转换过程中涉及到的特定例程控制, DTP 的执行和更新机制等等。 数据加载流程:说明了对于本模块而言在运行特定步骤之前需满足的条件。 2.ETL系统架构设计 2.1 模型 ETL 系统逻辑架构 上图是 ETL 系统逻辑架构。从宏观设计上,历史数据、初始数据加载和日常数据加载的 ETL 都将按照此架构设计。该 架构将 ETL 作为一个整体来设计。 对于数据仓库的加载,ETL 分为数据抽取(Extract)、数据转换(Transform)以及数据加载(Load)3 个阶段。 3. 主数据工厂物料模型设计 3.1 工厂物料模型架构 3.2 自定义数据源说明 ZBW_PP_ZTHI 分切、瓶标等参数表 来源于 R3 的 ZTHI 表 ZBW_PP_ZTEC 指示单资料基础资料 来源于 R3 的 ZTEC 表 ZMBEW 物料最新的未来价格 3 来源于 R3 的 ZMBEW 视图 3.3 模型字段及 ETL 数据流 总说明:对于没有做特别说明的 DTP,默认是无过滤条件的 DELTA 方式的 DTP。 由于目标是主数据,因此所有的更新都是覆盖。 3.3.1 数据源 0MAT_PLANT_ATTR 特性 ZPLANT_M. (1)0PROD_HIER 字段的例程:关联 0MATERIAL(/BI0/PMATERIAL)取得物料的层次码。 DATA Z_PROD_HIER TYPE /BI0/OIPROD_HIER. SELECT SINGLE PROD_HIER INTO Z_PROD_HIER FROM /BI0/PMATERIAL WHERE MATERIAL = SOURCE_FIELDS-MATNR. RESULT = Z_PROD_HIER. (2)DTP 使用 full 方式的 DTP,原因是 0PROD_HIER 需要关联 0MATERIAL 特性。 3.3.2 数据源 ZBW_PP_ZTEC - 特性 ZPLANT_M 3.3.3 数据源 ZBW_PP_ZTHI - 特性 ZPLANT_M (1)ZDITEM 字段的例程:对源数据进行是否数字的判断,如果其中含有字母,则置为 0。 IF SOURCE_FIELDS-DITEM CN .1234567890 . RESULT = 0. ELSE. RESULT = SOURCE_FIELDS-DITEM. ENDIF. (2)ZDDWID 字段的例程:对源数据进行是否数字的判断,如果其中含有字母,则置为 0。 IF SOURCE_FIELDS-DDWID CN .1234567890 . RESULT = 0. ELSE. RESULT = SOURCE_FIELDS-DDWID. ENDIF. 3.3.4 数据源 ZMBEW - 特性 ZPLANT_M 3.3.5 数据源 0MAT_PLANT_TEXT - 特性 ZPLANT_M 4. 投入产出模型设计 4.1 投入产出模型架构 第二层 第一层 第三层 数据源 其中,左边 2LIS_04_P_MATNR,PP_D110,PP_D202,PP_D210,PP_IC310 这条线是按技术完成日期来看生产订 单的投入和产出。 右边 2LIS_03_BF MM_D131 PP_D191 PP_D201,PP_D210,PP_IC310 这条线是按过账日期来看生产订单的产量、 产值、千平米数。 以上两条线汇总到 PP_D210 时,使用“时间类型”字段来区分,技术日期的时间类型等于“101”,过账日期的时间 类型等于“102”。 而 PP_D130,PP_D150,PP_D160,PP_D192 会在以上两条线的 routine 中被使用。 此模型可以为顶正_产值状况表、顶正_生产状况表提供数据。结合这两张报表的需求文档,将能更清晰的理解本模型。 4.2 数据源增强及自定义数据源说明 1:数据源增强 (1) 2LIS_04_P_MATNR 增强了 ZZDEL_FLAG删除标志 ZZIDAT2技术完成日期 增强代码如下: WHEN 2LIS_04_P_MATNR. LOOP AT C_T_DATA into L_PP_MATNR. L_TABIX = SY-TABIX. SELECT SINGLE IDAT2 LOEKZ INTO (L_PP_MATNR-ZZIDAT2,L_PP_MATNR-ZZDEL_FLAG) FROM AUFK WHERE AUFNR = L_PP_MATNR-AUFNR. MODIFY C_T_DATA FROM L_PP_MATNR INDEX L_TABIX. CLEAR L_TABIX. CLEAR L_PP_MATNR. ENDLOOP. (2) 2LIS_04_P_ARBPL 增强了 ZZDEL_FLAG3删除标志 ZZIDAT2技术完成日期 增强代码如下: WHEN 2LIS_04_P_ARBPL. LOOP AT C_T_DATA INTO L_PP_ARBPL. L_TABIX = SY-TABIX. SELECT SINGLE IDAT2 LOEKZ INTO (L_PP_ARBPL-ZZIDAT2,L_PP_ARBPL-ZZDEL_FLAG3) FROM AUFK WHERE AUFNR = L_PP_ARBPL-AUFNR. MODIFY C_T_DATA FROM L_PP_ARBPL INDEX L_TABIX. CLEAR L_TABIX. CLEAR L_PP_ARBPL. ENDLOOP. (3) 2LIS_03_BF 增强了 ZZMAUFNR_IND 是否大订单或三科订单标记 增强代码如下: WHEN 2LIS_03_BF. LOOP AT C_T_DATA INTO L_MM_03BF. L_TABIX = SY-TABIX. IF L_MM_03BF-AUFNR . SELECT SINGLE MAUFNR INTO ZMAUFNR FROM AFKO WHERE AUFNR = L_MM_03BF-AUFNR AND PLNBEZ = L_MM_03BF-MATNR. if sy-subrc = 0. IF ZMAUFNR = . L_MM_03BF-ZZMAUFNR_IND = Y. MODIFY C_T_DATA FROM L_MM_03BF INDEX L_TABIX. ENDIF. ENDIF. ENDIF. CLEAR L_TABIX. CLEAR L_MM_03BF. ENDLOOP. 2:自定义数据源 (1)ZBOM BOM 父子件 来自于 R3 系统的 ZBOM 视图。 (2)ZCPV 半成品裁切单:销售单信息 来自于 R3 系统的 ZCPV 表。 (3)ZAUFK 生产订单主数据:生产订单信息,来自于 R3 系统的 AUFK 表。 4.3 模型字段及 ETL 数据流 总说明:对于没有做特别说明的 DTP,默认是无过滤条件的 DELTA 方式的 DTP。 4.3.1 数据源 2LIS_04_P_MATNR - ODS PP_D110 (1)0NO_PRODORD 字段的例程:根据数据源中的ROCANCEL(取消标识符)来统计订单数。 IF SOURCE_FIELDS-ROCANCEL = . RESULT = 1. ELSE. RESULT = -1. ENDIF. 4.3.2 数据源 ZAUFK - ODSO PP_D110 DTP 里限制了公司代码: 只抽 CTZ、THS、TQS、TSX、TTF、TTS、TTZ、ZHS、ZTF、ZTZ 公司的数据。 4.3.3 ODS PP_D110 - ODS PP_D202 上面是标准组的转换,还有技术组的转换如下: 说明: (1)开始例程:DELETE SOURCE_PACKAGE where PARENTNR .删除掉 PARENTNR(大订单号)不为空 的数据,也就是删除掉所有小订单,留下大定单或者三科订单。 (2)0WITHDRWQTY 字段的例程: TYPES: BEGIN OF Z_TYPE, WORKCENTER TYPE /BI0/OIWORKCENTER, 工作中心 CONF_ACT2 TYPE /BI0/OICONF_ACT2, 投入量 END OF Z_TYPE. DATA Z_TAB TYPE TABLE OF Z_TYPE . DATA Z_REC TYPE Z_TYPE. DATA: Z_CONF_ACT2 TYPE /BI0/OICONF_ACT2. DATA: Z_WORKCENTER TYPE /BI0/OIWORKCENTER. SELECT WORKCENTER CONF_ACT2 INTO CORRESPONDING FIELDS OF TABLE Z_TAB FROM /BIC/APP_D13000 WHERE PARENTNR = SOURCE_FIELDS-PRODORDER AND COMP_CODE = SOURCE_FIELDS-COMP_CODE AND CONF_ACT2 0. 取大订单下有投入量的小订单的工作中心 和投入量 IF ( SY-SUBRC = 0 ). SORT Z_TAB BY WORKCENTER. 对取得的小订单按工作中心排序,由小到大 READ TABLE Z_TAB INTO Z_REC INDEX 1. 取最小工作中心的小订单的投入量为最终的投入量 Z_CONF_ACT2 = Z_REC-CONF_ACT2 . ELSE. SELECT WORKCENTER CONF_ACT2 INTO CORRESPONDING FIELDS OF TABLE Z_TAB FROM /BIC/APP_D13000 WHERE PRODORDER = SOURCE_FIELDS-PRODORDER AND COMP_CODE = SOURCE_FIELDS-COMP_CODE AND CONF_ACT2 0. 取三科订单的工作中心和投入量 SORT Z_TAB BY WORKCENTER. READ TABLE Z_TAB INTO Z_REC INDEX 1. Z_CONF_ACT2 = Z_REC-CONF_ACT2 . ENDIF. RESULT = Z_CONF_ACT2. 关联 PP_D130(/BIC/APP_D13000)的数据,获得大订单或三科订单下各工作中心的投入量,首先一科的投入量 为最终投入量,如果一科没有值,则顺取二科、三科的值。 (3)Z_G_QTY 字段的例程: DATA: Z_MENGE TYPE /BI0/OIREQMTSQTY. “子件数量 DATA: Z_BMENG TYPE /BIC/OIZAUSCH. “父件数量 DATA: Z_G_QTY TYPE /BIC/OIZ_G_QTY. “缴库量(R/S) TYPES: BEGIN OF Z_TYPE, /BIC/Z_BOM_NO TYPE /BIC/OIZ_BOM_NO, /BIC/ZZMENGE TYPE /BI0/OIREQMTSQTY, /BIC/ZZBMENG TYPE /BIC/OIZAUSCH, END OF Z_TYPE. DATA Z_TAB TYPE TABLE OF Z_TYPE . DATA Z_REC TYPE Z_TYPE. SELECT /BIC/Z_BOM_NO /BIC/ZZMENGE /BIC/ZZBMENG INTO CORRESPONDING FIELDS OF TABLE Z_TAB FROM /BIC/APP_D15000 WHERE MATERIAL = SOURCE_FIELDS-MATERIAL AND PLANT = SOURCE_FIELDS-PLANT AND UNIT = R/S. IF ( SY-SUBRC = 0 ). SORT Z_TAB BY /BIC/Z_BOM_NO. READ TABLE Z_TAB INTO Z_REC INDEX 1. Z_MENGE = Z_REC-/BIC/ZZMENGE. Z_BMENG = Z_REC-/BIC/ZZBMENG. Z_G_QTY = SOURCE_FIELDS-GR_QTY * ( Z_MENGE / Z_BMENG ). ELSE. Z_G_QTY = 0. ENDIF. RESULT = Z_G_QTY. 关联 PP_D150(/BIC/APP_D15000),获得物料的 BOM 项目号最小的父子件数量比例,来计算出缴库量(R/S)。 (4)0RECORDMODE 字段的公式:IF( /BIC/Z_D_FLG = X, D, ) 源数据的 Z_D_FLG(删除标记)字段如果 为X,则结果为D,这样就会删除掉相应的订单。 (5)DTP 说明:只取三家公司:CTZ, TTZ,ZTZ 的数据,同时过滤掉订单类型等于 PP09(虚拟订单)的数 据。 4.3.4 ODS PP_D202 - ODS PP_D210 4.3.5 ODS PP_D210 - CUBE PP_IC310 说明:因为目标是 CUBE,所以所以关键值(key figure)的更新都应该是合计。 4.3.6 数据源 2LIS_03_BF - ODS MM_D131 说明:因为目标 DSO 是写优化 DSO,因此新入数据都是插入到目标 DSO 中,不会影响旧有数据。 4.3.7 ODS MM_D131 -ODS PP_D191 (1)0GR_QTY 字段的计算公式为:IF( MOVETYPE = 101, 1, 1- ) * QUANT_B (2)DTP 的过滤条件: 公司代码选择为:CTZ,TTZ, ZTZ 三个,移动类型为 101 和 102。 4.3.8 ODS PP_D191 - ODS PP_D201 (1)0WORKCENTER 字段的例程:关联 PP_D130 获得订单的工作中心。 DATA: Z_WORKCENTER TYPE /BI0/OIWORKCENTER. SELECT SINGLE WORKCENTER INTO Z_WORKCENTER FROM /BIC/APP_D13000 WHERE PRODORDER = SOURCE_FIELDS-PRODORDER AND COMP_CODE = SOURCE_FIELDS-COMP_CODE. RESULT = Z_WORKCENTER. (2)ZPRD_AMT 字段的例程:关联 PP_D192 获得各订单对应销售订单的销售金额、销售数量,销售单位和物料 基本单位的比值,以获得销售单价,最后用生产订单的缴库量乘于销售单价,获得产值。 DATA: Z_CML_OR_QTY TYPE /BI0/OICML_OR_QTY. 销售数量 DATA: Z_NET_VALUE TYPE /BI0/OINET_VALUE. 销售金额 DATA: Z_NUMERATOR TYPE /BI0/OINUMERATOR. 销售单位转换为基本单位的因子 DATA: Z_NUMERATORZ TYPE /BI0/OINUMERATORZ. 基本单位因子 DATA: Z_PRD_AMT TYPE /BIC/OIZPRD_AMT. DATA: Z_PRICE TYPE P DECIMALS 2. SELECT SINGLE CML_OR_QTY NET_VALUE NUMERATOR NUMERATORZ INTO (Z_CML_OR_QTY, Z_NET_VALUE, Z_NUMERATOR, Z_NUMERATORZ) FROM /BIC/APP_D19200 WHERE DOC_NUMBER = SOURCE_FIELDS-DOC_NUMBER AND S_ORD_ITEM = SOURCE_FIELDS-S_ORD_ITEM. IF ( SY-SUBRC = 0 ) AND ( Z_NUMERATORZ 0 ) AND ( Z_CML_OR_QTY 0 ) AND ( Z_NUMERATORZ ) AND ( Z_CML_OR_QTY ). 避免除数为零 Z_PRICE = Z_NET_VALUE / Z_CML_OR_QTY. Z_PRD_AMT = SOURCE_FIELDS-GR_QTY * Z_PRICE * ( Z_NUMERATOR / Z_NUMERATORZ ). ELSE. Z_PRD_AMT = . ENDIF. RESULT = Z_PRD_AMT. (3)Z_G_QTY 字段的例程:关联 PP_D150(/BIC/APP_D15000),获得物料的 BOM 项目号最小的父子件数量比 例,来获得缴库量(R/S)。 DATA: Z_MENGE TYPE /BI0/OIREQMTSQTY. “子件数量 DATA: Z_BMENG TYPE /BIC/OIZAUSCH. “父件数量 DATA: Z_G_QTY TYPE /BIC/OIZ_G_QTY. “缴库量(R/S) TYPES: BEGIN OF Z_TYPE, /BIC/Z_BOM_NO TYPE /BIC/OIZ_BOM_NO, /BIC/ZZMENGE TYPE /BI0/OIREQMTSQTY, /BIC/ZZBMENG TYPE /BIC/OIZAUSCH, END OF Z_TYPE. DATA Z_TAB TYPE TABLE OF Z_TYPE . DATA Z_REC TYPE Z_TYPE. SELECT /BIC/Z_BOM_NO /BIC/ZZMENGE /BIC/ZZBMENG INTO CORRESPONDING FIELDS OF TABLE Z_TAB FROM /BIC/APP_D15000 WHERE MATERIAL = SOURCE_FIELDS-MATERIAL AND PLANT = SOURCE_FIELDS-PLANT AND UNIT = R/S. IF ( SY-SUBRC = 0 ). SORT Z_TAB BY /BIC/Z_BOM_NO. READ TABLE Z_TAB INTO Z_REC INDEX 1. Z_MENGE = Z_REC-/BIC/ZZMENGE. Z_BMENG = Z_REC-/BIC/ZZBMENG. Z_G_QTY = SOURCE_FIELDS-GR_QTY * ( Z_MENGE / Z_BMENG ). ELSE. Z_G_QTY = 0. ENDIF. RESULT = Z_G_QTY. (4)0CURRENCY 字段的例程:关联 PP_D192 来取得 CURRENCY。 DATA: Z_DOC_CURRCY TYPE /BI0/OIDOC_CURRCY. SELECT SINGLE DOC_CURRCY INTO Z_DOC_CURRCY FROM /BIC/APP_D19200 WHERE DOC_NUMBER = SOURCE_FIELDS-DOC_NUMBER AND S_ORD_ITEM = SOURCE_FIELDS-S_ORD_ITEM. RESULT = Z_DOC_CURRCY. (5)ZKM2 字段的例程: DATA: Z_MENGE TYPE /BI0/OIREQMTSQTY. DATA: Z_BMENG TYPE /BIC/OIZAUSCH. DATA: Z_G_QTY TYPE /BIC/OIZ_G_QTY. TYPES: BEGIN OF Z_TYPE, /BIC/Z_BOM_NO TYPE /BIC/OIZ_BOM_NO, /BIC/ZZMENGE TYPE /BI0/OIREQMTSQTY, /BIC/ZZBMENG TYPE /BIC/OIZAUSCH, END OF Z_TYPE. DATA Z_TAB TYPE TABLE OF Z_TYPE . DATA Z_REC TYPE Z_TYPE. SELECT /BIC/Z_BOM_NO /BIC/ZZMENGE /BIC/ZZBMENG INTO CORRESPONDING FIELDS OF TABLE Z_TAB FROM /BIC/APP_D15000 WHERE MATERIAL = SOURCE_FIELDS-MATERIAL AND PLANT = SOURCE_FIELDS-PLANT AND UNIT = R/S. IF ( SY-SUBRC = 0 ). SORT Z_TAB BY /BIC/Z_BOM_NO. READ TABLE Z_TAB INTO Z_REC INDEX 1. Z_MENGE = Z_REC-/BIC/ZZMENGE. Z_BMENG = Z_REC-/BIC/ZZBMENG. Z_G_QTY = SOURCE_FIELDS-GR_QTY * ( Z_MENGE / Z_BMENG ). ELSE. Z_G_QTY = 0. ENDIF. DATA Z_KM2 TYPE /BIC/OIZKM2. 裁切单上订单千平米数 DATA: Z_PROD_HIER TYPE /BI0/OIPROD_HIER. 产品层次 DATA: Z_EEDIS TYPE /BIC/OIZ_EEDIS. 电眼间距 DATA: Z_DITEM TYPE /BIC/OIZDITEM. 条数 DATA: Z_DDWID TYPE /BIC/OIZDDWID. 裁切宽度(单卷膜宽) IF SOURCE_FIELDS-MATERIAL+0(3) = 42P. 判断是裁切单物料 SELECT SINGLE /BIC/ZKM2 INTO Z_KM2 FROM /BIC/APP_D16000 WHERE PRODORDER = SOURCE_FIELDS-PRODORDER. RESULT = Z_KM2. ELSE. SELECT SINGLE PROD_HIER /BIC/Z_EEDIS /BIC/ZDITEM /BIC/ZDDWID INTO (Z_PROD_HIER,Z_EEDIS,Z_DITEM,Z_DDWID) FROM /BIC/PZPLANT_M WHERE /BIC/ZPLANT_M = SOURCE_FIELDS-MATERIAL AND PLANT = SOURCE_FIELDS-PLANT. IF Z_PROD_HIER+0(10) = 5001010103. 判断是碗盖 RESULT = Z_EEDIS * Z_EEDIS * SOURCE_FIELDS-GR_QTY / 1000000000. ELSE. RESULT = Z_DITEM * Z_DDWID * Z_G_QTY / 1000. ENDIF. ENDIF. 先关联 PP_D160 取得裁切订单的千平米数,然后再关联工厂物料(ZPLANT_M),根据物料层次码来判断是否碗 盖,计算碗盖物料订单的千平米数,最后计算一般物料订单的千平米数。 (6)注意到对目标 DSO 关键值的更新全部都是覆盖方式。 (7)DTP 采取的是完全更新。之所以在这里采取完全更新,并覆盖目标 DSO 的关键值,是因为在计算 ZPRD_AMT 产值字段时要用到销售订单的数据,而销售订单的金额、数量可能会改变,因此,为了数据的完整性, 每次均重新的取销售订单的数据,重新的计算销售价格,以确保产值的正确性。 4.3.9 ODS PP_D201 - ODS PP_D210 (1)开始例程: Delete SOURCE_PACKAGE where /BIC/ZPRD_AMT = 0. 过滤掉产值为 0 的数据。 4.3.10数据源 2LIS_04_P_ARBPL - ODS PP_D130 4.3.11数据源 ZBOM - ODS PP_D150 4.3.12数据源 ZCPV - ODS PP_D160 (1)ZKM2 字段的计算公式:ZKMIL / 1,000 4.3.13数据源 2LIS_11_VAITM - ODS SD_D110 说明:因为目标 DSO 是写优化 DSO,因此新入数据都是插入到目标 DSO 中,不会影响旧有数据。 4.3.14ODS SD_D110 - ODS PP_D192 5. 物耗模型设计 5.1 物耗模型架构 第二层 第一层 数据源 第三层 此模型为顶正_物耗汇总分析报表提供数据,结合此报表的需求文档,将能更清晰的理解本模型。 5.2 数据源增强说明 2LIS_04_P_COMP 增强了以下字段: ZJSWCSJ技术完成日期 ZZAUSCH部件废品百分数 ZZBWART移动类型(库存管理) ZZDEL_FLAG2删除标志 增强代码如下: WHEN 2LIS_04_P_COMP. LOOP AT C_T_DATA into L_PP_COMP. L_TABIX = SY-TABIX. SELECT SINGLE IDAT2 LOEKZ INTO (L_PP_COMP-ZJSWCSJ,L_PP_COMP-ZZDEL_FLAG2) FROM AUFK WHERE AUFNR = L_PP_COMP-AUFNR. SELECT SINGLE BAUSCH BBWART INTO (L_PP_COMP-ZZAUSCH,L_PP_COMP-ZZBWART) FROM AFKO AS A JOIN RESB AS B ON ARSNUM = BRSNUM WHERE AAUFNR = L_PP_COMP-AUFNR AND BMATNR = L_PP_COMP-IDNRK. MODIFY C_T_DATA FROM L_PP_COMP INDEX L_TABIX. CLEAR L_TABIX. CLEAR L_PP_COMP. ENDLOOP. 5.3 模型字段及 ETL 数据流 总说明:对于没有做特别说明的 DTP,默认是无过滤条件的 DELTA 方式的 DTP。 5.3.1 数据源 2LIS_04_P_COMP - ODS PP_D120 (1)0LEADMATNR 字段的例程:关联 PP_D110 取得大订单的物料号。 DATA l_LEADMATNR TYPE /BI0/OILEADMATNR. SELECT SINGLE LEADMATNR INTO l_LEADMATNR FROM /bic/APP_D11000 WHERE prodorder = SOURCE_FIELDS-LEAD_AUFNR AND comp_code = SOURCE_FIELDS-BUKRS. RESULT = l_LEADMATNR. (2)Z_B_FLAG 字段的例程:关联 PP_D110 判断订单是否是大订单。 DATA Z_FLAG TYPE /BIC/OIZ_B_FLAG. DATA Z_PARENTNR TYPE /BI0/OIPARENTNR. SELECT SINGLE PARENTNR INTO Z_PARENTNR FROM /bic/APP_D11000 WHERE PARENTNR = SOURCE_FIELDS-AUFNR AND comp_code = SOURCE_FIELDS-BUKRS. IF ( SY-SUBRC = 0 ) . Z_FLAG = Y. ELSE. Z_FLAG = N. ENDIF. RESULT = Z_FLAG. 5.3.2 ODS PP_D120 -ODS PP_D220 上面是标准组的转换,还有技术组的转换如下: (1)开始例程: Delete SOURCE_PACKAGE where MOVETYPE = 531. Delete SOURCE_PACKAGE where MOVETYPE = 532. Delete SOURCE_PACKAGE where /BIC/ZTEC_DATE = 00000000. Delete SOURCE_PACKAGE where COMPONENT = . data: zpack TYPE _ty_s_SC_1. data: Z_DATA LIKE zpack. DATA: Z_WORKCENTER TYPE /BI0/OIWORKCENTER. LOOP AT SOURCE_PACKAGE INTO Z_DATA. SELECT SINGLE WORKCENTER INTO Z_WORKCENTER FROM /BIC/APP_D13000 WHERE COMP_CODE = Z_DATA-COMP_CODE AND PLANT = Z_DATA-PLANT AND PRODORDER = Z_DATA-PRODORDER. IF Z_WORKCENTER = AND Z_DATA-PARENTNR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论