Part M: Point of Sale Integration | Contents | SCVs | Search | Glossary | Reports | XML | Index | Chapter 110: Generic Inventory Transaction Upload |
Chapter 109: Point of Sale Integration Overview
Purpose: The point of sale integration allows you to send data from CWDirect to your point of sale system, such as CWStore, and receive data from your point of sale system into CWDirect. Components of the point of sale integration also enable you to communicate with Locate.
In this chapter:
• Point of Sale Download Processing
• When are Download Triggers Created?
• Identifying Download Triggers
• Outbound Interface Trigger Rules
• Outbound Interface Trigger Monitor
• Outbound Interface Message Builder
• Generic Download Message Formatting
• Point of Sale Upload Processing
• Inventory Transaction Upload
• Point of Sale Bi-Directional Processing
• Customer Inquiry (Search) Integration
• Customer History Integration
• Inventory Inquiry Integration
• Merchandise Locator and Store Fulfillment Integration
• Point of Sale Integration Setup
Point of Sale Download Processing
Overview: CWDirect allows you to capture the following information to download to a point of sale system:
• item/SKUs; see Generic Item Download API
• vendors; see Generic Vendor Download API
• invoices; see Generic Invoice Download API
• inventory: see Generic Inventory Download API
Note: See Merchandise Locator and Store Fulfillment Integration for information on the store fulfillment option, which includes logic similar to the generic download API’s.
Flowchart: This flowchart explains how information is downloaded from CWDirect to a point of sale system.
Jobs in the Working with Integration Layer Processes (IJCT) menu option control what information is downloaded to another system:
• Item Outbound job: generates an item download XML message for each trigger in the IL Outbound file with a File code of SKU.
• Vendor Outbound job: generates a vendor download XML message for each trigger in the IL Outbound file with a File code of VND.
• Invoice Outbound job: generates an invoice download XML message for each trigger in the IL Outbound file with a File code of IHD.
• Inventory Outbound job: generates an inventory download XML message for each trigger in the IL Outbound file with a File code of ITW.
When are Download Triggers Created?
System control values control the type of data downloaded to a point of sale system.
• If the system control value is set to Y, certain actions in CWDirect triggers the system to create triggers in the IL Outbound Trigger file. The IL Outbound Trigger file acts as a “to do” list for the data that requires download.
• If the system control value is set to N, the system does not create triggers in the IL Outbound Trigger file.
You can also create triggers for existing data in your company using the Generating Outbound Interface Triggers (GOIT) menu option.
System Control Value |
Description |
Enter Y in this field to create item download triggers in the IL Outbound Trigger file to download to the point of sale system. |
|
Enter Y in this field to create vendor download triggers in the IL Outbound Trigger file to download to the point of sale system. |
|
Enter Y in this field to create invoice download triggers in the IL Outbound Trigger file to download to the point of sale system. |
|
Enter Y in this field to create inventory download triggers in the IL Outbound Trigger file to download to the point of sale system. |
Each trigger in the IL Outbound Trigger file contains a:
• File code: indicating the type of information to download and which IL process job processes the trigger.
• Key: indicating the specific record to download.
• Capture type: indicating the type of activity performed against the record:
• A = the record was created.
• C = the record was maintained. Note: The system removes any duplicate change triggers; see Trigger Cleanup.
• D = the record was deleted. Note: The system processes delete triggers immediately; see Processing Delete Triggers.
You can review point of sale download triggers in the Working with Outbound Interface Transactions (WOIT) menu option.
File code |
Created when |
Refers to file(s) |
Key |
IL Process job |
SKU |
An item/SKU is added, updated or deleted; see Item Outbound Trigger Activities |
Item SKU |
11122222222222233333333333333 where: 111 is the company code 222222222222 is the item number 33333333333333 is the SKU code |
Item Outbound |
IHD |
An invoice is created or updated; see Invoice Outbound Trigger Activities |
Invoice Header Order Header |
111222222233333333 where: 111 is the company code 2222222 is the order number 33333333 is the invoice number |
Invoice Outbound |
VND |
A vendor is added, updated or deleted; see Vendor Outbound Trigger Activities |
Vendor |
1112222222 where: 111 is the company code 2222222 is the vendor code |
Vendor Outbound |
ITW |
Item/SKU available quantity changes; see Creating Inventory Download Triggers Interactively Based on Changes to Availability |
Item SKU Warehouse Item Warehouse Item UPC |
11122222222222233333333333333 where: 111 is the company code 222222222222 is the item number 33333333333333 is the SKU code |
Inventory Outbound |
Outbound Interface Trigger Rules
Outbound interface trigger rules define the criteria a record must meet in order for the system to create an IL outbound trigger. For each IL Process outbound job, you can define trigger rules for certain files. For example, you can define trigger rules for the Item file and SKU file for the Item Outbound job. If you define more than one criterion, the record must meet all of the criteria defined in order to generate a trigger.
See Defining Outbound Interface Trigger Rules for more information on setting up trigger rules for each IL Process job.
For IL Process job: |
you can create trigger rules for: |
Example: |
Item Outbound |
Item file SKU file |
You can specify to only create item download triggers for company 555, items that are SKU’ed and whose SKUs are located in warehouse 20. To do this: • in the Item file trigger rules, enter EQ and 555 next to the Company trigger field and EQ and ’Y’ next to the Allow SKU’s trigger field. • In the SKU file trigger rules, enter EQ and 20 next to the Warehouse trigger field. |
Invoice Outbound |
Invoice Header file Order Header file |
You can specify to only create invoice download triggers for debit invoices and not credit invoices. To do this, enter EQ and I (invoice) next to the Invoice type trigger field. |
Vendor Outbound |
Vendor file |
You can specify to only create vendor download triggers for companies 27 and 555 and vendor 202. To do this, enter LIST and 27 555 next to the Company trigger field and EQ and 202 next to the Vendor # trigger field. |
Inventory Outbound |
Item SKU Warehouse Item Warehouse Item UPC |
You can specify not to create inventory download triggers for non-inventory items. To do this, enter NE and ’Y’ next to the Non-inventory trigger field. |
Outbound Interface Trigger Monitor
When active, each IL Outbound job monitors the IL Outbound Trigger file for unprocessed triggers at defined intervals, based on the value defined in the Outbound delay time field.
Each IL Outbound job:
• looks for triggers with the appropriate File code and a Status of ready (R).
• the Item Outbound job looks for File code SKU.
• the Invoice Outbound job looks for File code IHD.
• the Vendor Outbound job looks for File code VND.
• the Inventory Outbound job looks for File code ITW.
• sends each trigger to the IL Outbound message builder to generate an XML message.
Before processing triggers in the IL Outbound file, the system looks for duplicate unprocessed download triggers with the same Capture type for the same File code and Key. If duplicate triggers exist, the system removes the duplicates, leaving only the most recent trigger for the Capture type, File code and Key.
Example: The following change triggers exist in the IL Outbound file.
File |
Status |
Key |
Results |
SKU |
unprocessed |
555AB105004 RED GRLS SMLL |
The system deletes 2 of these triggers, leaving only one trigger to process. |
SKU |
unprocessed |
555AB105004 RED GRLS SMLL |
|
SKU |
unprocessed |
555AB105004 RED GRLS SMLL |
Note: If both an add and change trigger exists for the same File code and Key, the system generates a download message for both triggers.
The system processes triggers in the IL Outbound Trigger file with a delete (D) Capture type immediately, regardless if the IL Outbound job is active or inactive.
Note: Since you cannot delete an invoice, the system never creates a delete download trigger for an invoice.
If one or more unprocessed triggers exist in the IL Outbound Trigger file for the same File code and Key, the system:
• if one of the matching triggers is an add (A) Capture type: does not create the delete trigger and removes any other matching triggers (add and change). Since the point of sale system never received the add trigger, you do not want to send a delete trigger or any other triggers.
Note: However, if an Original processed date and time exist for the add trigger (indicating the trigger was previously downloaded and then reset to reprocess again), the system generates a download message for the delete trigger and removes any other matching triggers (add and change). Since the point of sale system previously received the add trigger, you want to send a delete notification to the system.
• if the matching trigger is a change (C) Capture type: generates a download message for the delete trigger and removes any other matching change triggers. Since the point of sale system is receiving a delete trigger, you do not need to send any change triggers.
Outbound Interface Message Builder
For each trigger, the IL Outbound message builder:
• determines what information requires download. The system uses the Key field for the trigger to determine which records require download.
• The Key field for item download triggers consists of company + item number + SKU code. The SKU code is included only if the item is a SKU’ed item. For example the Key 555AB100112 BLUE GRLS SMLL indicates the item and SKU information is located in company 555 for item number AB100112 and SKU code BLUE GRLS SMLL.
• The Key field for invoice download triggers consists of company + order number + invoice number. For example the Key 55500049680000583 indicates the invoice information is located in company 555 for order number 4968 and invoice number 583.
• The Key field for vendor download triggers consists of company + vendor number. For example the Key 5550002003 indicates the vendor information is located in company 555 for vendor number 2003.
• The Key field for inventory download triggers consists of company + item number + SKU code. The SKU code is included only if the item is a SKU’ed item. See the description of the item download trigger key above.
• determines which elements to include in the download message, based on XML inclusion rules. You can define XML inclusion rules for each IL Outbound job at the Outbound Interface XML Inclusion Screen. XML inclusion defines which elements to include in a download message.
• If the element is included, that element and its parents are included in the generated download XML message.
• If the element is excluded, that element and its children are excluded from the generated download message.
• sends the generated download message to the queues defined for the Outbound job that are active.
For more information:
• item download: Item Outbound XML Inclusion
• vendor download: Vendor Outbound XML Inclusion
• invoice download: Invoice Outbound XML Inclusion
• inventory download: Inventory Download XML Inclusion
Once the Outbound message builder determines which elements to include in the download XML message, the IL Outbound job sends each download XML message to the appropriate queues whose Enabled field is set to Y. If the queue is not enabled, the system does not send the download message to that queue.
You can define outbound queues for each IL Outbound job at the Work with Integration Layer Process Queues Screen.
For example, you can define a separate queue to send the download message to your:
• retail store
• warehouse management system
Generic Download Message Formatting
For each download message:
• numeric fields are not zero-filled, for example 000001 displays as 1.
• blank spaces are removed from the beginning and end of alphanumeric fields.
• decimal places for numeric fields are implied.
• empty elements are not included; for example, if an item/SKU does not have a vendor item defined, the system does not send the VendorItem element or its children (VITPriceBreak, VITAdditionalCharge, VITNote, and VITUserField) in the item download message.
• empty attributes are not included; for example, if the Kit type field for an item/SKU is blank, the system does not send the Kit_type attribute in the item download message.
For more information:
• Item Download XML Message (CWITEMOUT)
• Vendor Download XML Message (CWVENDOROUT)
• Invoice Download XML Message (CWINVOICEOUT)
• Inventory Download XML Message (CWInventoryDownload)
Point of Sale Upload Processing
The following uploads allow you to bring information into CWDirect from another system.
Overview: Use the generic order interface to send orders into CWDirect via CWIntegrate. You can use this interface for any type of order, including retail point of sale transactions, orders received through a remote call center, and orders taken at a web storefront.
Options: Your options through the generic order interface include:
• response: generating a detailed response, a simple response, or no response
• separate payment message: sending the payment information separately or in the same message as the rest of the order information
• batching: batched or non-batched orders
• deposit and refund suppression: suppressing the order from deposit processing and refund generation
• returns: entering a return by specifying a negative order quantity
• customer updates: updating an existing sold-to, or creates a new sold-to, bill-to, individual, or permanent ship-to customer
For more information: See Generic Order Interface (Order API).
Overview: You can use the Generic Inventory Transaction Upload to synchronize inventory levels in CWDirect with another system. For example, you can upload counts in retail stores, as maintained in CWStore. To do so, you can identify each store as a warehouse in CWDirect. The inventory counts of each store are then available for review through a menu option such as Using Inventory Inquiry (DINI) or Inquiring into Item Availability (DIAV).
You can use the upload for any type of inventory transaction that is also available in Working with Inventory Transactions in Batch Mode (WITB) or Working with Inventory Transactions in Immediate Mode (WITI); for example, you can upload transfers, adjustments, returns to vendor, and resets of on-hand quantity. System transactions such as shipments or purchase order receipts are not allowed. The upload performs the same edits and validations as in batch or interactive inventory transactions.
For more information: See Generic Inventory Transaction Upload.
Other inventory integrations: In addition to the inventory transaction upload, you can use the:
• Generic Inventory Download API to download current inventory information, such as availability and warehouses where an item/SKU is stored, to an external system, such as Locate. You can schedule the download periodically, such as once a day; the system also creates trigger records based on changes to availability levels.
• Generic Inventory Inquiry API to respond to requests for inventory information from an external system, such as Locate. Through this API, the system responds to requests “behind the scenes,” and the activity is not visible on any screen.
• Merchandise Locator and Store Fulfillment API through .NET to request inventory information to an external system, such as Locate, based on stores’ proximity to the customer’s geographic address. This integration is essentially the reverse of the generic inventory inquiry API, in that the system is generating requests for inventory information rather than responding to them. Optionally, you can also generate a store pickup request to a store location if the customer prefers to pick up the item rather than waiting for it to ship, or a store shipment request to have the store location ship out the item directly.
Point of Sale Bi-Directional Processing
The following process allows you to receive a request from an external system, such as CWStore or Locate, and generate a response.
Customer Inquiry (Search) Integration
Purpose: Use the generic customer inquiry integration to enable an external system to find a customer based on standard search criteria, such as alternate customer number, postal code, last name, phone number, or email address. The information in the response from CWDirect includes the customer number as well as name and address.
This search function has options similar to the Select Customer Sold To Screen, and produces similar results. When you enter search criteria at the Select Customer Sold To Screen, you advance to a subsequent screen listing customers in alphanumeric order based on values that match your search criteria. Similarly, when the system receives a customer inquiry request, it responds with a message listing customers in alphanumeric order based on values that match the search criteria from the request.
You can use this integration together with the customer history integration described below so that, once CWDirect has provided the matching customer(s) from the Customer Sold To file, the external system can then send a customer history request for a selected customer.
For more information: See Generic Customer Inquiry (Search) API.
Purpose: Use the generic customer history integration to provide a customer’s order history to an external system, such as CWStore, and detailed information about a single order.
The external system can request information using the CWDirect customer number or order number. It can also use its own numbers if they map to the alternate customer number or alternate (web) order number in CWDirect.
When the request provides information on the customer, CWDirect produces a customer history message in response. When the request provides information on the order, CWDirect produces a detailed or summary order message. The request can include the CWDirect customer or order numbers, or the external system can use its own numbers if they map to the alternate customer number or alternate (web) order number in CWDirect.
For more information: See Generic Customer History API.
Purpose: Use the generic inventory inquiry integration to provide current inventory information for items upon request. For example, Locate uses this integration to send up-to-date inventory information when it is requested by an external system, such as CWStore. See Inventory Transaction Upload for a comparison between this integration and other generic inventory integrations.
For more information: See Generic Inventory Inquiry API.
Merchandise Locator and Store Fulfillment Integration
Purpose: Use merchandise locator and store fulfillment integration to receive availability information for an item from external warehouses and stores within a geographical area, and to send a request for a store pickup or shipment to a store. While the merchandise locator option is not part of the cw_store POS (point of sale) integration site, it is required in order to generate store pickup or shipment requests to store locations in CWStore.
For more information: See Merchandise Locator and Store Fulfillment API through .NET.
Point of Sale Integration Setup
You must perform the necessary CWDirect setup and processing to use the point of sale Integration.
Information requiring setup includes:
For more information: See the Generic Order Interface (Order API), the Generic Inventory Transaction Upload, and the Merchandise Locator and Store Fulfillment API through .NET for information on setup related to these interfaces.
System Control Value |
Description |
Enter Y in this field to create item download triggers in the IL Outbound Trigger file to download to the point of sale system. |
|
Enter Y in this field to create vendor download triggers in the IL Outbound Trigger file to download to the point of sale system. |
|
Enter Y in this field to create invoice download triggers in the IL Outbound Trigger file to download to the point of sale system. |
|
Enter Y in this field to create inventory download triggers in the IL Outbound Trigger file to download to the point of sale system. |
|
Enter the number of days to retain records in the IL Outbound Trigger file before purging them. Run the PURGIJT periodic function (program name ILR0026) to delete any records if: Last processed date is less than the current system date by the number of purge days and Status is X. Example: Today is 2/06, and you have set this value to 1. Any record whose Last processed date is 2/05 or earlier is purged. |
Menu Option |
Description |
Allows you to create an IL outbound trigger record for each item/SKU, vendor, and/or invoice in your company. Run this process to initially send your data to the point of sale system. |
|
Allows you to review, delete, or resend IL outbound trigger records. |
|
Use this option to create the process queues and required WebSphereMQ queues and queue managers to send and receive messages for each integration. Also, define trigger rules, XML inclusion rules, and queues for the following IL Process jobs related to point of sale: Item Outbound: processes triggers with a File code of SKU and generates an item download message. Invoice Outbound: processes triggers with a File code of IHD and generates an invoice download message. Vendor Outbound: processes triggers with a File code of VND and generates a vendor download message. Inventory Outbound: processes triggers with a File code of ITW and generates an inventory download message. |
Periodic Function |
Description |
Purge IJCT Download (program name ILR0026) |
Run this periodic function to purge processed IL outbound triggers, based on the days defined in the Outbound Interface Trigger File Purge Days (I14) system control value: Capture date is less than the current system date by the number of purge days and Status is X This periodic function also purges records in the Store Fulfillment Files (.NET) if they are older than the Store Pickup/Shipment Request Purge Days (I43). |
Start All IJCT Jobs (program name MSX1288) |
Run this periodic function to start all IL Process jobs in the Working with Integration Layer Processes (IJCT) menu option. |
Stop All IJCT Jobs (program name MSX1289) |
Run this periodic function to end all IL Process jobs in the Working with Integration Layer Processes (IJCT) menu option. |
Part M: Point of Sale Integration | Contents | SCVs | Search | Glossary | Reports | XML | Index | Chapter 110: Generic Inventory Transaction Upload |
ST01_01 CWDirect 18.0 August 2015 OTN