以下是本应在TEMP中处理,目前是写到FP_CHECK_SAP_DATA中
----JIT物料在途未清PO作为供给 add by landor on 20180809
INSERT INTO SAP_INVENTORY_PO(EBELN,EBELP,ETENR,WERKS,MATNR,MENGE,MEINS)
SELECT EKET.EBELN,LPAD(EKET.EBELP,5,'') EBELP, LPAD(EKET.ETENR,4,'') ETENR,MARC.WERKS,MARC.MATNR,EKET.MENGE-EKET.WAMNG MENGE,EKET.MEINS
FROM SAP_MARC MARC
JOIN SAP_EKET EKET ON MARC.MATNR=EKET.MATNR AND MARC.WERKS= EKET.WERKS
WHERE NOT EXISTS(SELECT NULL FROM SAP_INVENTORY_PO A WHERE A.EBELN=EKET.EBELN AND A.EBELP=LPAD(EKET.EBELP,5,'') AND A.MATNR=MARC.MATNR)
AND EKET.MENGE-EKET.WAMNG >0 AND MARC.FABKZ='' ;
COMMIT;
此逻辑是先写到SAP_INVENTORY_PO表,然后会执行SAP_PO将数据写入IN_PO,最后再写入IN_INVENTORY