ORA-00001: unique constraint (GLOGOWNER.PK_SHIP_COMMIT_ALLOC_JOIN) violated Error using OMD Agent Mod-Edit Shipment Action

(Doc ID 1314902.1)

Last updated on SEPTEMBER 08, 2016

Applies to:

Oracle Transportation Management - Version: 6.1.4 and later   [Release: 6.1 and later ]
Information in this document applies to any platform.

Symptoms


When building a shipment that uses commitment allocation the record is created in the SHIP_COMMIT_ALLOC_JOIN table(as expected), however when you
create a new shipment using the commitment allocation and then modify the order to trigger an agent action: Order Release - Mod - Edit Shipment, the agent fails as a result of an error.

ERROR
-----------------------
java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (GLOGOWNER.PK_SHIP_COMMIT_ALLOC_JOIN) violated

at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:85)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1223)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3386)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3467)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)
at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:172)
at glog.util.jdbc.noserver.SqlPreparedStatement.executeUpdate(SqlPreparedStatement.java:35)
at glog.util.jdbc.SqlUpdate.resetArguments(SqlUpdate.java:241)
at glog.util.jdbc.SqlUpdate.resetArguments(SqlUpdate.java:161)
at glog.util.jdbc.SqlUpdate.execute(SqlUpdate.java:90)
at glog.util.remote.BeanManagedEntityBean.executeUpdate(BeanManagedEntityBean.java:795)
at glog.util.remote.BeanManagedEntityBean$1.execute(BeanManagedEntityBean.java:197)
at glog.util.remote.BeanManagedEntityBean.dbModify(BeanManagedEntityBean.java:1068)
at glog.util.remote.BeanManagedEntityBean.doCreate(BeanManagedEntityBean.java:193)
at glog.util.remote.BaseEntityBean$1.doIt(BaseEntityBean.java:455)
at glog.util.remote.BaseEntityBean.ejb(BaseEntityBean.java:798)
at glog.util.remote.BaseEntityBean.ejbCreator(BaseEntityBean.java:453)
at glog.ejb.capacity.db.ShipCommitAllocJoinBeanDB.ejbCreate(ShipCommitAllocJoinBeanDB.java:53)
at glog.ejb.capacity.ejb_ShipCommitAllocJoin_fkapym_Impl.ejbCreate(ejb_ShipCommitAllocJoin_fkapym_Impl.java:250)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at weblogic.ejb.container.manager.ExclusiveEntityManager.create(ExclusiveEntityManager.java:801)
at weblogic.ejb.container.manager.ExclusiveEntityManager.remoteCreate(ExclusiveEntityManager.java:772)
at weblogic.ejb.container.internal.EntityEJBHome.create(EntityEJBHome.java:270)
at glog.ejb.capacity.ejb_ShipCommitAllocJoin_fkapym_HomeImpl.create(ejb_ShipCommitAllocJoin_fkapym_HomeImpl.java:83)
at glog.business.shipment.PlanningObjectCommitter.commitShipCommitAllocJoins(PlanningObjectCommitter.java:2193)
at glog.business.shipment.PlanningObjectCommitter.commitTShipment(PlanningObjectCommitter.java:1192)
at glog.business.planningstructure.PlanningObjectUpdateSessionBean.commitOrderMovementGraph(PlanningObjectUpdateSessionBean.java:133)
at glog.business.planningstructure.PlanningObjectUpdateSessionServerSideEJBWrapper.commitOrderMovementGraph(PlanningObjectUpdateSessionServerSideEJBWrapper.java:38)
at glog.business.planningstructure.PlanningObjectUpdateSessionBean.commitOrderMovementGraphs(PlanningObjectUpdateSessionBean.java:58)
at glog.business.planningstructure.PlanningObjectUpdateSessionServerSideEJBWrapper.commitOrderMovementGraphs(PlanningObjectUpdateSessionServerSideEJBWrapper.java:79)
at glog.business.planningstructure.PlanningObjectUpdateSessionServerSideEJBWrapper_fexvg1_EOImpl.commitOrderMovementGraphs(PlanningObjectUpdateSessionServerSideEJBWrapper_fexvg1_EOImpl.java:131)
at glog.business.shipment.ShipmentUpdateSessionBean.commitOrderModChanges(ShipmentUpdateSessionBean.java:2002)
at glog.business.shipment.ShipmentUpdateSessionServerSideEJBWrapper.commitOrderModChanges(ShipmentUpdateSessionServerSideEJBWrapper.java:467)
at glog.business.shipment.ShipmentUpdateSessionHome_qj7mtr_EOImpl.commitOrderModChanges(ShipmentUpdateSessionHome_qj7mtr_EOImpl.java:1594)
at glog.business.omd.OrderModShipmentEditor.editShipments(OrderModShipmentEditor.java:534)
at glog.business.session.OMDProcessorSessionBean.editShipments(OMDProcessorSessionBean.java:84)
at glog.business.session.OMDProcessorSessionServerSideEJBWrapper.editShipments(OMDProcessorSessionServerSideEJBWrapper.java:93)
at glog.business.session.OMDProcessorSessionHome_f09cq7_EOImpl.editShipments(OMDProcessorSessionHome_f09cq7_EOImpl.java:210)
at glog.server.agent.business.order.ORModEditShipment.process(ORModEditShipment.java:87)
at glog.server.agent.business.order.ORActionTopic.persist(ORActionTopic.java:47)
at glog.server.agent.PersistActionTopic.execute(PersistActionTopic.java:34)
at glog.server.agent.ActionWorkflow.execute(ActionWorkflow.java:49)
at glog.server.workflow.WorkflowSessionBean.execute(WorkflowSessionBean.java:64)
at glog.server.workflow.WorkflowSessionNonTransServerSideEJBWrapper.execute(WorkflowSessionNonTransServerSideEJBWrapper.java:38)
at glog.server.workflow.WorkflowSessionNonTransServerSideEJBWrapper_t6tuwu_EOImpl.execute(WorkflowSessionNonTransServerSideEJBWrapper_t6tuwu_EOImpl.java:134)
at glog.server.workflow.WorkflowManager.execute(WorkflowManager.java:352)
at glog.server.workflow.Trigger.trigger(Trigger.java:122)
at glog.util.event.MemoryEventQueueRunnable.processEvent(MemoryEventQueueRunnable.java:146)
at glog.util.event.MemoryEventQueueRunnable.run(MemoryEventQueueRunnable.java:98)
at glog.util.event.EventThread.run(EventThread.java:82)
at java.lang.Thread.run(Thread.java:619)



STEPS
-----------------------
Setup:

1. Create OMD agent as follows:
Agent Event: Order Release Modified
Agent Actions:Order Release - Mod - Edit Shipment
2. Create commitment allocation for 2 Carriers.

To Replicate:

The issue can be reproduced at will with the following steps:
1. Log into OTM.
2. Create 2 Orders/Shipments - Each Shipment will go to a Carrier setup up using Commitment Allocations.
3. Edit the Early and Late Pickup on the first order.
4. Note in the logs, the OMD agent created errors with the following:
java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (GLOGOWNER.PK_SHIP_COMMIT_ALLOC_JOIN) violated

Cause

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms