024792 Changes to ImportStockStatus to support Warehouse controlled systems #98538
1. Overview
KCSL have enhanced the ImportStockStatus webservice call to support warehouse controlled systems.
2. Specification
Requirement from the development item:
ACS want the ability to use ImportStockStatus which is currently not supported through Warehouse controlled system.
For KCSL to make this work in a warehouse enabled system, We will make changes to this that are specific to your needs, so we need to decide how you want this to work. KCSL proposed and discussed 3 options with the customer.
Option 1.
Add a tag to the existing XML format for warehouse location. This would then allow you to specify the location that you want the stock to go into.
Note: In the use case present the source feed is not location aware so would not be able to specify this information.
Option 2.
Have a system setting where you set a default location. So that any stock levels imported via this method are just put in one location.
Note: this location would be generic and apply to any items updated in this way.
Option 3.
All stock levels that are imported via this method ago straight into the ARRIVALS location.
Note: this would be hard coded and not be in the control of the customer.
Through discussions with KCSL team members, the customer decided to go with option 2 which is:
Have a system setting where you set a default location. So that any stock levels imported via this method are just put in one location.
Changes that KCSL will make:
ImportStockStatus will be modified to support warehouse control systems. Such that a KSS option(ini option) of a default location can be specified, this will match the item code of an location which exists.
a) if executed on a warehouse system, and this location does not exist, the process will abort with an error message. "default location specificed XXX not found" import aborted.
if the location is a single stock location the system will abort:
"default location specified XXX is not a multi-stock location so cannot be used for stock status imports".
if an item is batch controlled it will abort - as this is not supported.
b) the import process will be changed to have an alternative path, which performs a StockWarehouseAdj instead of SKA.
Non warehouse control systems will continue to work the old way.
If an item is not associated with the "default location" it will be force associated using the existing code then the adjustment performed.
Caveats -
1. This process will NOT support batch controlled items.
2. The import will not support setting granular stock location levels through this method, so only the default location level will update using this import.
3. The import of levels using this web service call on warehouse control systems is only intended for first-time use and will not support modification of the levels as this is beyond the scope of this import.
a. IF a level if provided and the target stock item has a non-zero level for warehouse control systems the level update will abort and the items level will not be updated. This will result in an error and the item not being updated.
b. IF a level has been provided in the feed and the default location configuration setting is missing or blank the import will abort the import attempt and not update the level. This will result in an error and the item not being updated.
3. Configuration
An update and a changelog will be applied as part of this development. Further configuration steps will be.
3.1 KSS ini options.
Within the KSS ini option [ Webservices | DefauktStockImportLocation’ the warehouse location to be used should be added.
3.2 Webservice call.
An example webservice call would be as below.
<StockStatus xsi:type="xsd:string">
<STOCK_STATUS SITE="1. Main Site">
<STOCK_ITEM ID="1554" CODE="01554" DESC="Black T-Shirt Size L" OTHER_REF="">
<LEVEL>2</LEVEL>
<ON_ORDER_LEVEL>0</ON_ORDER_LEVEL>
<MAX_BO_QTY>0</MAX_BO_QTY>
<BUY_PRICE>2.53</BUY_PRICE>
<SELL_PRICE>9.99</SELL_PRICE>
<WEBSELL_PRICE>0</WEBSELL_PRICE>
<BUNDLE_PRICE>0</BUNDLE_PRICE>
<SAFE_LEVEL>10</SAFE_LEVEL>
<MIN_LEVEL>5</MIN_LEVEL>
<SITE>1. Main Site</SITE>
<STATUS>0</STATUS>
</STOCK_ITEM>
</STOCK_STATUS>
</StockStatus>
<UpdateStockData xsi:type="xsd:boolean">0</UpdateStockData>
<UpdateStockLevels xsi:type="xsd:boolean">1</UpdateStockLevels>
The new options are :
<UpdateStockData> When enabled the stock details in the previous options will be used to update the stock item.
<UpdateStockLevels> When enabled the stock level in the warehouse location in the ini option will be changed to that in the <Level> field.
4. Usage
After applying the above Configuration, typical steps for usage would include the following.
The ImportStockStatus webservice call can be used to change
the stock level in a specific warehouse location.