ORA -20003 with no error message
Date: 3 May 2002 10:20:16 -0700
Message-ID: <53566469.0205030920.3f213c60_at_posting.google.com>
Can anybody help, we have a customer who after a recent DB upgrade
script is receiving
an error : 'ORA-20003' with no error message. We have some data
validation on the database
that raises this error code but with an error message. But this
problem is occuring unexpectedly
in areas where this validation is not done (and without the associated
message). I had heard that
this sometimes occurs when objects are invalid but the following query
returns no rows :
select * from all_objects where owner = 'APACR' and status = 'INVALID'; Thanks, Joe Mellors
I don't know if it will be of use but this is the script theyran in before the problem occured :
ALTER TABLE APACR.TBLPROJIPPTABLE
ADD (CAN VARCHAR2(20));
CREATE OR REPLACE PROCEDURE APACR.UPDATE_LOCATIONS
(APROJID IN VARCHAR2,
AIPP IN VARCHAR2,
ACAFIG IN VARCHAR2,
AITM IN VARCHAR2,
AISN IN VARCHAR2,
AIND IN NUMBER,
APNR IN VARCHAR2, AMFC IN VARCHAR2, AQNA IN VARCHAR2, AICY IN VARCHAR2, ATQL IN VARCHAR2, ARFS IN VARCHAR2, AUCA IN VARCHAR2, AUCE IN VARCHAR2, ASMF IN VARCHAR2, AMFM IN VARCHAR2, ADFL IN VARCHAR2, ANIL IN VARCHAR2, ARTX IN VARCHAR2, AASP IN VARCHAR2, AILS IN VARCHAR2, AMAP IN NUMBER, ACTL IN VARCHAR2, AESC IN VARCHAR2,
ACSR IN NUMBER, ANSC IN VARCHAR2,
ANIN IN VARCHAR2, ACAN IN VARCHAR2,
AISNSORT IN VARCHAR2, ANHA IN VARCHAR2, APRECAN IN VARCHAR2, ACM_APPLIC IN VARCHAR2) IS
VPDC CHAR(1); VPNR VARCHAR2(32); VMFC VARCHAR2(5); ICOUNT INTEGER; VPASN_NEEDED CHAR(1); IS_MASTER BOOLEAN; VIS_M CHAR(1); STRCAN VARCHAR2(20); STRCAT VARCHAR2(1); BEGIN SELECT PNR, MFC INTO VPNR, VMFC FROM TBLLOCATIONS WHERE PROJID = APROJID AND IPP = AIPP AND CAFIG = ACAFIG AND ITM = AITM AND ISN = AISN; VPASN_NEEDED := PASN_NEEDED(APROJID, AIPP, APNR, AMFC, 'Y'); PASN_PACK.NUM_HELD := 0; PASN_PACK.PASN_HOLD.DELETE; PASN_PACK.NUM_HELD := PASN_PACK.NUM_HELD + 1; PASN_PACK.PASN_HOLD(PASN_PACK.NUM_HELD).N_PROJID := APROJID; PASN_PACK.PASN_HOLD(PASN_PACK.NUM_HELD).N_IPP := AIPP; PASN_PACK.PASN_HOLD(PASN_PACK.NUM_HELD).N_CAFIG := ACAFIG; PASN_PACK.PASN_HOLD(PASN_PACK.NUM_HELD).N_ITM := AITM; PASN_PACK.PASN_HOLD(PASN_PACK.NUM_HELD).N_ISN := AISN; PASN_PACK.PASN_HOLD(PASN_PACK.NUM_HELD).N_PNR := APNR; PASN_PACK.PASN_HOLD(PASN_PACK.NUM_HELD).N_MFC := AMFC; PASN_PACK.PASN_HOLD(PASN_PACK.NUM_HELD).PASN_NEEDED := VPASN_NEEDED; SELECT PDC INTO VPDC FROM TBLINTPROJECT WHERE PROJID = APROJID; IF VPDC = 'I' THEN DELETE FROM APACR.TBLPROJIPPTABLE WHERE PROJID = APROJID AND IPP = AIPP AND PNR = APNR AND MFC = AMFC AND SEQNO = -1; ELSE DELETE FROM APACR.TBLPROJIPPTABLE WHERE PROJID = APROJID AND IPP = '%' AND PNR = APNR AND MFC = AMFC AND SEQNO = -1; END IF; UPDATE TBLLOCATIONS SET IND = AIND, PNR = APNR, MFC = AMFC, QNA = AQNA, ICY = AICY, TQL = ATQL, RFS = ARFS, UCA = AUCA, UCE = AUCE, SMF = ASMF, MFM = AMFM, DFL = ADFL, NIL = ANIL, RTX = ARTX, ASP = AASP, ILS = NULL, MAP = AMAP, CTL = ACTL, ESC = AESC, CSR = ACSR, NSC = ANSC, NIN = ANIN, CAN = ACAN, NHA = ANHA, PRECAN = APRECAN, CM_APPLIC = ACM_APPLIC WHERE PROJID = APROJID AND IPP = AIPP AND CAFIG = ACAFIG AND ITM = AITM AND ISN = AISN; COMMIT; IF (GET_IPP_MASTER_STATUS(AIPP) = 'Y') AND ((VPNR <> APNR) OR (VMFC
<> AMFC)) THEN
IF VPDC = 'I' THEN SELECT COUNT(*) INTO ICOUNT FROM APACR.TBLMASTERPARTS WHERE PROJID = APROJID AND IPP = AIPP AND PNR = VPNR AND MFC = VMFC; IS_MASTER := ICOUNT > 0; SELECT COUNT(PROJID) INTO ICOUNT FROM TBLLOCATIONS WHERE PROJID = APROJID AND IPP = AIPP AND PNR = VPNR AND MFC = VMFC; IF IS_MASTER AND (ICOUNT = 0) THEN DELETE FROM APACR.TBLMASTERPARTS WHERE PROJID = APROJID AND IPP = AIPP AND PNR = VPNR AND MFC = VMFC; GET_CAN_CAT(APROJID, USER, STRCAT, STRCAN); INSERT INTO APACR.TBLPROJIPPTABLE (PROJID, IPP, PNR, MFC, SEQNO, CAN) VALUES (APROJID, AIPP, VPNR, VMFC, -1, STRCAN); END IF; ELSE SELECT IS_MASTER INTO VIS_M FROM TBLPROJECTPARTS WHERE PROJID = APROJID AND PNR = VPNR AND MFC = VMFC; IS_MASTER := VIS_M = 'Y'; SELECT COUNT(PROJID) INTO ICOUNT FROM TBLLOCATIONS WHERE PROJID = APROJID AND PNR = VPNR AND MFC = VMFC; IF IS_MASTER AND (ICOUNT = 0) THEN UPDATE TBLPROJECTPARTS SET IS_MASTER = NULL WHERE PROJID = APROJID AND PNR = VPNR AND MFC = VMFC; GET_CAN_CAT(APROJID, USER, STRCAT, STRCAN); INSERT INTO APACR.TBLPROJIPPTABLE (PROJID, IPP, PNR, MFC, SEQNO, CAN) VALUES (APROJID, '%', VPNR, VMFC, -1, STRCAN); END IF; END IF; END IF; COMMIT; EXCEPTION WHEN GLOBAL.COLUMN_WIDTH THEN RAISE_APPLICATION_ERROR(-20021, 'INSERTED VALUE IS TOO LARGE FOR COLUMN'); ROLLBACK; WHEN GLOBAL.MANDATORY_DATA_MISSING THEN RAISE_APPLICATION_ERROR(-20018, 'MANDATORY DATA FIELD CANNOT BE NULL'); ROLLBACK; WHEN LOCATIONRELATED.QNA_TQL_MISMATCH THEN RAISE_APPLICATION_ERROR(-20019, 'QNA AND TQL MUST BE THE SAME (REF/AR)'); ROLLBACK; WHEN LOCATIONRELATED.ICY_LENGTH THEN RAISE_APPLICATION_ERROR(-20020, 'ICY INCORRECT LENGTH'); ROLLBACK; WHEN GLOBAL.CAT1_CAT2 THEN RAISE_APPLICATION_ERROR(-20102, 'DEFAULT CAN/CAT IS MISSING'); ROLLBACK; WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20000, 'UNKNOWN ERROR - DATA NOT COMMITED'); ROLLBACK;
END;
/ Received on Fri May 03 2002 - 19:20:16 CEST