My Oracle Support Banner

Transaction Fails to Persist in Database and Sent to Queue Exception Directory Due to 'ORA-00001: Unique Constraint (OR_LTM_MDFR_RPRC_PK) Violated' (Doc ID 2230707.1)

Last updated on FEBRUARY 27, 2019

Applies to:

Oracle Retail Point-of-Service - Version 14.0 and later
Information in this document applies to any platform.

Symptoms

In Oracle Retail Point of Service (ORPOS), sale with a coupon and manual discount applied transaction sent to queue exception with the error below.

SQL Error Code: 1; SQL State: 23000;
SQL Statement: INSERT INTO OR_LTM_MDFR_RPRC ( ID_ORD, AI_ORD_LN_ITM, AI_ORD_MDFR_RT_PRC, MO_DSC_TOT, MO_DSC_COMPL, MO_DSC_CANCL, MO_DSC_RTRN) VALUES ('xxxxxxxxxxx', 0, 0, 2.00, 2.00, 0.00, 2.00)
, FullLocation=oracle.retail.stores.foundation.manager.data.JdbcDataConnection.logSQLException(JdbcDataConnection.java:1451), PattCreatTime=701409960]
[Entry id=13106, date=2016-12-01 19:00:14,305, level=ERROR, thread=RMI TCP Connection(19477)-xxx.xxx.x.xxx, emitter=oracle.retail.stores.domain.arts.JdbcSaveRetailTransactionLineItems, message=Class: oracle.retail.stores.foundation.manager.data.DataException(Revision $Revision: /main/18 $) @29477607: SQLState: 23000
Integrity constraint violation, Source Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (POSBOUS.OR_LTM_MDFR_RPRC_PK) violated

Transaction Name: [null]
Error code: [10] [A referential integrity error occurred during database access.]
Error code (extended): [1]
Description: [SQLState: 23000
Integrity constraint violation, Source Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (OR_LTM_MDFR_RPRC_PK) violated
]
Query String: INSERT INTO OR_LTM_MDFR_RPRC ( ID_ORD, AI_ORD_LN_ITM, AI_ORD_MDFR_RT_PRC, MO_DSC_TOT, MO_DSC_COMPL, MO_DSC_CANCL, MO_DSC_RTRN) VALUES ('xxxxxxxxxxx', 0, 0, 2.00, 2.00, 0.00, 2.00)
Original exception: [null]



Steps to Reproduce:

Prerequisites:

a. Create a "Buy n of X for a specified amount off" promotion.
b. Trigger of promotion will be qty=2 and amount off = 15$.

1. Login to POS.
2. Scan item A.
3. Scan Item B.
4. Scan item C.
5. Scan item D.
6. Apply Manual % item discount on all Item. (Select all items then press->Pricing(F8)-> Discount(F4)-> % Item(F4)).
7. Mark one of the item as delivery item. (Select one item then press-> Item(F4)->More (F9)-> Shipping(F7)).
8. Complete the transaction.
9. Return one in store item from above transaction and then delete it (important step).
10. In same transaction Add item E 2 times (BOGO) - buy 2 get 15$ off.
11. Add store transaction coupon (In base we have store coupon data. Use "27605" item as store coupon).
12. Apply Manual % item discount on all Item. (Select all items then press-> Pricing(F8)-> Discount(F4)-> % Item(F4)).
13. Mark one of the item as delivery item. (Select one item then press-> Item(F4)->More (F9)-> Shipping(F7)).
14. Complete the transaction.

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.