Point of Sale Integration Overview

Purpose: The point of sale integration allows you to send data from Order Management System to your point of sale system, such as CWStore, and receive data from your point of sale system into Order Management System.

In this chapter:

Point of Sale Download Processing

- What Data Can I Download?

- When are Download Triggers Created?

- Identifying Download Triggers

- Outbound Interface Trigger Rules

- Outbound Interface Trigger Monitor

- Trigger Cleanup

- Processing Delete Triggers

- Outbound Interface Message Builder

- Outbound Interface Queues

- Generic Download Message Formatting

Point of Sale Upload Processing

- Generic Order Interface

- Inventory Transaction Upload

Point of Sale Bi-Directional Processing

- Customer Inquiry (Search) Integration

- Customer History Integration

- Inventory Inquiry Integration

Point of Sale Integration Setup

- System Control Values

- Menu Options

- Periodic Functions

Point of Sale Download Processing

Overview: Order Management System 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

• customers: see Generic Customer Download API

Information flow: This flowchart explains how information is downloaded from Order Management System to a point of sale system.

What Data Can I Download?

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 table with a File code of SKU.

Vendor Outbound job: generates a vendor download XML message for each trigger in the IL Outbound table with a File code of VND.

Invoice Outbound job: generates an invoice download XML message for each trigger in the IL Outbound table with a File code of IHD.

Inventory Outbound job: generates an inventory download XML message for each trigger in the IL Outbound table with a File code of ITW.

Customer Download job: generates a customer download XML message for each trigger in the IL Outbound table with a File code of CST.

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 selected, certain actions in Order Management System triggers the system to create triggers in the IL Outbound Trigger table. The IL Outbound Trigger table acts as a “to do” list for the data that requires download.

• If the system control value is unselected, the system does not create triggers in the IL Outbound Trigger table.

You can also create triggers for existing data in your company using the Generating Outbound Interface Triggers (GOIT) menu option.

System Control Value

Description

Create Generic Item Download Trigger Records (I15)

Select this field to create item download triggers in the IL Outbound Trigger table to download to the point of sale system.

Create Generic Vendor Download Trigger Records (I16)

Select this field to create vendor download triggers in the IL Outbound Trigger table to download to the point of sale system.

Create Generic Invoice Download Trigger Records (I17)

Select this field to create invoice download triggers in the IL Outbound Trigger table to download to the point of sale system.

Create Generic Inventory Download Triggers (I32)

Select this field to create inventory download triggers in the IL Outbound Trigger table to download to the point of sale system.

Create Generic Customer Download Triggers (L12)

Select this field to create customer download triggers in the IL Outbound Trigger table to download to the point of sale system.

Identifying Download Triggers

Each trigger in the IL Outbound Trigger table has 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 table(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 Due to Changes in 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

CST

You create, change, or delete a customer; see Customer Outbound Trigger Activities

Customer Sold To tables

Customer Ship To tables

Customer Bill To tables

1112222222 where:

111 is the company code

2222222 is the customer code

Customer Download 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 tables. For example, you can define trigger rules for the Item table and SKU table 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 table

SKU table

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 table 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 table trigger rules, enter EQ and 20 next to the Warehouse trigger field.

See Item Outbound Trigger Rules.

Invoice Outbound

Invoice Header table

Order Header table

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.

See Invoice Outbound Trigger Rules.

Vendor Outbound

Vendor table

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.

See Vendor Outbound Trigger Rules.

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.

Customer Download Outbound

Company

Customer class

Inactive?

Country

You can specify not to create customer download triggers for inactive customers. To do this, enter NE and ’Y’ next to the Inactive? trigger field.

See Customer Outbound Trigger Rules.

Outbound Interface Trigger Monitor

When active, each IL Outbound job monitors the IL Outbound Trigger table for unprocessed triggers at defined intervals, based on the Outbound delay time.

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.

- the Customer Download Outbound job looks for File code CST.

• sends each trigger to the IL Outbound message builder to generate an XML message.

Trigger Cleanup

Before processing triggers in the IL Outbound table, 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 table.

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 exist for the same File code and Key, the system generates a download message for both triggers.

Processing Delete Triggers

The system processes triggers in the IL Outbound Trigger table 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 table 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 5550002006 indicates the vendor information is located in company 555 for vendor number 2006.

- 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

• customer download: Customer Outbound XML Inclusion

Outbound Interface Queues

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

Customer Download XML Message (CWCustomerDownload)

Point of Sale Upload Processing

The following uploads allow you to bring information into Order Management System from another system.

Generic Order Interface

Overview: Use the generic order interface to send orders into Order Management System. 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, or permanent ship-to customer

For more information: See Generic Order Interface (Order API).

Inventory Transaction Upload

Overview: You can use the Generic Inventory Transaction Upload to synchronize inventory levels in Order Management System 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 Order Management System. 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 (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 Order Broker. 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. Through this API, the system responds to requests “behind the scenes,” and the activity is not visible on any screen.

• integration with Order Broker to share item and inventory information with multiple systems and to submit orders to another system for fulfillment. See the Order Broker Integration Overview for background.

Point of Sale Bi-Directional Processing

The following process allows you to receive a request from an external system, such as CWStore or Order Broker, 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 Order Management System 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 Order Management System has provided the matching customer(s) from the Customer Sold To table, the external system can then send a customer history request for a selected customer.

For more information: See Generic Customer Inquiry (Search) API.

Customer History Integration

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 Order Management System 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 Order Management System.

When the request provides information on the customer, Order Management System produces a customer history message in response. When the request provides information on the order, Order Management System produces a detailed or summary order message. The request can include the Order Management System 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 Order Management System.

For more information: See Generic Customer History API.

Inventory Inquiry Integration

Purpose: Use the generic inventory inquiry integration to provide current inventory information for items upon request. For example, you might use this integration to send up-to-date inventory information when it is requested by an external system. See Inventory Transaction Upload for a comparison between this integration and other generic inventory integrations.

For more information: See Generic Inventory Inquiry API.

Point of Sale Integration Setup

You must perform the necessary Order Management System setup and processing to use the point of sale Integration.

Information requiring setup includes:

System Control Values

Menu Options

Periodic Functions

For more information: See the Generic Order Interface (Order API) and the Generic Inventory Transaction Upload for information on setup related to these interfaces.

System Control Values

System Control Value

Description

Create Generic Item Download Trigger Records (I15)

Select this field to create item download triggers in the IL Outbound Trigger table to download to the point of sale system.

Create Generic Vendor Download Trigger Records (I16)

Select this field to create vendor download triggers in the IL Outbound Trigger table to download to the point of sale system.

Create Generic Invoice Download Trigger Records (I17)

Select this field to create invoice download triggers in the IL Outbound Trigger table to download to the point of sale system.

Create Generic Inventory Download Triggers (I32)

Select this field to create inventory download triggers in the IL Outbound Trigger table to download to the point of sale system.

Create Generic Customer Download Triggers (L12)

Select this field to create customer download triggers in the IL Outbound Trigger table to download to the point of sale system.

Outbound Interface Trigger File Purge Days (I14)

Enter the number of days to retain records in the IL Outbound Trigger table 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. You can also use the Purge option at the Work with Outbound Interface Transactions Screen to purge records.

Example: Today is 2/07, and you have set this value to 1. Any record whose Last processed date is 2/06 or earlier is purged.

Menu Options

Menu Option

Description

Generating Outbound Interface Triggers (GOIT)

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.

Working with Outbound Interface Transactions (WOIT)

Allows you to review, delete, or resend IL outbound trigger records.

Working with Integration Layer Processes (IJCT)

Use this option to create the process queues and required message 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 Functions

Periodic Function

Description

Purge IJCT Download (program name ILR0026)

Run this periodic function to purge processed IL outbound triggers, based on 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

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.

ST01_01 OMSCS 19.0 December 2019 OHC