0% found this document useful (0 votes)
40 views2 pages

Error TI

The document describes an Oracle database error related to violating a unique constraint. It also includes the full SQL code that was attempting to execute a merge statement and various updates, inserts and deletes on various tables to process a receipt when the unique constraint was violated.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views2 pages

Error TI

The document describes an Oracle database error related to violating a unique constraint. It also includes the full SQL code that was attempting to execute a merge statement and various updates, inserts and deletes on various tables to process a receipt when the unique constraint was violated.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Error

ociexecute(): ORA-00001: unique constraint


(SIGAH.SYS_C0034702) violated ORA-06512: at line 1

Error

Se produjo un error al acceder a la base de datos


ORA-00001: unique constraint (SIGAH.SYS_C0034702)
violated ORA-06512: at line 1
BEGIN MERGE INTO IMS_STOCK S USING ( SELECT
CD_ITEM, PRODUCTION_LOT, QT_RECEIPT,
DT_EXPIRATION, CD_PRODUCT, CD_MU,
ID_COMPANY_FK, ID_TO, ID_SIGAH, ( SELECT
NVL( MAX( ID_STOCK ), 0 ) FROM IMS_STOCK ) +
ROWNUM AS ID_STOCK FROM ( SELECT DET.CD_ITEM,
NVL( DET.PRODUCTION_LOT, 'S/L' ) AS
PRODUCTION_LOT, SUM( DET.QT_RECEIPT ) AS
QT_RECEIPT, DET.DT_EXPIRATION, DET.CD_PRODUCT,
DET.CD_MU, DET.ID_COMPANY_FK, REC.ID_TO,
DET.ID_SIGAH FROM IMS_RECEIPT_DET DET INNER
JOIN IMS_RECEIPT REC ON REC.ID_RECEIPT =
DET.ID_RECEIPT AND REC.ID_COMPANY_FK =
DET.ID_COMPANY_FK WHERE DET.ID_RECEIPT =
746530 AND DET.ID_COMPANY_FK = 1 GROUP BY
DET.CD_ITEM, PRODUCTION_LOT, DET.DT_EXPIRATION,
DET.CD_PRODUCT, DET.CD_MU, DET.ID_COMPANY_FK,
REC.ID_TO, DET.ID_SIGAH ) WHERE QT_RECEIPT > 0 )
V ON ( V.ID_TO = S.ID_FROM AND V.CD_PRODUCT =
S.CD_PRODUCT AND V.PRODUCTION_LOT =
NVL( S.PRODUCTION_LOT, 'S/L' ) AND V.ID_SIGAH =
S.ID_SIGAH AND V.ID_COMPANY_FK =
S.ID_COMPANY_FK ) WHEN NOT MATCHED THEN INSERT
( CD_ITEM, PRODUCTION_LOT, QT_ERP, QT_RESERVED,
QT_STOCK, DT_EXPIRATION, CD_PRODUCT, CD_MU,
ID_COMPANY_FK, ID_STOCK, ID_FROM, DT_INSERT,
DT_UPDATE, ID_SIGAH ) VALUES ( V.CD_ITEM,
V.PRODUCTION_LOT, V.QT_RECEIPT, 0, V.QT_RECEIPT,
V.DT_EXPIRATION, V.CD_PRODUCT, V.CD_MU,
V.ID_COMPANY_FK, V.ID_STOCK, V.ID_TO, SYSDATE,
SYSDATE, V.ID_SIGAH ) WHEN MATCHED THEN UPDATE
SET S.QT_STOCK = S.QT_STOCK + V.QT_RECEIPT,
S.DT_UPDATE= SYSDATE; INSERT INTO IMS_MOVEMENT
( CD_PRODUCT, CD_ITEM, QT_MOVEMENT,
PRODUCTION_LOT, DT_EXPIRATION, ID_MOVEMENT,
TP_MOVEMENT, TP_MOVEMENT_ERP, CD_MU,
ID_COMPANY_FK, ID_DOCUMENT, ID_DOCUMENT_DET,
DT_INSERT, DT_UPDATE, CD_MOVEMENT_ERP,
ID_USER, ID_SIGAH, ID_FROM_TO, IO_MOVEMENT )
SELECT DET.CD_PRODUCT, DET.CD_ITEM,
DET.QT_RECEIPT, DET.PRODUCTION_LOT,
DET.DT_EXPIRATION, SEQ_ID_MOVEMENT.NEXTVAL,
'18', '352', DET.CD_MU, 1, R.ID_RECEIPT,
DET.ID_RECEIPT_DET, R.DT_RECEIPT, R.DT_RECEIPT,
'7018152037', 83, DET.ID_SIGAH, R.ID_FROM, 'I' FROM
IMS_RECEIPT_DET DET INNER JOIN IMS_RECEIPT R ON
R.ID_COMPANY_FK = DET.ID_COMPANY_FK AND
R.ID_RECEIPT = DET.ID_RECEIPT WHERE
DET.ID_COMPANY_FK = 1 AND DET.ID_RECEIPT =
746530 AND DET.QT_RECEIPT > 0; UPDATE
IMS_RECEIPT SET ST_RECEIPT = 30, DT_UPDATE =
SYSDATE WHERE ID_RECEIPT = 746530 AND
ID_COMPANY_FK = 1; UPDATE IMS_RECEIPT_DET SET
ST_RECEIPT_DET = 30 WHERE ID_RECEIPT = 746530
AND ID_COMPANY_FK = 1; INSERT INTO
IMS_HIS_RECEIPT SELECT * FROM IMS_RECEIPT WHERE
ID_RECEIPT = 746530 AND ID_COMPANY_FK = 1;
INSERT INTO IMS_HIS_RECEIPT_DET SELECT * FROM
IMS_RECEIPT_DET WHERE ID_RECEIPT = 746530 AND
ID_COMPANY_FK = 1; DELETE FROM IMS_RECEIPT_DET
WHERE ID_RECEIPT = 746530 AND ID_COMPANY_FK =
1; DELETE FROM IMS_RECEIPT WHERE ID_RECEIPT =
746530 AND ID_COMPANY_FK = 1; END;

You might also like