IBM Support

ORA-00001: unique constraint error when executing loadinventorymismatch API

Troubleshooting


Problem

ORA errors when executing loadinventorymismatch API after upgrading from 9.2 to higher Sterling application version

Symptom

<?xml version="1.0" encoding="UTF-8"?>
<Errors>
<Error ErrorCode="YFC0001"
ErrorDescription="Record already exists in the database."
ErrorRelatedMoreInfo=""
ErrorUniqueExceptionId="172.22.223.6014657428505060000000000456">
<Attribute Name="ErrorCode" Value="YFC0001"/>
<Attribute Name="ErrorDescription" Value="Record already exists
in the database."/>
<Attribute Name="SQLState" Value="23000"/>
<Attribute Name="SQLStatement"
Value="oracle.jdbc.driver.OraclePreparedStatementWrapper@68a8cbc2"/>
<Attribute Name="DBErrorCode" Value="1"/>
<Error ErrorCode="java.sql.BatchUpdateException"
ErrorDescription="" ErrorRelatedMoreInfo="ORA-00001: unique
constraint (S_OMS_PROD.YFS_INVENTORY_SUPPLY_TMP_I4) violated&#xa;">
<Stack>java.sql.BatchUpdateException: ORA-00001: unique
constraint (S_OMS_PROD.YFS_INVENTORY_SUPPLY_TMP_I4) violated

at
oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedSt
atement.java:10070)
at
oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWr
apper.java:213)
at
com.yantra.yfc.dblayer.YFCEntityDBHome.processBatchHelper(YFCEntityDBHom
e.java:4783)
at
com.yantra.yfc.dblayer.YFCEntityDBHome.processInsertBatch(YFCEntityDBHom
e.java:4736)
at
com.yantra.yfc.dblayer.YFCEntityDBHome.executeBatch(YFCEntityDBHome.java
:4289)
at
com.yantra.inv.business.inventory.load.YFS_Inventory_Supply_Temp_Collect
ion.insert(YFS_Inventory_Supply_Temp_Collection.java:305)
at
com.yantra.inv.business.inventory.load.YFS_Inventory_Supply_Temp_Collect
ion.performDBOperations(YFS_Inventory_Supply_Temp_Collection.java:278)
at
com.yantra.inv.business.inventory.load.INVLoadInventoryMismatch.loadInve
ntoryMismatch(INVLoadInventoryMismatch.java:64)
at
com.yantra.inv.business.inventory.INVManageInventoryMismatch.loadInvento
ryMismatch(INVManageInventoryMismatch.java:139)
at
com.yantra.inv.api.INVApiImpl.loadInventoryMismatch(INVApiImpl.java:1067
)
at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown

Cause

Configuration

Resolving The Problem

There are changes made to the indexes of the tables for higher version Sterling application releases.
Set BatchMode=N in the api call to resolve the reported error

[{"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Installation","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"9.3;9.4;9.5","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
10 May 2022

UID

swg21987046