Delete Of Specific Equipment to be Ordered Raises An Integrity Constraint Error.

(Doc ID 1077292.1)

Last updated on JULY 09, 2014

Applies to:

Oracle Transportation Management - Version: 6.0.3 to 6.0.5 - Release: 6 to 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

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