orcal写接口
2019獨角獸企業重金招聘Python工程師標準>>>
CREATE OR REPLACE PROCEDURE WDC11AP --------------------------------------------------------------------------------- PROGRAM HEADER ?++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------- SYSTEM NAME ? ? ? ERP ?INTERFACE ?SYSTEM-- SUB_SYSTEM NAME ? PRODUCT MOVE RESULT-- PROGRAM NAME ? ? ?DELAY DATA SEND TO ERP EQUIPMENT SYSTEM-- PROGRAM ID ? ? ? ?ODM041AP-- DESIGNER ? ? ? ? ?xxx-- CODER ? ? ? ? ? ? xxx-- DATE ? ? ? ? ? ? ?2018.09.27-- DESCRIPTION ? ? ? DELAY DATA SEND TO ERP EQUIPMENT SYSTEM--------------------------------------------------------------------------------- UPDATE HISTORY ?++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------- VER ? DATE ? ? ? ?EDITOR ? ? ? DESCRIPTION-- 1.00 ?2018.09.27 ?景維松 ? ? ? ? 上拋數據--------------------------------------------------------------------------------- DECLARATION ? ? ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------主鍵 (P_COMP_ID ? ? ? ? ? IN TB_POD_011.COMP_ID %TYPE DEFAULT NULL, ? ?--公司別P_ORDER_NO ? ? ? ? ?IN TB_POD_011.ORDER_NO %TYPE DEFAULT NULL, ? ?--訂單編號P_ORDER_ITEM ? ? ? ?IN TB_POD_011.ORDER_ITEM %TYPE DEFAULT NULL, ? --訂單項次P_LOTNO ? ? ? ? ? ? IN TB_OD_0021.LOTNO %TYPE DEFAULT NULL, ? ? ? ? ?--軋制序號P_SEQUENCENO ? ? ? ?IN TB_OD_0021.SEQUENCENO %TYPE DEFAULT NULL, ? ? ? ? --排序號碼P_STATUS ? ? IN VARCHAR2 DEFAULT NULL,P_RTN_MSG OUT VARCHAR2) IS-- CONSTANT DECLAREC_PGM_ID CONSTANT CHAR(10) := 'ODM041AP';--C_QUEUEID ? ? ? ? ? ?CONSTANT ? NISCO.TBDIPDO.QUEUEID%TYPE ? ?:= 'OJ00';C_QUEUEID CONSTANT TBDIPDO.QUEUEID%TYPE := 'WD02';C_FORM_ID CONSTANT VARCHAR2(10) := 'WD02';C_STATUS ?CONSTANT TBDIPDO.STATUS%TYPE := 'N';C_DOMAIN_NAME CONSTANT VARCHAR2(50) := 'MES';C_CHAR_SET ? ?CONSTANT VARCHAR2(02) := '1';C_MSG_TYPE ? ?CONSTANT VARCHAR2(02) := ' ';C_MSG_FORM ? ?CONSTANT VARCHAR2(01) := '1';C_COMPANY_ID ?CONSTANT VARCHAR2(10) := ' ';C_PSW ? ? ? ? CONSTANT VARCHAR2(10) := ' ';C_POINTER ? ? CONSTANT VARCHAR2(06) := ' ';C_RESERVED ? ?CONSTANT VARCHAR2(10) := ' ';C_HEAD_LEN ? ?CONSTANT NUMBER(10) := 129;C_DATA_LEN ? ?CONSTANT NUMBER(10) := 166; --- BY INTERFACE FORMV_TIMESTAMP TBDIPDO.TIMESTAMP%TYPE;V_HEADER ? ?TBDIPDO.HEADER%TYPE;V_DATA_LEN ?NUMBER(12);V_DATA ? ? ?TBDIPDO.DATA%TYPE;-- CHEMICAL DATA DEVIDETYPE TYPE_CHEM IS RECORD(COMP_ID ? ? ? ? ?TB_POD_011.COMP_ID %TYPE DEFAULT NULL, ? ?--公司別ORDER_NO ? ? ? ? TB_POD_011.ORDER_NO %TYPE DEFAULT NULL, ? ?--訂單編號ORDER_ITEM ? ? ? TB_POD_011.ORDER_ITEM %TYPE DEFAULT NULL, ? --訂單項次LOTNO ? ? ? ? ? ?TB_OD_0021.LOTNO %TYPE DEFAULT NULL, ? ? ? ? ?--軋制序號SEQUENCENO ? ? ? TB_OD_0021.SEQUENCENO %TYPE DEFAULT NULL, ? ? ?--排序號碼LINENO ? ? ? ? ? TB_OD_0021.LINENO %TYPE DEFAULT NULL,MILL_DATE ? ? ? ?TB_OD_0021.MILL_DATE %TYPE DEFAULT NULL,HOUSENO ? ? ? ? ?TB_OD_0021.HOUSENO %TYPE DEFAULT NULL,HEATNO ? ? ? ? ? TB_OD_0021.HEATNO %TYPE DEFAULT NULL,INPCS ? ? ? ? ? ?TB_OD_0021.INPCS %TYPE DEFAULT NULL,INWGT ? ? ? ? ? ?TB_OD_0021.INWGT %TYPE DEFAULT NULL,TRADE_NO ? ? ? ? TB_POD_011.TRADE_NO %TYPE DEFAULT NULL,ORDER_LENGTH ? ? TB_POD_011.ORDER_LENGTH %TYPE DEFAULT NULL,ORDER_WIDTH ? ? ?TB_POD_011.ORDER_WIDTH %TYPE DEFAULT NULL,ORDER_THICK ? ? ?TB_POD_011.ORDER_THICK %TYPE DEFAULT NULL,PCS_PLAN ? ? ? ? TB_OD_0021.PCS_PLAN %TYPE DEFAULT NULL,PLANWGT ? ? ? ? ?TB_OD_0021.PLANWGT %TYPE DEFAULT NULL,LOC ? ? ? ? ? ? ?TB_OD_0021.LOC %TYPE DEFAULT NULL,RECODE ? ? ? ? ? TB_OD_0021.RECODE %TYPE DEFAULT NULL,ENDUSE ? ? ? ? ? TB_OD_0021.ENDUSE %TYPE DEFAULT NULL,CUST_NO ? ? ? ? ?TB_POD_011.CUST_NO %TYPE DEFAULT NULL,ORDER_LACKWGT ? ?TB_POD_011.ORDER_LACKWGT %TYPE DEFAULT NULL,ISBOOMORDER ? ? ?TB_POD_011.ISBOOMORDER %TYPE DEFAULT NULL,DEPT ? ? ? ? ? ? TB_OD_0021.DEPT %TYPE DEFAULT NULL,LOCTYPE ? ? ? ? ?TB_OD_0021.LOCTYPE %TYPE DEFAULT NULL,LAYER ? ? ? ? ? ?TB_OD_0021.LAYER %TYPE DEFAULT NULL);R_TB_POD_011 TYPE_CHEM; --詳細檔數量V_COUNT_CNT NUMBER(3);---- ? ERROR DBV_ERRDB ? ZP_ERROR%ROWTYPE;V_RTN_MSG VARCHAR2(100) := NULL;-- USER EXCEPTION DECLAREPGM_EXIT EXCEPTION;ERR_EXIT EXCEPTION;BEGINP_RTN_MSG ? := NULL;V_COUNT_CNT := 0;--查詢0021是否有數據--有:下拋--沒有:不下拋SELECT COUNT(*) INTO V_COUNT_CNT FROM TB_OD_0021 WHERE LOTNO=P_LOTNO;IF V_COUNT_CNT = 0 THENRETURN;END IF;BEGINSELECT ?B.COMP_ID,B.ORDER_NO,B.ORDER_ITEM,A.LOTNO,A.SEQUENCENO,A.LINENO,A.MILL_DATE,A.HOUSENO,A.HEATNO,A.INPCS,A.INWGT,B.TRADE_NO,B.ORDER_LENGTH,B.ORDER_WIDTH,B.ORDER_THICK,A.PCS_PLAN,A.PLANWGT,A.LOC,A.RECODE,A.ENDUSE,B.CUST_NO,B.ORDER_LACKWGT,B.ISBOOMORDER,A.DEPT,A.LOCTYPE,A.LAYERINTO R_TB_POD_011FROM TB_OD_0021 A , TB_POD_011 B?WHERE A.ORDER_NO=B.ORDER_NO?AND ?A.ORDER_ITEM=B.ORDER_ITEM?AND ?A.COMPID=B.COMP_IDAND A.ORDER_NO=P_ORDER_NOAND A.ORDER_ITEM=P_ORDER_ITEMAND ? A.LOTNO ?= ?P_LOTNO;--------------------------------------------------------------------------------------------------------A.LOTNO,--軋制序號-- A.ID,--捆號-- A.ISWASTE,--是否定尺-- A.WGT,--重量--A.PCS,--支數--C.ORDERCALIBER,--直徑--C.ORDERWIDTH,--寬度--C.ORDERLEN,--長度--A.CREATEDATE,--A.CREATETIME,--B.OPERATECREW--INTO R_TB_OD_0002--FROM TB_OD_0002 A--LEFT JOIN TB_OD_M041 B--ON A.LOTNO=B.LOTNO--AND A.ID=B.ID--LEFT JOIN TB_OD_0011 C--ON A.LOTNO=C.LOTNO--WHERE A.LOTNO=P_LOTNO--AND A.ID=P_ID; ------------------------------------------EXCEPTIONWHEN OTHERS THENP_RTN_MSG ? ? ? ? := 'NOT RESULT DB(TQF_RFP)';V_ERRDB.ERR_DESC ?:= P_RTN_MSG;V_ERRDB.RTN_NAME ?:= 'RESULT DATA SEND TO ERP SYSTEM';V_ERRDB.ERR_PARA1 := '';V_ERRDB.ERR_PARA2 := '';GP_ERROR(C_PGM_ID,'TQF_RFP','R',V_ERRDB.ERR_DESC,V_ERRDB.RTN_NAME,V_ERRDB.ERR_PARA1,V_ERRDB.ERR_PARA2,V_RTN_MSG);ROLLBACK;RETURN;END;---------------------------------------------------------------------------------- ? ? ? ? ? ? ? ?PARAMETA ERROR CHECK--------------------------------------------------------------------------------IF ?P_STATUS ? ? NOT IN('N','U','D') ? THENV_ERRDB.ERR_DESC ?:= ? ? ? ?C_PGM_ID||'-'||'STATUS ERROR';--V_ERRDB.ERR_PARA1 := P_REF_NUM;RAISE PGM_EXIT;END IF;---------------------------------------------------------------------------------- ? ? ? ?CHEMICAL ? ?RESULT ? ? ?READ ?& ?EDIT------------------------------------------------------------------------------------------------------------------------------------------------------------------ ? ? ? DATA ? ? ? ? EDITION--------------------------------------------------------------------------------V_DATA_LEN := C_HEAD_LEN + C_DATA_LEN + 10;V_HEADER := RPAD(NVL(V_DATA_LEN, 0), 12, ' ') || -- ? 1 ~ ? 12RPAD(NVL(C_DOMAIN_NAME, 0), 50, ' ') || -- ?13 ~ ? 62RPAD(NVL(C_QUEUEID, ' '), 12, ' ') || -- ?63 ~ ? 74RPAD(TO_CHAR(SYSDATE, 'YYYYMMDD'), 8, ' ') || -- ?75 ?~ ? 82RPAD(TO_CHAR(SYSDATE, 'HH24MISS'), 6, ' ') || -- ?83 ?~ ? 88RPAD(NVL(C_CHAR_SET, ' '), 2, ' ') || -- ?89 ~ ? 90RPAD(NVL(C_MSG_TYPE, ' '), 2, ' ') || -- ?91 ~ ? 92RPAD(NVL(C_MSG_FORM, ' '), 1, ' ') || -- ?93 ~ ? 93RPAD(NVL(C_COMPANY_ID, ' '), 10, ' ') || -- ?94 ~ ?103RPAD(NVL(C_PSW, ' '), 10, ' ') || -- 104 ~ ?113RPAD(NVL(C_POINTER, ' '), 6, ' ') || -- 114 ~ ?119RPAD(NVL(C_RESERVED, ' '), 10, ' '); -- 120 ~ ?129SELECT ?RPAD(NVL(C_FORM_ID, ' '), 10, ' ') || ? ?-- 1 ~ ?10RPAD(NVL(C_STATUS, ' '), 1, ' ') || ? ? ?-- ?11 ?RPAD(NVL(R_TB_POD_011.COMP_ID,' '),10,' ') || ? ?--12~21RPAD(NVL(R_TB_POD_011.ORDER_NO,' '),15,' ') || ? --22~36RPAD(NVL(R_TB_POD_011.ORDER_ITEM,' '),4,' ') || ? --37~40RPAD(NVL(R_TB_POD_011.LOTNO,' '),15,' ') || ? ? ? --41~55RPAD(NVL(R_TB_POD_011.SEQUENCENO,' '),15,' ') || ?--56~70RPAD(NVL(R_TB_POD_011.LINENO,' '),2,' ')|| ? ? --71~72RPAD(NVL(R_TB_POD_011.HOUSENO,' '),2,' ') || ? ? ?--73~74RPAD(NVL(R_TB_POD_011.MILL_DATE,' '),14,' ') || ? ? ?--75~88RPAD(NVL(R_TB_POD_011.HEATNO,' '),8,' ') || ? ? ? ?--89~96RPAD(NVL(R_TB_POD_011.INPCS,0),6,' ') || ? ? ? ? ? --97~102RPAD(NVL(R_TB_POD_011.INWGT,0),16,' ') || ? ? ? ? ?--103~118RPAD(NVL(R_TB_POD_011.TRADE_NO,' '),15,' ') || ? ? ?--119~133RPAD(NVL(R_TB_POD_011.ORDER_LENGTH,0),11,' ') || ? ?--134~144RPAD(NVL(R_TB_POD_011.ORDER_WIDTH,0),11, ' ') || ? ?--145~155RPAD(NVL(R_TB_POD_011.ORDER_THICK,0),11,' ') || ? ? --156~166RPAD(NVL(R_TB_POD_011.PCS_PLAN,0),9,' ') || ?--167~175RPAD(NVL(R_TB_POD_011.PLANWGT,0),16,' ') || ?--176~191RPAD(NVL(R_TB_POD_011.LOC,' '),9,' ') || ? ? --192~200RPAD(NVL(R_TB_POD_011.RECODE,' '),1,' ') || ?--201RPAD(NVL(R_TB_POD_011.ENDUSE,' '),1,' ') || ?--202RPAD(NVL(R_TB_POD_011.CUST_NO,' '),20,' ') || ? ? ? --203~222RPAD(NVL(R_TB_POD_011.ORDER_LACKWGT,0),13,' ') || ? --223~235RPAD(NVL(R_TB_POD_011.ISBOOMORDER,' '),1,' ') || ? ? --236RPAD(NVL(R_TB_POD_011.DEPT,' '),5,' ') || ? ?--237~241RPAD(NVL(R_TB_POD_011.LOCTYPE,' '),1,' ') || --242RPAD(NVL(R_TB_POD_011.LAYER,0),3,' ') ?--243~245------------------------------------------------------------------------------------------------RPAD(NVL(C_FORM_ID, ' '), 10, ' ') || -- 1 ~ ?10-- RPAD(NVL(C_STATUS, ' '), 1, ' ') || -- ? 11 ?-- RPAD(NVL(R_TB_OD_0002.LOTNO, ' '), 15, ' ') || -- ? 12- 24-- RPAD(NVL(R_TB_OD_0002.ID, ' '), 4, ' ') || -- ? 25 ~ ? ?28 ??-- RPAD(NVL(R_TB_OD_0002.ISWASTE, 0), 1, ' ') || -- ? 29 ? ? ?-- RPAD(NVL(R_TB_OD_0002.WGT||'', 0), 12, ' ') || -- ? 30 ~ ? ?31 ? ??-- RPAD(NVL(R_TB_OD_0002.PCS||'', ' '), 1, ' ') || -- ? 32 ~ ? ?34 ? ? ?-- RPAD(NVL(R_TB_OD_0002.ORDERCALIBER||'', ' '), 8, ' ') || -- ? 35 ~ ? ?42 ? ? ?-- RPAD(NVL(R_TB_OD_0002.ORDERWIDTH||'', ' '), 8, ' ') || -- ? 43 ~ ? ?50 ? ? ?-- RPAD(NVL(R_TB_OD_0002.ORDERLEN||'', 0), 8, ' ') || -- ? 51 ~ ? ?58 ? ? ?-- RPAD(NVL('', 0), 8, ' ') || -- ? 59 ~ ? ?66 ? ?-- RPAD(NVL('', 0), 6, ' ') || -- ?67 ~ ? ? 72-- RPAD(NVL(R_TB_OD_0002.OPERATECREW, 0), 1, ' ') || -- ?73?-- RPAD(NVL('', 0), 5, ' ') || -- ?74 ~ ? ? 78-- RPAD(NVL('', 0), 6, ' ') || -- ?79 ~ ? ? ?84-- RPAD(NVL('', 0), 20, ' ') || -- ?85 ~ ? 104-- RPAD(NVL('', 0), 14, ' ') || -- ?105 ~ ? ?118-- RPAD(NVL('', 0), 8, ' ') || -- ?119 ~ ? 126-- RPAD(NVL('', 0), 1, ' ') || -- ?127-- RPAD(NVL('', 0), 1, ' ') || -- ?128-- RPAD(NVL('', 0), 10, ' ') || -- ?129 ~ ? ?138-- RPAD(NVL('', 0), 12, ' ') || -- ?139 ~ ? 150-- RPAD(NVL('', 0), 1, ' ') || -- ?151-- RPAD(NVL('', 0), 15, ' ')-- ?152 ~ ? 166------------------------------------------------------------------------------------------------ ? ? ? ?INTO V_DATAFROM DUAL;--2018,06,20 sunbin end---------------------------------------------------------------------------------- ? ? ? ? ? INTERFACE SEQUENCS--------------------------------------------------------------------------------SELECT (TO_DATE(TO_CHAR(SYSTIMESTAMP(3), 'YYYYMMDDHH24MISS'),'YYYYMMDDHH24MISS') -TO_DATE('19700101080000', 'YYYYMMDDHH24MISS')) * 86400000 +TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF'))INTO V_TIMESTAMPFROM DUAL;---------------------------------------------------------------------------------- ? ? ? ? ? ? ? ?PARAMETA ERROR CHECK--------------------------------------------------------------------------------BEGININSERT INTO TBDIPDOVALUES(V_TIMESTAMP,GS_TBDIPDO_SEQ.NEXTVAL,C_QUEUEID,V_HEADER,V_DATA,C_STATUS,NULL, -- PROCESS TIMENULL -- DESCRIPTION (PROCESS ERROR MESSAGE));EXCEPTIONWHEN OTHERS THENP_RTN_MSG ? ? ? ? := 'DATA ERP INTERFACE DB INSERT ERROR(TQF_RFP)';V_ERRDB.ERR_DESC ?:= SQLCODE || '>>' || SUBSTR(SQLERRM, 1, 90);V_ERRDB.RTN_NAME ?:= 'DATA SEND TO ERP SYSTEM';V_ERRDB.ERR_PARA1 := '';V_ERRDB.ERR_PARA2 := '';GP_ERROR(C_PGM_ID,'TBDIPDO','B',V_ERRDB.ERR_DESC,V_ERRDB.RTN_NAME,V_ERRDB.ERR_PARA1,V_ERRDB.ERR_PARA2,V_RTN_MSG);ROLLBACK;RETURN;END;RETURN;EXCEPTIONWHEN PGM_EXIT THENV_ERRDB.ERR_DESC := P_RTN_MSG;--DBMS_OUTPUT.PUT_LINE(C_PGM_ID||V_ERRDB.ERR_DESC);V_ERRDB.RTN_NAME ?:= 'DATA SEND TO ERP SYSTEM';V_ERRDB.ERR_PARA2 := '';GP_ERROR(C_PGM_ID,'','',V_ERRDB.ERR_DESC,V_ERRDB.RTN_NAME,V_ERRDB.ERR_PARA1,V_ERRDB.ERR_PARA2,V_RTN_MSG);ROLLBACK;RETURN;WHEN OTHERS THENV_ERRDB.ERR_DESC := SQLCODE || '>>' || SUBSTR(SQLERRM, 1, 90);P_RTN_MSG ? ? ? ?:= V_ERRDB.ERR_DESC;--DBMS_OUTPUT.PUT_LINE(C_PGM_ID||'--'||V_ERRDB.ERR_DESC);V_ERRDB.RTN_NAME ?:= 'DATA SEND TO ERP SYSTEM';V_ERRDB.ERR_PARA1 := '';V_ERRDB.ERR_PARA2 := '';GP_ERROR(C_PGM_ID,'TBDIPDO','R',V_ERRDB.ERR_DESC,V_ERRDB.RTN_NAME,V_ERRDB.ERR_PARA1,V_ERRDB.ERR_PARA2,V_RTN_MSG);ROLLBACK;RETURN;END WDC11AP;?
轉載于:https://my.oschina.net/u/3740271/blog/2221464
總結
- 上一篇: 韩剧tv与韩剧tv极速版
- 下一篇: 得间小说如何查看目录