Example: Deleting expected inventory detail
You can delete expected inventory detail data by using the Data Load utility. This example uses a CSV file to demonstrate how to delete your expected inventory detail information.
This example uses a CSV file to demonstrate how to insert, replace, or delete your data. You can also create and use an XML formatted file to insert, replace, or delete your data. If you choose to create and use an XML formatted file, ensure that your XML elements use the same names as are used for CSV column names.
You can use the Data Load utility to delete data from the RADETAIL table.
CSV file with sample data
In this example the data source is a CSV file named radetail_delete.csv. The file contains sample data with minimum columns that are necessary for "delete" dataLoadMode.
VendorName | RACreateTime | PartNumber | ExpectedDate | CatEntryStoreIdentifier | |
---|---|---|---|---|---|
MyCompany | 2005-07-12 01:01:01.123456 | FULO-0101 | 2005-12-08 00:00:00.0 | 10701 | |
AdvancedB2BDirect Vendor | 2008-05-15 04:04:04.0 | FULO-0201 | 2008-12-24 00:00:00.0 | ||
AdvancedB2BDirect Vendor | 2009-05-21 00:00:00.0 | FULO-0301 | 2009-12-31 00:00:00.0 |
CSV column and XML element definitions
- VendorName
- (Mandatory, string) The vendor that supplied the inventory. This field is used to resolve the RA_ID. This field is mandatory and cannot be null.
- RACreateTime
- (Mandatory, timestamp) The creation date and time of the corresponding expected inventory record (RA). The format of the input is "yyyy-mm-dd hh:mm:ss.SSSSSS". The length of the fractional seconds must be no more than 6. The format can be customized by setting timestampPattern property in wc-dataload.xml. This field is used to resolve the RA_ID. This field is mandatory and cannot be null.
- PartNumber
- (Mandatory, string) The part number of this item. It uniquely identifies an item for a particular owner. Together with the owner identifier, it is used to retrieve the primary key of ITEMSPC table. For example, ITEMSPC_ID. This field is mandatory and cannot be null if the CatalogEntryUniqueId field is not specified in CSV file.
- ExpectedDate
- (Mandatory, Timestamp) The date this inventory is expected to be received. The format is same as specified in RACreateTime field.
- CatEntryStoreIdentifier
- (String) This field is used in an extended sites store. If the CatalogEntry is defined in a catalog entry asset store, this field stands for the identifier of the catalog entry asset store. This identifier is used to retrieve the catalog entryOwner.
Other optional fields not included in the example include:
- StoreIdentifier
- (String) The identifier of the store that this item belongs to, such as ConsumerDirect. This column can be added into CSV if the item belongs to a store that is different from the store that is defined in BusinessContext elements of wc-dataload-env.xml. If this column is not provided in the CSV file, the StoreIdentifier in the business context is used.
- FulfillmentCenterId
- (Integer) The identifier of the fulfillment center that this item belongs to. This column can be added into CSV if the item belongs to a fulfillment center that is different from the one defined in BusinessContext property of wc-dataload-env.xml. If this column is not provided in the CSV file, the fulfillmentCenterIdentifier is retrieved by FulfillmentCenterName. If it is not found, the fulfillmentCenterIdentifier in the business context is used. If it is not specified in either CSV file or business context, the default fufillmentCenter of the specified store is used.
- FulfillmentCenterName
- (String) The name of the fulfillment center that this item belongs to, for example "ConsumerDirect Home". This column is used to retrieve fulfillmentCenterIdentifier.
- OwnerId
- (Long) The identifier of the owner of this item. If it is not specified in the CSV file, the owner of the catalog entry asset store is retrieved. If it is not found, the owner of current store is retrieved. If it is not found either, the ownerId specified in BusinessContext property of wc-dataload-env.xml is used.
- CatalogEntryUniqueId
- (Long) The identifier of the catalog entry. It is used to retrieve the primary key of ITEMSPC table. For example, ITEMSPC_ID. If this field is not specified in CSV file, ITEMSPC_ID is retrieved by part number and owner of the item.
Business context data
The following code snippet from the wc-dataload-env.xml configuration file provides the business context data necessary for loading the data:
<_config:BusinessContext storeIdentifier="ConsumerDirect">
<_config:property name="fulfillmentCenterName" value="ConsumerDirect Home"/>
<_config:property name="ownerId" value="7000000000000000102"/>
</_config:BusinessContext>
- storeIdentifier
- (String) The identifier of the store that this item belongs to, such as ConsumerDirect. It is used if CSV file does not provide this information. The StoreIdentifier is used to retrieve the storeID and the ownerID.
- fulfillmentCenterId
- (String) The identifier of the fulfillment center this item belongs to, for example "ConsumerDirect Home". It is used if the identifier cannot be retrieved by FulfillmentCenterId or FulfillmentCenterName specified in CSV file.
- FulfillmentCenterName
- (String) The name of the fulfillment center this item belongs to, for example "ConsumerDirect Home". It is used to retrieve the fulfillmentCenterID, if fulfillmentCenterID is not retrieved from CSV file or defined in business context.
- OwnerId
- (Long) The identifier of the catalog entryOwner of this item. It is used if the catalog entryOwner is not provided in CSV file and cannot be retrieved by specified store identifier.
Mapping data
The following snippet from the sample configuration file demonstrates how to map each column of data in the source CSV file to a value. Each column in the CSV file must have such a definition. If the optional fields are present in the CSV file, the definition for them must be added.
<_config:DataReader className="com.ibm.commerce.foundation.dataload.datareader.CSVReader" firstLineIsHeader="true">
<_config:Data>
<_config:column number="1" name="VendorName" />
<_config:column number="2" name="RACreateTime" />
<_config:column number="3" name="PartNumber" />
<_config:column number="4" name="ExpectedDate" />
<_config:column number="5" name="CatEntryStoreIdentifier" />
</_config:Data>
</_config:DataReader >
The following snippet from the sample configuration file demonstrates how to map each column of the data in the CSV file to a business object logical schema path. The attribute 'value' represents the name of a column of the CSV file that is defined in the preceding configuration snippet. Each column in the CSV file must have a mapping to the logical schema path. If the optional fields specified are present in the CSV file, the mapping for them must be added.
<_config:DataMapping>
<_config:mapping xpath="ExpectedInventoryRecordIdentifier/ExternalIdentifier/VendorName" value="VendorName" valueFrom="InputData" />
<_config:mapping xpath="ExpectedInventoryRecordIdentifier/ExternalIdentifier/CreateDate" value="RACreateTime" valueFrom="InputData" />
<_config:mapping xpath="ExpectedInventoryDetail[0]/ExpectedInventoryDetailIdentifier/ExternalIdentifier/CatalogEntryIdentifier/ExternalIdentifier/PartNumber" value="PartNumber" valueFrom="InputData" />
<_config:mapping xpath="ExpectedInventoryDetail[0]/ExpectedInventoryDetailIdentifier/ExternalIdentifier/ExpectedDate" value="ExpectedDate" valueFrom="InputData" />
<_config:mapping xpath="InventoryReceiptIdentifier/ExternalIdentifier/CatalogEntryIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="CatEntryStoreIdentifier" />
</_config:DataMapping>
Business object mediator
The mediator class name is com.ibm.commerce.inventory.dataload.mediator.ExpectedInventoryDetailMediator.