Troubleshooting: Mandatory parameter missing when populating ITEMSPC table
An error occurs while attempting to populate ITEMSPC table due to mandatory parameter missing.
Problem
After running the Data Load utility, the following error might occur if you are loading non-ATP data, and the inventory system you are using is not set to non-ATP:
An error occurred while attempting to populate the table ITEMSPC because the mandatory parameter ParentProductIdentifier was missing.
The ID was not resolved for the table ITEMSPC with the unique index data
[DL_PROD1_SKU1, 7000000000000000054]
.
Stack trace:
com.ibm.commerce.foundation.dataload.exception.DataLoadApplicationException: The ID was not resolved for
the table ITEMSPC with the unique index data
[DL_PROD1_SKU1, 7000000000000000054]
.
at com.ibm.commerce.foundation.dataload.idresolve.IDResolverForOneTable.resolveId
(IDResolverForOneTable.java:336)
at com.ibm.commerce.foundation.dataload.idresolve.IDResolverImpl.resolveId
(IDResolverImpl.java:266)
at com.ibm.commerce.foundation.dataload.businessobjectmediator.
AbstractBusinessObjectMediator.resolveIds(AbstractBusinessObjectMediator.java:1164)
at com.ibm.commerce.foundation.dataload.businessobjectmediator.AbstractBusinessObjectMediator.
resolveId(AbstractBusinessObjectMediator.java:1118)
at com.ibm.commerce.inventory.dataload.mediator.AbstractInventoryMediator.resolveItemSPCId
(AbstractInventoryMediator.java:656)
at com.ibm.commerce.inventory.dataload.mediator.InventoryReceiptMediator.populateRECEIPT
(InventoryReceiptMediator.java:251)
at com.ibm.commerce.inventory.dataload.mediator.InventoryReceiptMediator.transform
(InventoryReceiptMediator.java:120)
at com.ibm.commerce.foundation.dataload.businessobjectmediator.AbstractBusinessObjectMediator.
execute(AbstractBusinessObjectMediator.java:387)
at com.ibm.commerce.foundation.dataload.businessobjectbuilder.AbstractBusinessObjectBuilder.
processData(AbstractBusinessObjectBuilder.java:501)
at com.ibm.commerce.foundation.dataload.businessobjectbuilder.AbstractBusinessObjectBuilder.
processData(AbstractBusinessObjectBuilder.java:458)
at com.ibm.commerce.foundation.dataload.businessobjectbuilder.AbstractBusinessObjectBuilder.
execute(AbstractBusinessObjectBuilder.java:261)
at com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoader.processBusinessObjectBuilder
(AbstractBusinessObjectLoader.java:1313)
at com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoader.loadData
(AbstractBusinessObjectLoader.java:1138)
at com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoader.execute
(AbstractBusinessObjectLoader.java:411)
at com.ibm.commerce.foundation.dataload.DataLoaderMain.execute(DataLoaderMain.java:451)
at com.ibm.commerce.foundation.dataload.DataLoaderMain.main(DataLoaderMain.java:212)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Note: The
information in bold represents variable information: 7000000000000000054
is the
member_id
, and DL_PROD1_SKU1
is the partnumber.Solution
Run the following SQL statement to change the inventory system of your store to
non-ATP:
UPDATE STORE SET INVENTORYSYSTEM=-2 WHERE STORE_ID in
(SELECT STOREENT.STOREENT_ID FROM STOREENT WHERE STOREENT.IDENTIFIER ='
<storeIdentifier>
')
Where <storeIdentifier>
is the external identifier of your store, for example
AuroraESite.If you want your store to use an ATP inventory system, provide the necessary ATP data in the source file. Refer to the data load sample Loading ATP inventory data for an example of how to load ATP inventory to your store: Sample: Loading ATP configuration information for a catalog entry .