所有物料规划PR时对净需求+最小采购批量+安全库存+舍入值的先后考虑逻辑20171207-1228.docx
PR回写案例一:
SELECT SAFE_QTY,A.* FROM SAP_MARC A where MATNR='000000701119702034' and WERKS='2023'; --SAFE_QTY:安全库存 SELECT MIN_LOT_SIZE,LOTSIZE_INCREMENT,A.* FROM IN_SUPPLIER_ITEM A where item_id='000000701119702034' ; -- MIN_LOT_SIZE最小采购批量 LOTSIZE_INCREMENT舍入值 SELECT PR_CONSOLIDATE_DAYS,A.* FROM IN_ITEM_SITE A where item_id='000000701119702034' and SITE_ID='2023'; --合并下PR的时间区间 WB7 TB1 EX0 W2_14 T3_3
SELECT * FROM OUT_PR_jiankong WHERE ITEM='000000104004000454' ; --PR 净需求
SELECT * FROM OUT_PR WHERE ITEM='000000701119702034' ; ---加上PR回写逻辑后 SELECT * FROM TP_TEMP_PR WHERE ITEM='000000701119702034' ; ---最终回写去SAP的数据 select out_pr.PO_RELEASE_DATE,out_pr.supplier_id,out_pr.site_id,sap_eord.ekorg,out_pr.proc_group_id,out_pr.item,out_pr.qty,out_pr.qtyuom,substr(loc_id,-4) as LGORT ,'SAPRFC' as ERNAM,out_pr.due_datetime,out_pr.so_id,out_pr.so_lineid,out_pr.sobsl from V_OUT_PR out_pr --其实是select * from tp_temp_pr join sap_eord on out_pr.item = sap_eord.matnr and out_pr.supplier_id = sap_eord.lifnr and out_pr.site_id = sap_eord.werks where out_pr.item in ('000000701119702034');
按照如下进行优化,优化后效果如下:
查询代码
1、首先写入OUT_PR中净需求数据
----包材物料组展望期设置14天 FP_PR2SAP 246行代码 SELECT MAX (PR.ORDERID), PR.ITEM, SUBSTR (PR.RECOMMENDEDSUPID, 6), TRUNC (PR.PORELEASEDATE), SUM (PR.QTYPLANNED), IT.PROC_GROUP_ID, IT.PROC_GROUP_DESCR, IT.SITE_ID, SI.LOCATION_ID, SI.QTY_UOM, PR.PLANNEDDELDATE FROM ABPPMGR.PROCUREMENTPLAN PR, IN_ITEM_SITE IT, IN_SUPPLIER_ITEM SI WHERE PR.ITEM = IT.ITEM_ID AND IT.SITE_ID = SUBSTR (PR.RECOMMENDEDSUPID, 1, 4) AND SI.ITEM_ID = IT.ITEM_ID AND SI.SUPPLIER_ID = PR.RECOMMENDEDSUPID AND SI.UDF_ITEM_TYPE_ID = '0' AND (TRUNC (PR.PORELEASEDATE) <= sysdate + DECODE (6, 7, -1, 0)+14) AND PR.ORDERID LIKE '%PROC%' AND ( EXISTS (SELECT NULL FROM IN_ITEM II WHERE IT.ITEM_ID = II.ITEM_ID AND II.FAMILY_ID IN ('104001000', '104001001', '104002000', '104002002', '104002001', '104003000', '104005000', '104004000', '104006000', '104007000', '104008000', '104009000', '104010000', '104013000', '104014000', '403019001', '404001000', '404002000', '404003000', '404002001', '404004000', '404006000', '404008000', '404007000', '405001000', '404009000' )) OR SUBSTR (PR.ITEM, 1, 9) IN ('000000701', '000000702')) AND ( IT.UDF_IS_JIT = '1' OR EXISTS (SELECT NULL FROM TEMP_SDPP SDP WHERE PR.ITEM = SDP.ITEM AND ( SDP.supplytype = 'PROC' OR SDP.supplytype IS NULL))) --ADD BY HUANGYANGXIONG ON 20160516 增加供应商最小采购批量的限制 AND SUBSTR(PR.RECOMMENDEDSUPID,INSTR(PR.RECOMMENDEDSUPID,'_')+5) NOT IN ( SELECT DISTINCT SUPPLIER_ID FROM SAP_SUPPLIER_MINQTY ) AND PR.ITEM IN ('000000104004000581','000000104002152139','000000701123300116') GROUP BY PR.ITEM, SUBSTR (PR.RECOMMENDEDSUPID, 6), TRUNC (PR.PORELEASEDATE), IT.PROC_GROUP_ID, IT.PROC_GROUP_DESCR, IT.SITE_ID, SI.LOCATION_ID, SI.QTY_UOM, PR.PLANNEDDELDATE;