OTM Actual Shipments update Tiggers Unique Constraint Error: ORA-00001 Error Exception Cannot add the S_SHIP_UNIT record. S_SHIP_UNIT_GID must be unique. (Doc ID 1324499.1)

Last updated on SEPTEMBER 08, 2016

Applies to:

Oracle Transportation Management - Version: 6.1.2 to 6.1.6 - Release: 6.1 to 6.1
Information in this document applies to any platform.

Symptoms

When attempting to plan a two-legged order movement via agent two ship units are created and only one is assigned/associated with a shipment, when Actual Shipments are sent in via integration for the first shipment the following error is seen:

--- Error
2011-01-17 19:09:59.135 707601 Error Exception Cannot add the S_SHIP_UNIT record. S_SHIP_UNIT_GID must be unique.
java.sql.BatchUpdateException: ORA-00001: unique constraint (GLOGOWNER.PK_S_SHIP_UNIT) violated


java.sql.BatchUpdateException: ORA-00001: unique constraint (GLOGOWNER.PK_S_SHIP_UNIT) violated

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:191)
at glog.util.jdbc.SqlUpdate.processBatch(SqlUpdate.java:142)
at glog.util.jdbc.SqlUpdate.resetArguments(SqlUpdate.java:238)
at glog.util.jdbc.SqlUpdate.resetArguments(SqlUpdate.java:161)
at glog.util.jdbc.SqlUpdate.execute(SqlUpdate.java:90)
at glog.util.beandata.BeanDataInserter.insertDBBatch(BeanDataInserter.java:358)
at glog.util.beandata.BeanDataInserter.insertDB(BeanDataInserter.java:302)
at glog.util.beandata.BeanDataInserter.insert(BeanDataInserter.java:197)
at glog.util.beandata.BeanDataInserter.insert(BeanDataInserter.java:232)
at glog.business.util.EntitySaver.insert(EntitySaver.java:252)
at glog.business.util.Persistence.insertupdate(Persistence.java:336)
at glog.business.shipment.PlanningObjectCommitter.commitTSShipUnits(PlanningObjectCommitter.java:579)
at glog.business.planningstructure.PlanningObjectUpdateSessionBean.commitOrderMovementGraph(PlanningObjectUpdateSessionBean.java:109)
at glog.business.planningstructure.PlanningObjectUpdateSessionServerSideEJBWrapper.commitOrderMovementGraph(PlanningObjectUpdateSessionServerSideEJBWrapper.java:38)
at glog.business.planningstructure.PlanningObjectUpdateSessionServerSideEJBWrapper_fexvg1_EOImpl.commitOrderMovementGraph(PlanningObjectUpdateSessionServerSideEJBWrapper_fexvg1_EOImpl.java:134)
at glog.business.shipmentactual.ShipmentActualExecutor.executeShipmentActual(ShipmentActualExecutor.java:973)


-- Expected Behavior
That the the Actual information could be uploaded to the first shipment without error


-- Steps
The issue can be reproduced at will with the following steps.
1. Create an Order Release with a single Ship Unit ID.
2. Create two-leg itinerary.
3. Create two order movements for the above Order Release using above Itinerary:
4. This will create 2 order movement.
5. This will also create two S_SHIP_UNITS

6. Planned Order Movement #1 onto a Shipment: Example: 1234 (Order Movmement #2 remains unplanned)

7. 1. Navigate to Business Process Automation -> Integration -> Integration Manager -> Upload an XML/CSV Transmission
2. Upload XML which is a ShipmentActual that references only the single planned shipment and single S_SHIP_UNIT.

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