"Cannot update the AUDIT_TRAIL record. [AUDIT_OBJECT_TYPE_GID] must reference a valid AUDIT_OBJECT_TYPE record." Error While Inserting Audit for SHIPMENT SHIP UNIT - REMOVED (Doc ID 1598158.1)

Last updated on SEPTEMBER 08, 2016

Applies to:

Oracle Transportation Management - Version 6.2.4 to 6.3.4 [Release 6.2 to 6.3]
Information in this document applies to any platform.

Symptoms


When attempting to work with Audits and the Audit of SHIPMENT SHIP UNIT - REMOVED, the following error occurs.

 -- Error
Cannot update the AUDIT_TRAIL record. [AUDIT_OBJECT_TYPE_GID] must reference a valid AUDIT_OBJECT_TYPE record.
  java.sql.BatchUpdateException: ORA-02291: integrity constraint (GLOGOWNER.FK_AT_AUDIT_OBJECT_TYPE_GID) violated - parent key not found


java.sql.BatchUpdateException: ORA-02291: integrity constraint (GLOGOWNER.FK_AT_AUDIT_OBJECT_TYPE_GID) violated - parent key not found

at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:629)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9447)
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:211)
at weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.java:210)
at glog.util.jdbc.noserver.SqlPreparedStatement.executeBatch(SqlPreparedStatement.java:97)
at glog.util.jdbc.SqlUpdate.processBatch(SqlUpdate.java:145)
at glog.util.jdbc.SqlUpdate.resetArguments(SqlUpdate.java:243)
at glog.util.jdbc.SqlUpdate.resetArguments(SqlUpdate.java:166)
at glog.util.jdbc.SqlUpdate.execute(SqlUpdate.java:91)
at glog.util.beandata.BeanDataInserter.insertDBBatch(BeanDataInserter.java:359)
at glog.util.beandata.BeanDataInserter.insertDB(BeanDataInserter.java:303)
at glog.util.beandata.BeanDataInserter.insert(BeanDataInserter.java:198)
at glog.util.beandata.BeanDataInserter.insert(BeanDataInserter.java:233)
at glog.util.beandata.BeanDataInserter.insert(BeanDataInserter.java:172)
at glog.server.workflow.aud.AUDSessionBean.saveAuditTrailData(AUDSessionBean.java:160)
at glog.server.workflow.aud.AUDSessionBean.logRecordWOLocking(AUDSessionBean.java:84)
at glog.server.workflow.aud.AUDSessionBean.access$000(AUDSessionBean.java:35)
at glog.server.workflow.aud.AUDSessionBean$1.synchronize(AUDSessionBean.java:66)
at glog.server.synch.LockExecutor.synchronize(LockExecutor.java:33)
at glog.server.synch.TransactionalLock.lock(TransactionalLock.java:126)
at glog.server.workflow.aud.AUDSessionBean.logRecordWLocking(AUDSessionBean.java:71)
at glog.server.workflow.aud.AUDSessionBean.logAuditTrailRecord(AUDSessionBean.java:45)
at glog.server.workflow.aud.AUDSessionServerSideEJBWrapper.logAuditTrailRecord(AUDSessionServerSideEJBWrapper.java:48)
at glog.server.workflow.aud.AUDSessionHome_a969vf_EOImpl.logAuditTrailRecord(AUDSessionHome_a969vf_EOImpl.java:59)
at glog.server.workflow.notify.NotifyByRecipientDomain.route(NotifyByRecipientDomain.java:76)
at glog.server.workflow.notify.NotifyBundle.send(NotifyBundle.java:61)
at glog.server.workflow.notify.Notify$ContextsByMethod.route(Notify.java:136)
at glog.server.workflow.notify.Notify.send(Notify.java:91)
at glog.server.workflow.notify.Notify.send(Notify.java:47)
at glog.server.workflow.notify.Notify.send(Notify.java:37)
at glog.server.workflow.notify.lifetimeeventnotify.LifeTimeNotifyWorkflow.execute(LifeTimeNotifyWorkflow.java:63)
at glog.server.workflow.WorkflowSessionBean.execute(WorkflowSessionBean.java:64)
at glog.server.workflow.WorkflowSessionServerSideEJBWrapper.execute(WorkflowSessionServerSideEJBWrapper.java:38)
at glog.server.workflow.WorkflowSessionServerSideEJBWrapper_61kh96_EOImpl.execute(WorkflowSessionServerSideEJBWrapper_61kh96_EOImpl.java:206)
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:86)
at java.lang.Thread.run(Thread.java:619)
[lifetime - 2]

 -- Expected Behavior
That no error would be presented in logs when using the Audit


 -- Steps
 The issue can be reproduced at will with the following steps.
Log into a support instance running OTM 6.2

1. Create a contact
2. On Notification Tab define an Audit type of SHIPMENT SHIP UNIT - REMOVED
3. Create an Order Release with 2 or more ship units
4. Plan the Order onto Shipment
5. Navigate to Shipment Management > Shipment Management > Shipment Ship Unit
6. Search for Shipment
7. Delete one of the ship units and error is received.


 

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