STO单没有取进FP,IN_SAELS_ORDER表无,但IN_PO_STO有

Posted Snowfun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STO单没有取进FP,IN_SAELS_ORDER表无,但IN_PO_STO有相关的知识,希望对你有一定的参考价值。

描述 :业务反馈STO单没有取进FP,经检查IN_SALES_ORDER表没有此单数据,但在IN_PO_STO表却有

 

跟进如下:

1、检查IN_PO_STO表是否有数据

SELECT * FROM IN_PO_STO WHERE PO_ID =\'4700016874\';

2、检查SAP_SALES_ORDER 存储过程插入IN_SALES_ORDER表为什么没有写进去;

经检查TEMP_IN_SALES_ORDER_STO是没有数据的

 SELECT *
        FROM TEMP_IN_SALES_ORDER_STO OE
             --JOIN SAP_MARA SM ON OE.ITEM_ID = SM.MATNR
             LEFT JOIN SAP_CUSTOMER_INSPECT CI
                ON OE.ITEM_ID = CI.MATNR AND OE.CUSTOMER_ID = CI.KUNNR
             JOIN STG.IN_PO_STO SI 
                ON LTRIM(OE.SO_ID,\'0\')=LTRIM(SI.PO_ID,\'0\') AND OE.SO_LINE_ID = SI.PO_LINE_NO
       WHERE  
       NOT EXISTS
                        (SELECT NULL
                           FROM IN_SALES_ORDER
                          WHERE OE.SO_ID || \'_\' || OE.SO_LINE_ID =
                                      LTRIM(IN_SALES_ORDER.SO_ID,\'0\')
                                   || \'_\'
                                   || IN_SALES_ORDER.SO_LINE_ID)AND 
         TRIM(OE.CUSTOMER_ID) IS NOT NULL 
         AND TRIM(OE.SITE_ID) IS NOT NULL
        and OE.SO_ID=\'4700016874\';

3、TEMP_IN_SALES_ORDER_STO没有数据,数据来源于SSIS中的SapToSapTemp_ForPO.dtsx

--INSERT INTO STG.TEMP_IN_SALES_ORDER_STO(SO_ID, SO_LINE_ID, POSNR, FAMILY_ID, CUSTOMER_ID, VC_OR_NOT, ITEM_ID, SITE_ID, CREATION_DATE, SALES_GROUP, CHANNEL_ID, DISTRIBUTION, PURCHASE_GROUP, REQUIRE_DATE, PROMISE_DATE, QTY, EX_PROMISE_DATE, STATUS, TOEC_OR_NOT)
SELECT SZ.EBELN AS SO_ID,
LTRIM(SUBSTR(SZ.POSNR,1,6),\'0\')||\'_\'||LTRIM(SUBSTR(SZ.POSNR,7,4),\'0\') AS SO_LINE_ID,
SZ.POSNR AS POSNR,
SZ.MVGR2 AS FAMILY_ID,
SZ.KUNNR AS CUSTOMER_ID,
SZ.KZKFG AS VC_OR_NOT,
SZ.MATNR AS ITEM_ID,
LTRIM(SE.LIFNR,\'R\') AS SITE_ID,
TO_DATE(SUBSTR(SZ.ERDAT,1,4)||\'-\'||SUBSTR(SZ.ERDAT,5,2)||\'-\'||SUBSTR(SZ.ERDAT,7,2),\'YYYY-MM-DD\') AS CREATION_DATE,
SZ.VKORG AS SALES_GROUP,
SZ.VTWEG AS CHANNEL_ID,
SZ.BZIRK AS DISTRIBUTION,
SZ.EKORG AS PURCHASE_GROUP,
TO_DATE(SUBSTR(SZ.VDATU,1,4)||\'-\'||SUBSTR(SZ.VDATU,5,2)||\'-\'||SUBSTR(SZ.VDATU,7,2),\'YYYY-MM-DD\') AS REQUIRE_DATE,
TO_DATE(SUBSTR(SZ.EDATU,1,4)||\'-\'||SUBSTR(SZ.EDATU,5,2)||\'-\'||SUBSTR(SZ.EDATU,7,2),\'YYYY-MM-DD\') AS PROMISE_DATE,
SZ.WMENG AS QTY,
CASE WHEN SZ.ZEDATU = \'00000000\' THEN NULL ELSE TO_DATE(SUBSTR(SZ.ZEDATU,1,4)||\'-\'||SUBSTR(SZ.ZEDATU,5,2)||\'-\'||SUBSTR(SZ.ZEDATU,7,2),\'YYYY-MM-DD\') END AS EX_PROMISE_DATE,
SZ.ZSTATE AS STATUS,
SZ.ZTO_EC AS TOEC_OR_NOT
FROM SAPSR3.ZTSD_008_1@SAP_SEP SZ JOIN SAPSR3.EKKO@SAP_SEP SE ON SZ.MANDT = SE.MANDT AND SZ.EBELN = SE.EBELN
WHERE SZ.EKORG  IN (\'2090\',\'2510\') 
  AND TRIM(SZ.ZSFCH) IS NULL
/*
AND (SZ.ZSTATE IN (\'R\',\'E\') OR TO_DATE(SUBSTR(SZ.ERDAT,1,4)||\'-\'||SUBSTR(SZ.ERDAT,5,2)||\'-\'||SUBSTR(SZ.ERDAT,7,2),\'YYYY-MM-DD\')=TO_DATE(SYSDATE,\'YYYY-MM-DD\'))
*/
AND SZ.MANDT = \'800\'
AND TRIM(SZ.KZKFG) IS NULL
AND LTRIM(SE.LIFNR,\'R\') LIKE \'2%\'

UNION ALL

SELECT SZ.EBELN AS SO_ID,
LTRIM(SUBSTR(SZ.POSNR,1,6),\'0\')||\'_\'||LTRIM(SUBSTR(SZ.POSNR,7,4),\'0\') AS SO_LINE_ID,
SZ.POSNR AS POSNR,
SZ.MVGR2 AS FAMILY_ID,
SZ.KUNNR AS CUSTOMER_ID,
SZ.KZKFG AS VC_OR_NOT,
SZ.MATNR AS ITEM_ID,
LTRIM(SE.LIFNR,\'R\') AS SITE_ID,
TO_DATE(SUBSTR(SZ.ERDAT,1,4)||\'-\'||SUBSTR(SZ.ERDAT,5,2)||\'-\'||SUBSTR(SZ.ERDAT,7,2),\'YYYY-MM-DD\') AS CREATION_DATE,
SZ.VKORG AS SALES_GROUP,
SZ.VTWEG AS CHANNEL_ID,
SZ.BZIRK AS DISTRIBUTION,
SZ.EKORG AS PURCHASE_GROUP,
TO_DATE(SUBSTR(SZ.VDATU,1,4)||\'-\'||SUBSTR(SZ.VDATU,5,2)||\'-\'||SUBSTR(SZ.VDATU,7,2),\'YYYY-MM-DD\') AS REQUIRE_DATE,
TO_DATE(SUBSTR(SZ.EDATU,1,4)||\'-\'||SUBSTR(SZ.EDATU,5,2)||\'-\'||SUBSTR(SZ.EDATU,7,2),\'YYYY-MM-DD\') AS PROMISE_DATE,
SZ.WMENG AS QTY,
CASE WHEN SZ.ZEDATU = \'00000000\' THEN NULL ELSE TO_DATE(SUBSTR(SZ.ZEDATU,1,4)||\'-\'||SUBSTR(SZ.ZEDATU,5,2)||\'-\'||SUBSTR(SZ.ZEDATU,7,2),\'YYYY-MM-DD\') END AS EX_PROMISE_DATE,
SZ.ZSTATE AS STATUS,
SZ.ZTO_EC AS TOEC_OR_NOT
FROM SAPSR3.ZTSD_008_1@SAP_SEP SZ JOIN SAPSR3.EKKO@SAP_SEP SE ON SZ.MANDT = SE.MANDT AND SZ.EBELN = SE.EBELN
WHERE SZ.EKORG=\'2020\' 
  AND TRIM(SZ.ZSFCH) IS NULL
AND SZ.MANDT = \'800\'
AND TRIM(SZ.KZKFG) IS NULL
AND SZ.EBELN LIKE \'52%\'
AND SZ.EBELN=\'4700016874\';

SELECT * FROM  SAPSR3.ZTSD_008_1@SAP_SEP WHERE EBELN=\'4700016874\';

 

第二条SQL语句可以看出数据是在凌晨1点才写进去的,但取数的时候是在12:03分执行的,所以执行第一条SQL语句是没有数据写进去的

 

以上是关于STO单没有取进FP,IN_SAELS_ORDER表无,但IN_PO_STO有的主要内容,如果未能解决你的问题,请参考以下文章

工单进入IN_MO后在FP_PREPROCESS被过滤

FP技巧

SAP MM公司间STO里的一步法转库?

STO发行项目如何估值定价 美国与新加坡STO异同

STO火热之际,Stoluck率先抢占国内STO领域市场

奥泰基金会AOT Foundation向开曼群岛金融管理局CIMA提交STO申请