My Oracle Support Banner

Delete Of Specific Equipment to be Ordered Raises An Integrity Constraint Error. (Doc ID 1077292.1)

Last updated on JULY 20, 2024

Applies to:

Oracle Transportation Management - Version 6.0.3 to 6.0.5 [Release 6]
Information in this document applies to any platform.

Symptoms

On OTM Version 6.0.3,When attempting to delete the equipment group defined under "Specific Equipment to be Ordered" section on the order release header tab while the same equipment group is selected from "Order Release Equipment ID" drop-down list under ship unit, the following error occurs.

ERROR
-----------------------
Cannot delete the OR_EQUIPMENT record. A SHIP_UNIT record references it in its ORDER_RELEASE_GID, OR_EQUIPMENT_SEQ column.
java.sql.SQLException: ORA-02292: integrity constraint (GLOGOWNER.FK_SU_OR_EQUIPMENT_GID) violated - child record found

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3316)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3400)
at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:128)
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:793)
at glog.util.remote.BeanManagedEntityBean$4.execute(BeanManagedEntityBean.java:301)
at glog.util.remote.BeanManagedEntityBean.dbModify(BeanManagedEntityBean.java:1066)
at glog.util.remote.BeanManagedEntityBean.doRemove(BeanManagedEntityBean.java:298)
at glog.util.remote.BaseEntityBean$4.doIt(BaseEntityBean.java:542)
at glog.util.remote.BaseEntityBean.ejb(BaseEntityBean.java:798)
at glog.util.remote.BaseEntityBean.ejbRemove(BaseEntityBean.java:538)
at glog.util.remote.BeanManagedEntityBean.ejbRemove(BeanManagedEntityBean.java:575)
at glog.ejb.order.ejb_OrEquipment_b8c88i_Impl.ejbRemove(ejb_OrEquipment_b8c88i_Impl.java:133)
at weblogic.ejb.container.manager.ExclusiveEntityManager.remove(ExclusiveEntityManager.java:988)
at weblogic.ejb.container.internal.EntityEJBObject.remove(EntityEJBObject.java:133)
at glog.ejb.order.ejb_OrEquipment_b8c88i_EOImpl.remove(ejb_OrEquipment_b8c88i_EOImpl.java:1929)
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:585)
at glog.util.remote.BeanBaseInvoker.invoke(BeanBaseInvoker.java:24)
at glog.util.remote.EntityBeanInvoker.remove(EntityBeanInvoker.java:60)
at glog.util.persistence.CascadeDelete.doRemoval(CascadeDelete.java:173)
at glog.util.persistence.CascadeDelete.persist(CascadeDelete.java:77)
at glog.util.persistence.InsertUpdate.doPersist(InsertUpdate.java:101)
at glog.util.persistence.InsertUpdate.persist(InsertUpdate.java:72)
at glog.util.persistence.PersistenceManager.execute(PersistenceManager.java:122)
at glog.server.compareengine.TopicPublisher.persist(TopicPublisher.java:161)
at glog.server.compareengine.TopicPublisher.publish(TopicPublisher.java:64)
at glog.server.compareengine.CompareEngine.compare(CompareEngine.java:110)
at glog.server.compareengine.CompareEngine.compare(CompareEngine.java:71)
at glog.util.genericcontainer.GenericContainerUtilSessionBean.compare(GenericContainerUtilSessionBean.java:139)
at glog.util.genericcontainer.GenericContainerUtilSessionBean.compareAndStore(GenericContainerUtilSessionBean.java:126)
at glog.util.genericcontainer.GenericContainerUtilSessionServerSideEJBWrapper.compareAndStore(GenericContainerUtilSessionServerSideEJBWrapper.java:268)
at glog.util.genericcontainer.GenericContainerUtilSessionServerSideEJBWrapper_6hrtm7_EOImpl.compareAndStore(GenericContainerUtilSessionServerSideEJBWrapper_6hrtm7_EOImpl.java:429)
at glog.webserver.update.AbstractUpdate.callGenericContainer(AbstractUpdate.java:359)
at glog.webserver.update.GenericContainerXMLUpdate.process(GenericContainerXMLUpdate.java:168)
at glog.server.xmlupdate.XMLUpdateSessionBean.updateAndTrack(XMLUpdateSessionBean.java:244)
at glog.server.xmlupdate.XMLUpdateSessionServerSideEJBWrapper.updateAndTrack(XMLUpdateSessionServerSideEJBWrapper.java:344)
at glog.server.xmlupdate.XMLUpdateSessionHome_x72wrp_EOImpl.updateAndTrack(XMLUpdateSessionHome_x72wrp_EOImpl.java:68)
at glog.server.xmlupdate.XMLUpdateSessionHome_x72wrp_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:553)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:443)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:439)
at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:61)
at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:983)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)


STEPS
-----------------------
The issue can be reproduced at will with the following steps:

1- Create an order release and set the following > save.

* On the OR header: Set the "Specific Equipment to be Ordered".
* On the Ship unit: Select the equipment from "Order Release Equipment ID" drop-down list.

2- Edit the order > delete the "Specific Equipment to be Ordered" from the header tab > finished > see the error.

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.