Chapter 117: Generic Inventory Inquiry API | Contents | SCVs | Search | Glossary | Reports | XML | Index | Chapter 119: Merchandise Locator and Store Fulfillment API through .NET |
Chapter 118: Generic Inventory Download API
Purpose: Use the generic inventory download API to keep an external system such as Locate updated with your inventory information in CWDirect. Like other download API’s, the inventory download works by creating trigger records, which an integration layer process then uses to generate outbound XML messages.
Creating inventory download triggers: The system creates inventory download triggers in the IL Outbound Trigger file either through:
• a batch job, which creates triggers for all eligible item/SKU’s; or,
• interactively, because of activities that affect the item/SKU’s availability or projected availability.
Also, the system generates a message when the setting of the Reservation freeze flag for an Item Warehouse changes.
Generating the inventory download message: The Inventory Download job in Working with Integration Layer Processes (IJCT) monitors the IL Outbound Trigger file for inventory download triggers to process, and generates the Inventory Download XML Message (CWInventoryDownload) to send to the remote system(s). If you use this API as part of integration with Locate, the messages provide Locate with the most current possible availability information. Locate can use this information if for any reason CWDirect does not respond to an interactive inventory inquiry request.
Message generation options:
• Include non-allocatable warehouses? You can specify whether to download availability information for all warehouses where you keep an item/SKU, or whether to exclude warehouses flagged as non-allocatable.
• Trigger rules: You can use trigger rules to set up more specific selection criteria for items, SKU’s, warehouses, item warehouses, or UPC codes. For example, you might choose to select specific companies, or exclude non-inventory, membership, and gift certificate items.
• Threshold quantity: You can specify a threshold quantity that indicates whether to generate inventory messages whenever an item/SKU’s available quantity is below this threshold and there is any activity for the item/SKU. You can set this threshold by item/SKU and item class, and you can also set a default threshold quantity for your company.
• Purchase order activity: You can specify whether to generate a message whenever you create, change, or cancel a purchase order that includes an item whose available quantity is zero or less.
What information does the inventory download message include? The message includes information on the:
• item/SKU
• any UPC codes
• warehouse
• item warehouse (including the available quantity and other inventory levels, such as on-hand quantity)
You can use the XML inclusion rules to exclude one or more elements of the outbound message if, for example, you do not need to send UPC information to the external system(s).
For more information: See the Inventory Transaction Upload for a comparison between this integration and other inventory integrations.
In this chapter:
• Creating Inventory Download Triggers through a Batch Process
• Creating Inventory Download Triggers Interactively Based on Changes to Availability
• Creating Inventory Download Triggers by Creating or Maintaining Purchase Orders
• Which Activities Generate Inventory Download Triggers?
• Inventory Download Processing
• Inventory Download Trigger Rules
• Item Warehouses Excluded from the Inventory Download
• Inventory Download XML Inclusion
• Inventory Download XML Message (CWInventoryDownload)
• Sample Inventory Download XML Message
Purpose: The inventory download trigger creation and message generation process is described below.
Creating Inventory Download Triggers through a Batch Process
Creating all eligible triggers: Use the Generate Outbound Interface Trigger Screen or the INV_DOWNLD periodic function (program name ILR0081) to create all eligible trigger records for inventory download. Creating all eligible trigger records through a batch process allows you to generate inventory information for initial download to an external system, such as Locate, or for periodic updates of inventory levels and newly created Item Warehouse records. The periodic update generates triggers for all eligible item/SKU’s (subject to trigger rules), regardless of whether there has been any activity since the last update.
Which triggers to create? The system creates a trigger for an item/SKU if:
• the Create Generic Inventory Download Triggers (I32) system control value set to Y, and
• there is not a conflict with the Inventory Download Trigger Rules, and
• there will be at least one Item Warehouse to include when the message is generated. For example, if the Item Warehouse has a reservation freeze and the warehouse is non-allocatable, the system does not create a trigger record. See Item Warehouses Excluded from the Inventory Download for more information.
When you generate triggers through a batch process, the system does not consider the item/SKU’s available quantity; all item/SKU’s are included, subject to the trigger rules.
Creating Inventory Download Triggers Interactively Based on Changes to Availability
Creating triggers interactively enables the INV_DOWNLD job to process them throughout the day and keep an external system, such as Locate, up to date. If the Create Generic Inventory Download Triggers (I32) system control value is set to Y, the system creates inventory download triggers interactively:
• based on changes to an item/SKU’s availability
• whenever the setting of the Reservation freeze flag for an Item Warehouse changes
• optionally, when you create, change, or cancel a purchase order that includes an item whose available quantity is zero or less, as described under Creating Inventory Download Triggers by Creating or Maintaining Purchase Orders
The criteria the system uses to generate triggers based on changes to availability are described below.
Availability threshold: The system generates an inventory download trigger record whenever inventory or reservation activity affects the item/SKU’s available quantity as follows:
When the available quantity is currently: |
The system creates a trigger record if the available quantity: |
Example: |
at or above the threshold |
falls below the threshold |
The current available quantity is 20 The threshold is 20 You enter an order line for a quantity of 1, changing the available quantity to 19 |
below the threshold |
changes in any way |
The current available quantity is 10 The threshold is 50 You adjust the on-hand quantity -1, changing the available quantity to 9 or The current available quantity is 20 The threshold is 30 You receive a purchase order for 20 units, changing the available quantity to 40 |
Note: If the item/SKU’s available quantity is currently at or above the threshold, and activity changes the available quantity so that it is still at or above the threshold, the system does not create a trigger record. For example, if the current available quantity is 25, the threshold is 20, and you process an inventory adjustment changing the available quantity to 23, the system does not create a trigger record.
Availability threshold hierarchy: The system determines the correct availability threshold for an item/SKU using the following hierarchy:
• the Availability threshold specified for the item, if any; otherwise,
• the Availability threshold specified for the item’s item class, if any; otherwise,
• the Quantity Available Threshold for Inventory Downloads (G36) system control value
To always create a trigger record interactively based on changes to availability: If the availability threshold for an item/SKU, determined using the hierarchy described above, is 99999, the system always creates a trigger record for any change in the available quantity.
To never create a trigger record interactively based on changes to availability: If all of the thresholds in the hierarchy are blank (set to zero), the system does not create trigger records interactively based on changes to the available quantity.
How is the available quantity determined? The system uses the standard availability calculation, or On-hand - Protected - Reserved - Reserve transfer - backordered, except that:
Then inventory in warehouses whose Allocatable flag is set to N is: |
Example: • warehouse 1 (allocatable): available quantity = -10 • warehouse 2 (non-allocatable): available quantity = 20 • threshold = 50 • You adjust the on-hand quantity of the item/SKU in warehouse 2 |
|
set to Y |
included in the availability calculation |
Available quantity for inventory download calculation = 30. The available quantity in warehouse 2 is included in the calculation, so the system does create a trigger record. |
set to N |
not included in the availability calculation |
Available quantity for inventory download calculation = -10. The available quantity in warehouse 2 is not included in the calculation, so the system does not create a trigger record. |
Determining the availability for set items: When the system determines whether to creates a trigger record for the main set based on activity in order entry, it is based on the “worst case scenario” of all of the component items.
Example: Set item SET100, with an availability threshold of 20, includes component items AB100 (availability = 50) and CD200 (availability = 7). Because the availability of one of the set’s components is below the threshold, the system creates a trigger record for SET100.
However, the system does not create a trigger item for the set master item based on activity such as entering or maintaining a purchase order, where the component item is not associated with the set master item. See Creating Inventory Download Triggers by Creating or Maintaining Purchase Orders for a discussion.
To determine the availability threshold of the set item: The system follows the standard availability hierarchy for a set item, starting at the item level and then checking the item class and finally the system control value. Because each of the components can have different thresholds, generating a trigger for the set item does not mean that the system will also generate a trigger for the components, or vice versa.
Example: The availability threshold for component item CD200 in the above example is 10. In addition to creating the trigger record for the set item, the system creates a trigger record for CD200 itself based on the available quantity of 7. However, if the availability threshold for CD200 were 5, then the system would generate a trigger for just the set item and not the component item.
Determining the availability for continuity items: The system creates trigger records for continuity items in the same way as for set items, except that it might not generate a trigger record for a component if the component does not reserve immediately. The interval for a continuity component indicates whether to reserve it immediately, or at a future date.
For more information: See Troubleshooting for more situations when the system does or does not create a trigger record.
Creating Inventory Download Triggers by Creating or Maintaining Purchase Orders
If the Create Generic Inventory Download Triggers (I32) and the Include PO Updates (J93) system control value are set to Y, the system creates an inventory download trigger record whenever you create, maintain, or cancel a purchase order if:
• the available quantity of any item/SKU on the purchase order is zero or less, and
• there is at least one Item Warehouse for the item/SKU that is eligible for download, and
• the purchase order is not a drop ship purchase order, and
• the item/SKU is not excluded from download based on any trigger rules.
Note: If the above assumptions are true, the system generates a trigger record whenever you maintain a purchase order, regardless of the nature of the change.
What if the purchase order is for a non-allocatable warehouse?
• If you create, change, or cancel a purchase order for a non-allocatable warehouse, the purchase order includes an item whose available quantity is zero or less, and:
• the Include Non-Allocatable Warehouses (I34) system control value is set to N and this is the only warehouse where you have a record of the item, then the system does not create a trigger record for the item.
• this is not the only warehouse where you have a record of the item, the system still generates a trigger record, regardless of the setting of the Include Non-Allocatable Warehouses (I34) system control value. However, if the Include Non-Allocatable Warehouses (I34) system control value is set to N and the warehouse on the purchase order is flagged as non-alllocatable, the generated XML message does not include this item warehouse.
When you create, change, or cancel a purchase order that includes a set component item: If a new or maintained purchase order includes an item that is a component of a set or continuity item and the component’s available quantity is zero or less, the system creates a trigger for the component item only, because the component will not necessarily be sold as part of any particular set. This logic is unlike that used when you enter an order for a set or continuity item that includes a component item whose available quantity is zero or less; in this situation, the system also creates triggers for the other component item(s) and the master set or continuity item.
Example: |
Your company stocks items COMPONENT1 and COMPONENT2. Both of these items are included in set master item SET1 and in continuity master item CONTINUE1, and the available quantity of COMPONENT1 is 0. If you enter an order for SET1: The system writes trigger records for SET1 in addition to COMPONENT1, because in the context of the order, the available quantity of the set or continuity master is based on the available quantity of COMPONENT1. The same logic applies to the continuity item (CONTINUE1), provided that COMPONENT1 needs to reserve now for the initial shipment. If you enter or maintain a purchase order that includes COMPONENT1, the system writes a trigger record for COMPONENT1, but not for COMPONENT2, SET1, or CONTINUE1. The reason is that the item COMPONENT1 is not associated with the other component item, the set master item, or the continuity master item in the context of the purchase order. |
Which Activities Generate Inventory Download Triggers?
The following are examples of activities that have the potential to create trigger records, based on trigger rules, availability thresholds, and system control values as described above:
Type of transaction |
Menu Option(s) |
inventory transactions: |
|
adjustments (A) |
Work with Inventory Transactions (WITI or WITB) |
transfers from allocatable to unallocatable warehouse, or vice versa (T) |
|
reset on-hand (O) |
|
item-to-item transfers (G) |
|
make up finished good (M) |
|
warehouse replenishment |
Replenish Warehouses (MWRP) |
purchase order receiving |
Purchase Order Receipts (PORC) |
physical inventory |
Select Physical Inventory Reports (MPIR) |
receive return |
Work with Return Authorizations (WRTA), Work with Return Authorization Receiving (WRAR), Enter/Maintain Orders (OEOM), Order Inquiry/Maintenance (OIOM) |
vendor charge back |
Work with Vendor Charge Backs (WVCB) |
issue (shipment) |
Confirm Shipment (MCON), Background Job Control (MBJC) |
express bill |
Enter/Maintain Orders (OEOM) |
create item |
Work with Items/SKUs (MITM) |
change Reservation freeze flag for an Item Warehouse |
Work with Warehouses (WWHS) |
reserving or unreserving items; entering or maintaining orders: |
|
reserve item |
Enter/Maintain Orders (OEOM), Order Inquiry/Maintenance (OIOM), Interactive Reservation (MIRV) |
delete an order line |
Enter/Maintain Orders (OEOM) |
sell out a backordered item using option 13 |
Enter/Maintain Orders (OEOM), Order Inquiry/Maintenance (OIOM) |
order a backordered item |
Enter/Maintain Orders (OEOM), Order Inquiry/Maintenance (OIOM) |
reject an order |
Enter/Maintain Orders (OEOM) |
change the quantity of an order line |
Enter/Maintain Orders (OEOM), Order Inquiry/Maintenance (OIOM) |
unreserve, cancel item |
Enter/Maintain Orders (OEOM), Order Inquiry/Maintenance (OIOM), Interactive Reservation (MIRV), Process Item Substitutions (PSUB), Work with Backorders Pending Cancellation (WBPC), Work with Credit Card Cancellations (WCCC) |
sell out an item |
Process Auto Soldout Cancellations (MASO) |
purchase order creation or update (if the Include PO Updates (J93) system control value is set to Y) |
|
create a purchase order |
Enter/Maintain PO’s (MPOE); Work with PO Interface Records (WPOI); Rerun PO Interface File Edit (RPOI) |
maintain a purchase order |
Enter/Maintain PO’s (MPOE); Purchase Order Inquiry (MPOI) |
cancel a purchase order |
Enter/Maintain PO’s (MPOE) |
Note: A trigger record is not created when you:
• Enter a soldout item in order entry
• Change an availability threshold
• Change the setting of the Allocatable flag for a warehouse; if you change this setting for a warehouse, you can send the update through Generating Outbound Interface Triggers (GOIT) or through the periodic process
• Create an Item Warehouse if there is no inventory
The system does not consider the setting of the Reservation freeze flag for an Item Location when determining whether to create a trigger record.
Combining multiple trigger records: The system might create multiple trigger records for the same item/SKU as your process transactions during the day; however, the INV_DOWNLD job sends just one Inventory Download XML Message (CWInventoryDownload) for each item/SKU at a time, regardless of how many trigger records are currently waiting to be processed. However, if the INV_DOWNLD job has just sent the message and put the trigger in processed status, and then the system creates a new trigger record, the INV_DOWNLD job generates a new message.
Identifying Inventory Download Triggers
Each inventory download trigger displayed at the Work with Outbound Interface Transactions Screen has a:
• File code of ITW
• Key identifying the specific company, item, and SKU. For example, the Key 123AB10000 LRGE indicates to download inventory information for item AB10000, SKU LRGE, in company 123. If one or more trigger records exist for an item/SKU, the Inventory Download job sends a message including all existing warehouses where you keep the item. based on the rules described under Item Warehouses Excluded from the Inventory Download.
• Capture type of C (change).
To generate the Inventory Download XML Message (CWInventoryDownload), the INV_DOWNLD process in Working with Integration Layer Processes (IJCT):
1. Reads through the inventory download trigger records
2. Creates a single Inventory Download XML Message (CWInventoryDownload) for each item/SKU, regardless of how many ITW trigger records in R (ready) status exist for the item/SKU
3. Includes each item/warehouse for the item/SKU, based on the rules described under Item Warehouses Excluded from the Inventory Download.
Example: If an activity in warehouse 1 generated the trigger record, but there are eligible Item Warehouse records in warehouse 3, 4, and 5, all of these Item Warehouse records are included in the message.
4. Sets each trigger record’s status to X (processed)
Inventory Download Trigger Rules
The options available for the inventory download at the Select Trigger Rules File Window are:
• Item (INITEM)
• Item Warehouse (INIWRE)
• SKU (INSKU)
• Warehouse (INWRHS)
• UPC (ITMUPC)
You can make the creation of inventory download trigger rules conditional on the fields in any of these files. For example, to exclude non-inventory items from the inventory download, you would set the following selection for the Item file (INITEM):
Field |
Test |
Value |
Non-inventory |
NE |
’Y’ |
This rule excludes any item whose Non-inventory flag is set to Y.
Typical setup: A typical setup for inventory download might exclude records based on the following criteria:
• Item file:
• Drop ship items
• Non-inventory items
• Membership items
• Specific item statuses
• SKU file:
• Gift certificates
• SVC card reload
• Specific item statuses
• Warehouses: retail outlets
Note: Trigger rules are not specific to a company, and apply to each company for which you generate trigger records.
For more information: See the Outbound Interface Trigger Rules Screen for more information on how to set trigger rule for outbound IL processes.
Item Warehouses Excluded from the Inventory Download
When an item/SKU is kept in multiple warehouses, it is possible for the message to exclude a Warehouse or Item Warehouse or the available quantity, even if the item/SKU exists in that warehouse. The rules governing when the Warehouse and ItemWarehouse are excluded from the Inventory Download XML Message (CWInventoryDownload), or when no available_qty is included, are:
• Include the complete Warehouse, ItemWarehouse in the message if the Item Warehouse is not frozen (based on the setting of the Reservation freeze flag for the Item Warehouse) and:
• the warehouse is allocatable (based on the setting of the Allocatable flag), or
• the Include Non-Allocatable Warehouses in Inventory Download Setting system control value is set to Y; otherwise;
• Include the Warehouse and the ItemWarehouse but do not include the available_qty in the ItemWarehouse element if the Item Warehouse is frozen but the warehouse is allocatable; otherwise,
• Do not include the Warehouse or ItemWarehouse in the message. If this is the only existing Item Warehouse for the item/SKU, do not create a trigger record.
These rules are summarized in the table below.
Include Non-Allocatable Warehouses in Inventory Download Setting |
Warehouse Allocatable Flag Setting |
Item Warehouse Reservation Freeze Flag Setting |
Result |
Y |
Y |
N |
Include Warehouse, ItemWarehouse and available_qty in message |
Y |
N |
N |
|
N |
Y |
N |
|
Y |
Y |
Y |
Include Warehouse and ItemWarehouse but not available_qty in message |
N |
Y |
Y |
|
Y |
N |
Y |
No Warehouse or Item Warehouse in message (or, if this is the only Item Warehouse, do not create a trigger record) |
N |
N |
Y |
|
N |
N |
N |
Inventory Download XML Inclusion
As with other outbound messages generated through Working with Integration Layer Processes (IJCT), you can use the Outbound Interface XML Inclusion Screen to exclude elements and their contents from the Inventory Download XML Message (CWInventoryDownload). The XML inclusion options for the inventory download are:
Item
SKU
UPC
Warehouse
ItemWarehouse
If you choose to exclude an element, all of the subordinate elements and attributes of that element will also be excluded. For example, if you choose to exclude the SKU element, the message will include the Item element and attributes only, and will not include the SKU, UPC, Warehouse, or ItemWarehouse elements.
If you exclude the ItemWarehouse element, the message will not include any availability information.
Note: XML inclusion settings are not specific to a company. Any XML inclusion settings you create apply to all companies for which you generate trigger records.
For more information: See:
• Inventory Download XML Message (CWInventoryDownload) for more information on the contents of each of these elements
• Outbound Interface XML Inclusion Screen for more information on working with inclusion rules
The system might not generate the Inventory Download XML Message (CWInventoryDownload) for any of the following reasons:
• Are the trigger rules excluding companies, item/SKU’s, warehouses, item warehouses, or other relevent criteria? See Inventory Download Trigger Rules.
• Are the XML inclusion rules excluding essential information for the message? See Inventory Download XML Inclusion.
• Is the item warehouse flagged as having a reservation freeze? See Item Warehouses Excluded from the Inventory Download.
• Is the availability threshold for the item/SKU lower than the item/SKU’s available quantity? See Creating Inventory Download Triggers Interactively Based on Changes to Availability for more information on the threshold hierarchy.
• Is the Create Generic Inventory Download Triggers (I32) system control value set to Y? The system does not create any trigger records if this system control value is set to N.
• Is the INV_DOWNLD process in Working with Integration Layer Processes (IJCT) running?
• If you expected a trigger to be generated when you create, maintain, or cancel a purchase order, is the Include PO Updates (J93) system control value set to Y and is the available quantity for the item zero or less? See Creating Inventory Download Triggers by Creating or Maintaining Purchase Orders for a discussion.
• Have you stopped and restarted the INV_DOWNLD process and the background jobs after making any changes to system control value settings?
Setup requirements for the inventory download API are described below. More information on using this API as part of the Locate integration with CWStore will be provided in the Locate Integration manual.
System Control Value |
Description |
Must be set to Y in order to generate inventory download trigger records. |
|
Indicates whether to generate trigger records when you create, change, or cancel a purchase order that includes an item whose available quantity is zero or less. If you set this value to Y, the system creates a trigger each time you create, change, or cancel a purchase order that includes an item/SKU whose available quantity is zero or less (with the exception of drop ship purchase orders). If you set this value to N or blank, the system does not create triggers as a result of purchase order creation or maintenance. |
|
Indicates whether the system should use the setting of a warehouse’s Allocatable flag to determine whether to include inventory in that warehouse in an item/SKU’s available quantity. If you set this value to Y, the system includes all warehouses when evaluating an item/SKU’s available quantity in order to determine whether to create a trigger. If you set this value to N or blank, the system excludes the inventory in non-allocatable warehouses. |
|
Indicates the default availability threshold quantity to use if there is no threshold quantity specified for the item or the item class. See Creating Inventory Download Triggers Interactively Based on Changes to Availability for more information. Note: The e-commerce interface also uses this threshold value when determining when to send item availability information. |
|
Specify the number of days to retain processed trigger records in the IL Outbound Trigger file before the PURGIJCT periodic function, described below, can purge them. For example, if this value is 10 and a trigger record’s Last processed date is 10/12 or earlier, the trigger is eligible to be purged on 10/22. Only processed records (status = X) are purged. Note: This value controls the purge days for all trigger records in the IL Outbound Trigger file, not just inventory download triggers. |
Menu Option |
Setup Required |
Work with Integration Layer Process Queues Screen: Create one or more process queues to specify where to send the Inventory Download XML Message (CWInventoryDownload). Select Trigger Rules File Window: Optionally, set trigger rules. See Inventory Download Trigger Rules for more information on options. Outbound Interface XML Inclusion Screen: Optionally, set inclusion rules to exclude one or more elements. See Inventory Download XML Inclusion for more information. |
|
Optionally, set the Available threshold at the item level as an override to the threshold set at the item class or with the Quantity Available Threshold for Inventory Downloads (G36) system control value. |
|
Optionally, set the Available threshold at the item class as an override to the Quantity Available Threshold for Inventory Downloads (G36) system control value. The threshold set at the item level, if any, overrides the item class threshold. |
|
Optionally, create the INV_DOWNLD periodic function, using program name ILR0081. This function creates inventory download trigger records for all eligible item/SKUs, as described under Creating Inventory Download Triggers through a Batch Process. If you have not already done so, create the PURGIJCT periodic function, using program name ILR0026. This periodic function purges all processed (status = X) trigger records older than the Outbound Interface Trigger File Purge Days (I14). Note: This function purges all trigger records in the IL Outbound Trigger file, not just inventory download triggers. |
|
Assign the periodic functions described above to periodic processes. |
Inventory Download XML Message (CWInventoryDownload)
The INV_DOWNLD process creates an XML message laid out as follows.
Note:
• Attributes are included in the response only if they contain a value. Blank attributes are not passed.
• Numeric fields use implied decimals; for example, a value of $12.34 is presented as 1234.
• The XML inclusion rules control whether one or more elements are included in the message.
For more information:
• See XML Messages for a table that provides links to the DTD, schema, and a sample XML layout for each XML message.
• See Inventory Download Process for a discussion of when you might use this message.
Attribute Name |
Type |
Length |
Comments |
alpha |
25 |
Identifies the source of the XML message. RDC indicates the XML message is from CWDirect. |
|
alpha |
25 |
Identifies the target of the XML message. IDC indicates the XML message is sent to CWIntegrate. |
|
alpha |
25 |
Identifies the type of information in the XML message: CWInventoryDownload. |
|
date |
numeric |
8 |
The date when the message was generated. MMDDYYYY format. |
time |
numeric |
6 |
The time when the message was generated. HH:MM:SS format. |
numeric |
3 |
Indicates the company associated with the item/SKU. From the Company file; see Setting Up Companies (WCMP). |
|
company_ description |
alpha |
30 |
The description of the company, from the Company file. |
item_number |
alpha |
12 |
A code identifying the item. Defined in the Item file. |
item_description |
alpha |
40 |
The description of the item. |
item_2nd_lang_desc |
alpha |
40 |
The Item second language description at the item level, if any. |
item_long_sku_style |
alpha |
20 |
The L/S style (Long SKU style) for the item, if any. Used as part of retail integration, and required for the item if the Use Retail Integration (H26) system control value is set to Y. |
non_inventory |
alpha |
1 |
The setting of the Non/inv (Non inventory) flag for the item. Valid values are: Y = This is a non-inventory item N = You track inventory for this item |
membership |
alpha |
1 |
The setting, if any, of the Membership flag, if any, for the item. Valid values are: Y = This item represents a membership program that you sell N or blank = This is not a membership item Note: If this flag is blank for an item, the membership attribute is not included in the message. |
drop_ship_item |
alpha |
1 |
The setting of the Drop ship flag for the item. You can flag an item as drop ship at the item level or SKU level. The setting at the SKU level overrides the setting at the item level. If the setting at the SKU level is blank, the system uses the setting at the item level. Y (drop ship) = When a customer orders the item, you order the item from your vendor and the vendor ships it directly to your customer. If the item is flagged as drop ship, any SKUs for the item can be flagged as drop ship or non-drop ship. N or blank (non-drop ship) = You ship the item from your warehouse.If the item is flagged as non-drop ship, any SKUs for the item must also be flagged as non-drop ship. |
item_status |
alpha |
1 |
The item’s Status code, if any. Item status codes are defined in and validated against the Item Status file; see Working with Item Status (WIST) for more information. |
item_status_ description |
alpha |
30 |
The description of the item status code, if any. |
kit_type |
alpha |
1 |
The item’s Kit type setting, if any. Valid values are: C = Continuity program S = Set F = Finished goods V = Variable set See Part E: Working with Sets for an overview. Note: If the Kit type field for the item is blank, the kit_type attribute is not included in the message. |
long_sku_ department |
numeric |
4 |
The L/S dept (Long SKU department), if any, assigned to the item. Used as part of retail integration, and required for the item if the Use Retail Integration (H26) or Require L/S Department (I92) system control value is set to Y. |
long_sku_ department_desc |
alpha |
30 |
The description of the long SKU department, if any, as specified through Working with Long SKU Departments (WLSD). |
long_sku_division |
alpha |
3 |
The L/S division (Long SKU division), if any, assigned to the item’s long SKU department. |
long_sku_division_ desc |
alpha |
30 |
The description of the long SKU division, as set up through Creating and Maintaining Long SKU Divisions (WLDV). |
long_sku_class |
numeric |
4 |
The L/S class (Long SKU class), if any, assigned to the item. Used as part of retail integration, and required for the item if the Use Retail Integration (H26) or Require L/S Class (I93) system control value is set to Y. |
long_sku_class_ desc |
alpha |
30 |
The description of the long SKU class, as set up through Working with Long SKU Classes (WLSC). |
svc_type |
alpha |
1 |
The item’s SVC type setting, if any. Valid values are: P = The item is a physical stored value card. E = The item is a physical stored value card that requires an email notification. R = The item is a stored value card that is activated and fulfilled by a gift card fulfillment system. See Stored Value Card Remote Fulfillment for an overview. V = The item is a virtual (non-physical) stored value card. See Creating a Stored Value Card Item for more information. Note: If the SVC type field for the item is blank, the svc_type attribute is not included in the message. |
Information stored in the SKU file is included, even for non-SKU’ed items. For example, a non-SKU’ed item always has a short_sku specified, and might also include other information, such as a soldout control code. See the descriptions below for more information. |
|||
sku_code |
alpha |
14 |
The code identifying the SKU’s unique characteristics, such as its color, size, or style. Provided for SKU’ed items only. |
sku_description |
alpha |
40 |
The description of the SKU. Provided for SKU’ed items only. |
sku_2nd_lang_desc |
alpha |
40 |
The second language description for the SKU. Provided for SKU’ed items only. |
sku_long_sku_style |
alpha |
20 |
The SKU-level long SKU style, if any. Provided for SKU’ed items only. |
short_sku |
numeric |
7 |
A unique number, assigned by the system to identify each item/SKU. Displayed as the Short SKU in item maintenance. Provided for both SKU’ed and non-SKU’ed items. |
retail_reference_nbr |
numeric |
15 |
An alternate product number, if any, that you have assigned to the item/SKU. The Reference #, if any, is provided for both SKU’ed and non-SKU’ed items. |
gift_certificate |
alpha |
1 |
The setting of the Gift cert (Gift certificate) flag for the item/SKU. Valid values are: Y = This item is a gift certificate N or blank = This item is not a gift certificate Because this flag is an optional entry, the setting is provided in the message only if it was set to Y or N. Provided for both SKU’ed and non-SKU’ed items. |
subscription |
alpha |
1 |
The setting of the Subscription flag for the item/SKU. Valid values are: Y = This item is a subscription N or blank = This item is not a subscription Because this flag is an optional entry, the setting is provided in the message only if it was set to Y or N. Provided for both SKU’ed and non-SKU’ed items. |
sku_status |
alpha |
1 |
The SKU-level status, if any. From the Status field for the SKU, which overrides the item-level status. Provided for SKU’ed items only. |
sku_status_ description |
alpha |
30 |
The description of the SKU-level status code, if any. Provided for SKU’ed items only. |
so_control |
alpha |
2 |
The S/O control (Soldout control) value, if any, assigned to the item/SKU. Soldout control codes can indicate one of the following statuses: • 1 = Sellout the item immediately. • 2 = Sellout the item when the quantity available is zero, not including open purchase orders. • 3 = Sellout the item when the quantity available is equal to zero, including open purchase orders. The soldout control code, if any, is provided for both SKU’ed and non-SKU’ed items. |
so_control_ description |
alpha |
30 |
The description of the soldout control value, if any. Provided for both SKU’ed and non-SKU’ed items. |
so_control_status |
numeric |
1 |
The status of the soldout control code, if any, as described above under so_control. Provided for both SKU’ed and non-SKU’ed items. |
sku_drop_ship |
alpha |
1 |
The setting of the Drop ship flag for the SKU. You can flag an item as drop ship at the item level and SKU level. The setting at the SKU level overrides the setting at the item level. If the setting at the SKU level is blank, the system uses the setting at the item level. Valid values: Y (drop ship) = When a customer orders the SKU, you order the SKU from your vendor and the vendor ships it directly to your customer. You can only flag a SKU as drop ship if the Drop ship flag at the item level is Y. N (non-drop ship) = You ship the SKU from your warehouse.You can flag a SKU as non-drop ship if the Drop ship flag at the item level is Y, N or blank. blank = The drop ship setting has not been defined at the SKU level; instead, the system uses the drop ship setting defined at the item level to determine if the SKU is a drop ship item. From the Drop ship field in the SKU file. Available in XML version: 2.0 (version 11.5 of CWDirect. |
This element is included only if the item/SKU has one or more UPC codes assigned. If the item has SKU’s, you must assign UPC codes at the SKU level rather than at the item level. See the Work with UPC Codes Screen for more information. |
|||
upc |
numeric |
14 |
A UPC code, if any, assigned to the item/SKU. |
upc_type |
alpha |
3 |
The UPC Type. Valid types are: E13: EAN-13 E8: EAN-8 UA: UPC-A UE: UPC-E |
upc_vendor |
numeric |
7 |
The code identifying the vendor who sells you the item and who is associated with the UPC code. |
This element includes information on the warehouse itself, and is provided in the message only if there is an Item Warehouse record for the item/SKU. See Inventory Download Process for more information. See Creating and Maintaining Warehouses (WWHS), especially the Create Warehouse Screen, for more information on the information provided in the Warehouse element. |
|||
warehouse |
numeric |
3 |
|
warehouse_name |
alpha |
30 |
|
address_line_1 |
alpha |
32 |
|
address_line_2 |
alpha |
32 |
|
address_line_3 |
alpha |
32 |
|
city |
alpha |
25 |
|
state |
alpha |
2 |
|
postal_code |
alpha |
10 |
|
country |
alpha |
3 |
|
drop_point |
numeric |
3 |
|
drop_point_ description |
alpha |
30 |
|
manager |
alpha |
30 |
|
telephone_nbr |
numeric |
14 |
|
fax_nbr |
numeric |
14 |
|
allocatable_flag |
alpha |
1 |
|
receive_restock_ transfers |
alpha |
1 |
|
inventory_value_gl_nbr |
numeric |
8 |
|
value_inv_at_retail |
alpha |
1 |
|
viewable_in_oe |
alpha |
1 |
|
auto_restock_ location |
alpha |
7 |
|
retail_outlet |
alpha |
1 |
|
retail_type |
alpha |
1 |
|
See Creating and Maintaining Item Warehouses, especially the Create Item Warehouse Screen and the Display Item Warehouse Screen, for more information on each of the attributes. |
|||
allocation_freeze |
alpha |
1 |
|
economic_order_qty |
numeric |
7 |
|
max_qty |
numeric |
7 |
|
min_qty |
numeric |
7 |
|
on_hand_qty |
numeric |
7 |
|
backorder_qty |
numeric |
7 |
|
protected_qty |
numeric |
7 |
|
reorder_qty |
numeric |
7 |
|
reserve_qty |
numeric |
7 |
|
sh_reserve_qty |
numeric |
7 |
|
on_order_qty |
numeric |
7 |
|
reserve_transfer_qty |
numeric |
7 |
|
numeric |
7 |
|
|
next_po_date |
numeric |
8 |
|
next_expected_qty |
numeric |
7 |
|
original_retail_price |
numeric |
7.2 |
|
current_retail_price |
numeric |
7.2 |
|
protect_current_ price |
alpha |
1 |
|
protect_min_max |
alpha |
1 |
|
Sample Inventory Download XML Message
<Message source="CWDirect" target="CWIntegrate" type="CWInventoryDownload" date="10082003" time="11:07:35" >
<Item company="123" company_description="Sarah`s Kitchen Shop" item_number="MELIOR" item_description="MELIOR-STYLE COFFEE MAKER" item_2nd_lang_desc="CAFETERA DEL TIPO MELIOR" item_long_sku_style="MEL456789" non_inventory="N" membership="N" drop_ship_item="N" item_status="A" item_status_description="ACTIVE" >
<SKU sku_code="LRGE" sku_description="ONE-QUART COFFEE MAKER" short_sku="81" so_control="02" so_control_description="INCLUDE ON ORDER QTY IN SOLD" so_control_status="2">
<UPCs>
<UPC upc="1234567890" upc_type="E8" upc_vendor="10002">
</UPC>
</UPCs>
<Warehouses>
<Warehouse warehouse="10" warehouse_name="MAIN WAREHOUSE" address_line_1="10 SPEEN STREET" city="FRAMINGHAM" state="MA" postal_code="01701" country="USA" drop_point="1" drop_point_description="MASS. DROPPOINT" manager="MS. HANNAH BROWN" allocatable_flag="Y"receive_restock_transfers="N" viewable_in_oe="Y" auto_restock_location="RESTOCK" retail_outlet="N">
<ItemWarehouse allocation_freeze="N" economic_order_qty="100" max_qty="99999" min_qty="10" on_hand_qty="22" reorder_qty="20" on_order_qty="10" available_qty="22" next_po_date="10151997" next_expected_qty="15" original_retail_price="2100" current_retail_price="2600" protect_current_price="N" protect_min_max="N"/>
</Warehouse>
</Warehouses>
</SKU>
</Item>
</Message>
Chapter 117: Generic Inventory Inquiry API | Contents | SCVs | Search | Glossary | Reports | XML | Index | Chapter 119: Merchandise Locator and Store Fulfillment API through .NET |
ST01_10 CWDirect 18.0 August 2015 OTN