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:

Inventory Download Process

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

Troubleshooting

Inventory Download Setup

System Control Values

Menu Options

Inventory Download XML Message (CWInventoryDownload)

Sample Inventory Download XML Message

Inventory Download Process

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:

If Include Non-Allocatable Warehouses (I34) is

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).

Inventory Download Processing

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

Troubleshooting

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?

Inventory Download Setup

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 Values

System Control Value

Description

Create Generic Inventory Download Triggers (I32)

Must be set to Y in order to generate inventory download trigger records.

Include PO Updates (J93)

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.

Include Non-Allocatable Warehouses (I34)

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.

Quantity Available Threshold for Inventory Downloads (G36)

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.

Outbound Interface Trigger File Purge Days (I14)

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 Options

Menu Option

Setup Required

Working with Integration Layer Processes (IJCT)

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.

Performing Initial Item Entry (MITM)

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.

Working with Item Classes (WICL)

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.

Working with Periodic Functions (WPER)

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.

Working with Periodic Processes (WPPR)

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

Message

source

alpha

25

Identifies the source of the XML message. RDC indicates the XML message is from CWDirect.

target

alpha

25

Identifies the target of the XML message. IDC indicates the XML message is sent to CWIntegrate.

type

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.

Item

company

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.

SKU

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.

UPC

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.

Warehouse

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

 

ItemWarehouse

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

 

available_qty

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>

ST01_10 CWDirect 18.0 August 2015 OTN