Order Broker Integration

Purpose: The integration between Locate’s Order Broker module and CWDirect enables you to share information on items’ availability and create orders across the enterprise, including:

• providing periodic item and inventory import from CWDirect to Locate

• providing real-time, on-demand inventory availability information for specific items from the CWDirect warehouse to the point of sale or the web storefront, and vice versa

• using Locate’s Order Broker to automatically assign backordered items to store locations for fulfillment

• searching for store locations that stock a requested item so that the customer can pick up the item at the store

• using CWDirect to fulfill retail pickup or delivery orders that originate in a retail store location

Integrated systems: Locate provides visibility into items and inventory across all integrated systems. Typically, you would integrate Locate with CWDirect and a POS system, such as Xstore.

Merchandise locator searches: Merchandise locator searches are an additional option when integrating with the Order Broker. See Merchandise Locator Searching through JAVA for information on searching for locations that might be able to fulfill delivery or pickup orders when you integrate with Locate 5.1 or higher, and see Merchandise Locator and Store Fulfillment API through .NET for information on merchandise locator searches when you integrate with Locate 2.1 or 2.5 through the cw_locate site.

Supplier Direct Fulfillment: See Locate Supplier Direct Fulfillment Interface for information on integration with Locate module for fulfilling drop ship purchase orders.

In this topic:

Sending Item and Inventory Information to Locate

Batch Item and Inventory Import

Interactive Inventory Updates

Brokered Backorder Integration with Locate

Brokered Backorder Process: Order Creation

Brokered Backorder Processing After Order Creation and Status Updates

Rules for Generating Order Broker Triggers for Brokered Backorders

BROKER Periodic Function

Brokering Items with Soldout Control Codes

Things to Note About Brokered Backorder Requests

Fulfilling Retail Pickup and Delivery Orders in CWDirect

Retail Pickup and Delivery Order Processing Summary

Building the Retail Pickup or Delivery Order: Information Mapping

Retail Pickup or Delivery Processing after Order Creation

Reviewing Retail Pickup or Delivery Orders in Order Inquiry

Maintaining a Retail Pickup or Delivery Order

Things to Note about Retail Pickup and Delivery Orders

Sample Order Broker XML Messages

Brokered Backorder Message Samples

Order Request Message Sample (Brokered Backorder)

Locate SubmitOrder Request Message Sample (Brokered Backorder)

Locate SubmitOrder Response Message Sample (Brokered Backorder)

Order Response Message Sample

Status Inquiry Request Message Sample

Locate Status Request Message Sample

Locate Status Request Response Message Sample

Status Inquiry Response Message Sample

Status Update Request Message Sample

Locate Status Update Request Message Sample

Locate Status Update Response Message Sample

Status Update Response Message Sample

Retail Pickup and Delivery Message Samples

Order Broker Request Fulfillments Sample

Locate Fulfillment Request Message Sample

Locate Fulfillments Response Message Sample

CWORDERIN Message Sample

Order Broker Setup

Setup in the cw.properties File

Item and Inventory Import Setup

Brokered Backorder Setup

Retail Pickup and Delivery Order Setup

Starting and Stopping Broker Jobs

Working with Java Jobs

Order Broker Data Queues Summary

Reviewing Order Broker Status and Activity

Working with Order Broker Requests (WOBR)

Work with Order Broker Screen

Display Order Broker Screen

First Display Order Broker History Screen

Second Display Order Broker History Screen

Confirm Order Broker Cancel Window

Print Aging Report Window

Order Broker Statuses

Order Broker XML Messages

Order Broker Request XML Message (CWOrderBrokerRequest)

Order Broker Response XML Message (CWOrderBrokerResponse)

Troubleshooting the Order Broker Integration

Working with Store Cross References (WSXR)

Order Broker Aging Report

Sending Item and Inventory Information to Locate

Overview: You can use an interface program, specified in Locate, to extract and import item and inventory information from your CWDirect database to Locate. The import option is supported only if you integrate with a recent release of Locate (5.1 or higher) and the Locate Platform is set to JAVA.

Batch Item and Inventory Import

How does the import work? Locate’s interface program extracts items and SKU’s and their current availability information for import into the Locate database. Only items and SKU’s whose Locate eligible flags are selected are eligible for import. This flag is selected by default when you create a new item.

 

Mapping the CWDirect item and SKU code to the Locate product or system product code: If CWDirect is your default system in Locate, you can use the CWDirect item and SKU code as your product code in Locate; otherwise, if CWDirect is not the default in Locate, you can use another field, such as a UPC code, to identify the product code for the default system. The Locate Product Code ID (K66) system control value defines the product code mapping.

What information is imported? The imported information consists of:

Product and system product: Maps to the product if CWDirect is the default system in your Locate organization, and always maps to the system product:

company: Maps to the Locate system code.

item and SKU:

• If the Locate Product Code ID (K66) system control value is set to IT or blank, the item and SKU maps to the product code and the system product code, and the item code maps to the master style code. See that system control value for background.

• Otherwise, if the Locate Product Code ID is set to anything other than IT or blank, the specified code, such as the Reference # or a UPC code, maps to the Locate product code, and just your item and SKU map as the system product.

Long SKU department: Maps to the Locate Department field if the CWDirect company is the default system in Locate; otherwise, the long SKU department isn’t mapped. The long SKU division for an item is identified through the long SKU department.

Long SKU class: Maps to the Locate Class field if the CWDirect company is the default system in Locate; otherwise, the long SKU class isn’t mapped.

Long SKU division: Maps to the Locate Category field if the CWDirect company is the default system in Locate; otherwise, the long SKU division isn’t mapped. Derived from the long SKU department.

Item description: Maps to the product description if the CWDirect company is the default system; otherwise, the item description isn’t mapped.

Updates to existing product in Locate? If the CWDirect company is the default system, the import updates the description, category, class, and department for an existing product in Locate when the CWDirect description, long SKU division, long SKU class, or long SKU department have changed.

If the CWDirect company is not the default system, no updates takes place for an existing product in Locate.

Product Location:

company: Maps to the Locate system code.

warehouse: From the Locate Default Location (K51) system control value, even if the item is not stored in this warehouse, but is stored in another allocatable warehouse. Maps to the matching Locate location for the CWDirect system in Locate.

item and SKU: Identifies the system product code for the product location.

available quantity: The total quantity available across all allocatable warehouses. Calculated as: On hand - Protected - Reserved - Reserve Transfer - Backordered = Quantity available. See below for a discussion on drop ship and non-inventory items, such as set master items.

next PO quantity: The quantity expected on the next open purchase order that might be able to fulfill a new backorder. From the Purchase Order Layering table.

next PO date: The date of the next open purchase order that might be able to fulfill a new backorder. From the Purchase Order Layering table.

Updates to existing product location in Locate: The import always updates the product location in Locate with current information. If the product location did not previously exist in Locate, it is created.

Note: It is important to use purchase order layering to update the PO Layering table before running the import; otherwise, the Next PO date and Next PO quantity sent to Locate will not be up to date.

Drop ship and non-inventory items, including set masters:

Drop ship items: If an item is flagged as Drop ship, the available quantity passed to Locate is typically 9999; however, if you actually have an available quantity of the drop ship item in the warehouse, the available quantity sent to Locate is based on the standard availability calculation described above. Also, in this case, if there are any open purchase orders for the drop ship item tracked in the Purchase Order Layering file, then the next PO date and quantity from the first Purchase Order Layering record is also passed to Locate. (Purchase orders for drop ship items are in the Purchase Order Layering file only if they are not generated through customer orders, but are requesting shipment to the warehouse.)

Set master items and other non-inventory items: The available quantity reported for the set master item is typically 0; however, if you actually have an available quantity of the item in the warehouse, this quantity is used. To determine the true availability of a set, check the set components and the set quantity of each component required to make up a set, or look up the set master item.

Scheduling the import or running it on demand: You use the Schedule Import Process screen in Locate to set up a schedule for importing item and inventory information from CWDirect. You can also run the import on demand from this screen.

Required setup: Before you can run the import, you need to complete the required setup in Locate, including setting up the interface program at the System screen, as well as the Order Broker Setup in CWDirect. See Item and Inventory Import Setup for complete setup requirements.

For more information: See the Locate online help and the Locate Operations Guide.

Interactive Inventory Updates

Purpose: Just as with the Batch Item and Inventory Import, an interface program specified for your system in Locate enables Locate to obtain up-to-date inventory information when it receives a request from an external system or needs to “reshop” a rejected order.

Process overview: When a remote system requests inventory information, Locate checks for current inventory information from CWDirect if:

• the system representing CWDirect is configured in Locate as an online system with an interface program, and

• there is a product location record in Locate indicating that the item is stocked in the CWDirect default warehouse. This record is normally created automatically through the Batch Item and Inventory Import, and

• you have completed the Item and Inventory Import Setup

If the above conditions are met, Locate automatically runs the interface program that checks the item’s inventory information in the CWDirect database, and updates the product location record for the product in the Locate Default Location (K51). The rules used to update the product location’s Available quantity, Next PO quantity, and Next PO date are the same as those used for the Batch Item and Inventory Import.

Brokered Backorder Integration with Locate

Brokered backorder: Use the brokered backorder integration with Locate to automatically send backordered lines to the Order Broker module in Locate for fulfillment. Unlike the merchandise locator API, the brokered backorder integration with Locate enables you to fulfill these orders automatically “behind the scenes” without the need to select a fulfilling location. The Order Broker selects the location for you, using business rules you have configured in Locate.

Note:

Note: A brokered backorder is an example of a delivery order sent to the Order Broker for fulfillment. See Fulfilling Retail Pickup and Delivery Orders in CWDirect for another example in which the order originates in a retail location and is assigned to CWDirect for fulfillment.

Brokered Backorder Process: Order Creation

Order creation: You create an order in CWDirect that includes a backordered item. The order creation can be through interactive order entry, batch order entry, the e-commerce interface, or through the order API. You can also use the BROKER Periodic Function to submit existing backordered lines to the Order Broker.

Generating trigger record: If the order line meets the Rules for Generating Order Broker Triggers for Brokered Backorders, CWDirect generates a trigger record to create an Order Broker request.

Note: Order lines that meet the Rules for Generating Order Broker Triggers for Brokered Backorders do not sell out initially, even if the items are flagged with soldout control codes. See Brokering Items with Soldout Control Codes for more information.

The trigger record is displayed in Working with Outbound Interface Transactions (WOIT) and has a file type of OBR. The system also creates the Order Broker record. Both the trigger record and the Order Broker record have a status of R (ready) at creation. Also, the order line is updated to restrict it from normal backorder processing in CWDirect:

• the Drop ship flag is set to D

• the Printed quantity is updated to the order quantity

A brokered backorder line displays a status code of OBR in order inquiry, regardless of whether the line has been fulfilled through the Order Broker, is waiting for submission or fulfillment, or if the broker request or line itself are canceled.

Each order line creates a separate order? If you integrate with Locate 5.1 or higher, the Use Split Order (L56) system control value controls whether to submit each backordered line as a separate order:

• If Use Split Order (L56) is set to Y: Multiple backordered lines can be sent to the Order Broker as a single order. The Order Broker might then assign each line to a different location for fulfillment if there is no location that can fulfill all the order lines.

• If Use Split Order (L56) is set to N: Each eligible backordered line is sent to the Order Broker as a separate order, and the fulfillment of each line is tracked individually.

Submitting the brokered backorder to Locate: The Locate Platform setting controls the communication between CWDirect and Locate for brokered backorders:

JAVA: If the Locate Platform is set to JAVA to support direct integration with release 5.1, 5.3, or later of Locate:

.NET: If the Locate Platform is set to .NET to support integration with release 3.0 or 3.1 of Locate through the cw_locate site in CWIntegrate:

Generating the message: The BROKER_ORD process in Working with Integration Layer Processes (IJCT) generates the Order Broker Request XML Message (CWOrderBrokerRequest) to request order creation in the Order Broker and:

• If the Locate Platform is set to JAVA for version 5.1 or higher of Locate, the process uses the information in the CWOrderBrokerRequest to generate Locate’s SubmitOrder request message, and uses the OBRORDREQ data queue to submit the order to the WSDL location specified in the cw.properties file.

• If the Locate Platform is set to .NET for version 2.1 or 2.5 of Locate, the process sends the message to the cw_locate site in CWIntegrate, and the site translates the message and submits it to Locate.

Updates in CWDirect: At this time, the system also:

• writes an Order Transaction History message indicating that the order line was submitted to the Order Broker (for example, LN#: 00002 SUBMITTED TO BROKER).

• changes the trigger record’s status to X (complete).

• if the Locate Platform is set to .NET for version 2.1 or 2.5 of Locate, changes the Order Broker record’s status to W (waiting).

• creates an Order Broker History record to track the order submission.

What information is sent to the Order Broker? CWDirect sends the sold-to and ship-to customers’ names and addresses, as well as details on the backordered item. It does not send payment information, although only fully paid or authorized items are eligible for brokered backorder fulfillment.

Communication with Locate:

• If the Locate Platform is set to .NET for version 2.1 or 2.5 of Locate, the cw_locate site translates the message from CWDirect into the SubmitOrder message and sends it to Locate.

• If the Locate Platform is set to JAVA for direct integration with version 5.1 or higher of Locate, the system uses the information in the CWOrderRequest message to generate the SubmitOrder message and sends it to Locate.

• The Order Broker module in Locate receives the SubmitOrder message, creates the order in its database, and assigns it to a location for fulfillment based on available inventory and business rules that you have defined in Locate. At this point, the order status in the Locate database is new_order.

• The Order Broker sends a response message indicating the assigned fulfilling location and the unique request ID it uses to identify the order.

• If the Locate Platform is set to .NET for version 2.1 or 2.5 of Locate, The cw_locate site translates the message into the Order Broker Response XML Message (CWOrderBrokerResponse) format and sends it to CWDirect.

• If the Locate Platform is set to JAVA for direct integration with version 5.1 or higher of Locate, the system uses the information in the SubmitOrder response message to generate the CWOrderRequest response.

Sample messages: See Order Request Message Sample (Brokered Backorder) and Locate SubmitOrder Request Message Sample (Brokered Backorder) for samples.

Receiving the order response: If the response indicates that the Order Broker successfully created the order and assigned it to a fulfilling location, CWDirect:

• updates the Order Broker record with the fulfilling location, fulfilling location description and request ID. The fulfilling location description is based on the store cross reference record set up through Working with Store Cross References (WSXR).

• changes the Order Broker record’s status to K (acknowledged).

• writes an Order Transaction History message indicating that the order was acknowledged by the Order Broker (for example, LN#: 00001 ACKNOWLEDGED BY BROKER).

• creates an Order Broker History record to track the order response.

Sample responses: See Locate SubmitOrder Response Message Sample (Brokered Backorder) and Order Response Message Sample for samples.

What if the Order Broker cannot find a location to fulfill the order? In some cases, the Order Broker cannot assign an order to a location because there are no locations with sufficient inventory and that are eligible based on the business rules set up in Locate. In this situation, the Order Broker changes the status of the order within the Locate database to U (unfulfillable). An order might be flagged as unfulfillable when the Order Broker first receives the order request message, or after one or more assigned fulfilling locations have rejected the order for processing.

When the Order Broker flags an order as unfulfillable as part of initial order processing (that is, when it first receives the order request from CWDirect), it uses the order response message to indicate the status of U. In this case, the response message does include a request ID and a fulfilling location and fulfilling location description; however, the fulfilling location is the Default Unfulfillable Location identified in Locate for assignment of unfulfillable orders.

Note: Prior to Locate 5.3, the Default Unfulfillable Location is labeled the Default Shipping Location at the Preferences screen.

Error? CWDirect might also flag an Order Broker request as unfulfillable if Locate returns an error to the initial order request message, such as if the requested item does not exist in Locate.

See Brokered Backorder Processing After Order Creation and Status Updates for a listing of the additional updates that take place in CWDirect when an order is flagged as unfulfillable.

Brokered Backorder Processing After Order Creation and Status Updates

What happens after the Order Broker creates the order?

Polling: Each fulfilling location, typically a store location in a POS system such as Xstore, is responsible for polling the Order Broker periodically to check for new orders. Once the Order Broker receives a polling request from a fulfilling location, it sends a polling response, listing the details of all new orders assigned to that location for fulfillment. At that time, the Order Broker changes the status of the order to polled if the assigned location’s system is not flagged to Require status update; otherwise, the status in Locate remains new_order until the assigned location acknowledges the order.

If the fulfilling location is a store location that uses Locate’s Store Connect module, the polling takes place automatically, and new orders are listed on the screen for store associates to work on.

Order accepted? If the location can fulfill the order, it sends a message to the Order Broker. The Order Broker then changes the status of the order to accepted.

Order rejected? If the location cannot fulfill the order, it sends a message to the Order Broker. The Order Broker then:

• Attempts to find another fulfilling location, subject to the rules you have set up in Locate. If it finds another location, the Order Broker updates the order record in its database and changes the order status back to new_order. Then the process begins again as the Order Broker waits until the newly-assigned location polls for orders.

• If the Order Broker does not find another fulfilling location, it flags the order as unfulfillable and assigns it to the Default Unfulfillable Location (the virtual location indicating that the order cannot be fulfilled).

Note: Prior to Locate 5.3, the Default Unfulfillable Location is labeled the Default Shipping Location at the Preferences screen.

Order shipped? Once the fulfilling location has shipped the order, it sends a status update message to Locate, providing the ship via and tracking number if available. The Order Broker changes the order status to fulfilled and stores the ship via and tracking number, if available, so that it can send this information to CWDirect.

Status inquiry and response process: The BROKER_STS process in Working with Integration Layer Processes (IJCT) sends periodic status inquiry messages to the Order Broker. You use the Order Broker Status Update Interval (K10) system control value to define how many minutes CWDirect should wait between sending status inquiry requests for brokered orders.

The Outbound delay time specified for the BROKER_STS controls how often the process “wakes up” to see whether it needs to check statuses. This Outbound delay time also controls how often to send fulfillment request messages to Locate to check whether there are any new retail pickup or delivery orders to fulfill; see Fulfilling Retail Pickup and Delivery Orders in CWDirect for background.

Sample messages: See:

Status Inquiry Request Message Sample

Locate Status Request Message Sample

Locate Status Request Response Message Sample

Status Inquiry Response Message Sample

Status change updates: CWDirect tracks status request and response activity by updating the status of the Order Broker record, creating an Order Broker History record, and writing an Order Transaction History record (for example, LN#: 00001 POLLED BY BROKER), when it receives notification of a new change. The additional updates that take place at a status change depend upon the new status. If the new status is:

polled, accepted, or picked: no additional updates besides the Order Transaction History message.

unfulfillable: clears the Drop ship flag and the Printed quantity on the order detail line, so that the order is now eligible for normal backorder processing. An Order Transaction History message such as LN#: 00001 UNFULFILLABLE BY BROKER records the activity. The order line might automatically sell out at this time; see Brokering Items with Soldout Control Codes for more information.

fulfilled:

• clears the Drop ship flag and the Printed quantity for the order detail line, and submits the order line to regular billing processing

• stores the ship via and tracking number in the Order Transaction History file so the information is available for package tracking if you advance to the Display Order History screen.

Note: If you integrate with Locate 5.1 or higher, the tracking information is available in the shipment confirmation email.

Statuses in Locate for brokered backorders: The statuses typically assigned in Locate to delivery order lines originating from CWDirect (brokered backorders) are:

new_order when the order line is first submitted but the fulfilling location has not yet polled for the order

polled when the fulfilling location polls for new orders and is notified of the order line, provided the location’s system is not flagged to Require status update

accepted when the fulfilling location accepts the order line

picked when the fulfilling location picks the order line before shipment

rejected when the fulfilling location rejects the order line; the order line stays in this status briefly before the status changes back to new_order, because the order line is assigned to a different fulfilling location, or unfulfillable, because the order line cannot be reassigned

fulfilled when the order line ships

canceled if CWDirect sends a cancellation request

Although it is possible for an integrating system to assign other statuses to the order lines in Locate, these other statuses are not relevant to brokered backorder processing and might cause unpredictable results in CWDirect.

For more information: See Order Broker Statuses for background on possible Order Broker statuses in CWDirect.

Canceling a brokered backorder: Optionally, you can cancel a brokered backorder request by:

Order maintenance: At the Work with Order Lines Screen in order maintenance, enter 4 next to an item that is currently assigned to the Order Broker for fulfillment. This cancels both the order line and the Order Broker request.

Working with Order Broker Requests: At the Work with Order Broker Screen enter 4 next to an Order Broker request. This cancels just the Order Broker request and returns the order line to normal backorder processing and fulfillment.

Canceling the brokered backorder generates a status update message to cancel the order in Locate.

Sample messages: See:

Status Update Request Message Sample

Locate Status Update Request Message Sample

Locate Status Update Response Message Sample

Status Update Response Message Sample

For more information: See the Confirm Order Broker Cancel Window.

Rules for Generating Order Broker Triggers for Brokered Backorders

Order and order line eligibility rules: To be eligible for fulfillment through the Order Broker, a line must be:

• for an item flagged as Locate elig (Locate eligible)

• fully backordered

• in open status

• not a future order

• not flagged as a drop ship item

• not gift wrapped

• not have any special handling

• not ineligible based on the trigger rules for the BROKER_ORD process in Working with Integration Layer Processes (IJCT).

• not be a set master item or a set component

The system does not consider the item’s Projected returns quantity, if any, when determining whether an item is eligible for fulfillment through the Order Broker.

Also, the order must be:

• open

• fully paid and authorized

System control values: System control values further define whether order lines are excluded if they are:

• included on any open purchase orders that are due within the Order Broker Due Date Threshold (K11) system control value, subject to purchase order layering. See that system control value for more information

• on ship-complete orders: Order Broker Include Ship Complete Orders (K12) system control value

• coordinate grouped: Order Broker Include Coordinate Grouped Items (K13) system control value

• on gift orders: Order Broker Include Gift Orders (K14) system control value

• on orders shipping outside of the Default Country for Customer Address (B17): Order Broker Include Default Country Orders Only (M29) system control value

BROKER Periodic Function

The BROKER periodic function submits orders to the Order Broker if they were not eligible for submission when they were created. For example, the periodic function submits order lines if:

• your company was not configured to send brokered backorders to Locate when the order was created

• the order was in held status at initial creation and was subsequently released from hold

• the order line was partially reserved, but then the reserved quantity was shipped and there is still a backordered quantity remaining on the order line. The order line is not eligible to be submitted to the Order Broker until any reserved quantity is printed and shipped.

Note: When the periodic function submits an order line as a brokered backorder, the function performs all the updates described under Brokered Backorder Process: Order Creation, but also decreases the Backorder quantity for the Item Warehouse record, since this quantity had been increased when the line was created.

See Brokered Backorder Setup for background on setting up the BROKER periodic function.

Brokering Items with Soldout Control Codes

Items that are Locate elig (Locate eligible) and flagged with a S/O control (Soldout control) code are still eligible for brokering rather than selling out, provided they meet the Rules for Generating Order Broker Triggers for Brokered Backorders. If the soldout control value is:

sell out immediately (status = 1): the item is eligible for brokering even if there is an available quantity in an allocatable warehouse.

include on-order (status = 2): the item is eligible for brokering if it is backordered, provided there is not an open purchase order that could fulfill the order that is due within the Order Broker Due Date Threshold (K11), if specified.

exclude on-order (status = 3): the item is eligible for brokering if it is backordered, regardless of whether there are any open purchase orders.

Projected returns not considered when brokering: An item flagged with a soldout control code can be eligible for brokering even if there is a Prj'd retrns (Projected returns) quantity specified for the item. For example, there is a backordered item flagged with a soldout control code indicating to include the on-order quantity. There are no open purchase orders, but the item has a Prj'd retrns (Projected returns) quantity of 50. The item is still eligible to be brokered, provided it meets the Rules for Generating Order Broker Triggers for Brokered Backorders.

If the item is unfulfillable: If the Order Broker is unable to fulfill an order line, the line returns to standard soldout processing. The process flow is:

• An item is assigned a soldout control value and would be sold out on the order if the item were not locate eligible. The system submits the order line to the Order Broker, but there is no store location that can fulfill the item, so the Order Broker returns a status of Unfulfillable.

• When CWDirect receives the status update from the Order Broker, it changes the order line status to sold out (S) if the order line is currently eligible to sell out based on the soldout control value and availability.

• The next time you use the Processing Auto Soldout Cancellations (MASO) option, the soldout line is listed on the Auto Soldout Register, even though it did not sell out through Process Auto Soldouts and even if it is not assigned a soldout control status of 1 (sell out immediately).

• The next time you use the Printing Soldout Notifications (MSON) option, the system generates a soldout notification.

Giftwrap or special handling: Based on the Rules for Generating Order Broker Triggers for Brokered Backorders, an order line is not eligible for brokering if it is flagged for giftwrap or special handling. If the giftwrap or special handling applies to the item:

• when the order line is initially created, then the line does not broker; instead, it sells out or remains backordered, as if it were not flagged as locate eligible; this is the case when the order API or e-commerce interface creates the order.

• after the order line is initially created (for example, by selecting option 2 or option 8 for the line in order entry), then if the soldout control status is:

• 1 (sell out immediately): the line sells out the next time you use Processing Auto Soldout Cancellations (MASO).

• 2 (include on-order quantity) or 3 (exclude on-order quantity): the line does not sell out automatically.

You can use a backorder report to identify order lines that could not be brokered because of giftwrap or special handling, and that did not sell out automatically. See Order Status and Activity Reports for more information.

Future orders: Since future orders are not eligible to be brokered based on the Rules for Generating Order Broker Triggers for Brokered Backorders, items flagged Locate elig (Locate eligible) and assigned soldout control values sell out automatically on future orders, just as they would if they were not flagged Locate elig (Locate eligible). Once an order is no longer considered a future order, Locate elig (Locate eligible) items on the order can be brokered through the BROKER Periodic Function if they meet the Rules for Generating Order Broker Triggers for Brokered Backorders.

Held orders: If an order is created in held status, none of the Locate elig (Locate eligible) items are brokered or sold out upon order acceptance. Once you release the order from hold, the BROKER Periodic Function brokers the Locate elig (Locate eligible) items, if eligible based on the Rules for Generating Order Broker Triggers for Brokered Backorders.

If reserving against a non-allocatable warehouse: Based on the Reserve from Non-Allocatable Warehouse (J25) and Disregard Soldout Controls for Non-Allocatable Warehouses (J27) system control values, you can reserve inventory against a non-allocatable (retail) warehouse for a retail order, and disregard an item’s soldout control assignment. In this case, even if the item’s Locate elig (Locate eligible) field is set to Y, the item reserves against the non-allocatable (retail) warehouse if the order type is associated with that warehouse and there is inventory in that warehouse.

Things to Note About Brokered Backorder Requests

Backorder notices: The system still continues to generate backorder notices for order lines submitted to the Order Broker until the lines are shipped.

Held orders: If an order is not initially eligible for Order Broker submission because it is in held status, the system does not automatically submit the order lines when you release the order from hold. You can reevaluate the order for Order Broker submission by running the BROKER Periodic Function, or by selecting the order for maintenance and then accepting your maintenance session.

Differences in order inquiry: When using order inquiry, you can identify lines submitted to the Order Broker:

• there is an OBR indicator on the order line, and

• there is a Printed quantity but no Reserved quantity, and there might also be an Expected ship date indicated, and

• the order line is flagged as a Drop ship

Bypassing reservation: If a customer is flagged to bypass reservation, that customer’s orders are not eligible for submission to the Order Broker. Similarly, if you do not use immediate reservation, based on the setting of the Immediate Reservation (A64) system control value, then no order lines are eligible for submission to the Order Broker.

Purchase order layering: The system continues to count order lines in purchase order layering even if they have been submitted to the Order Broker. For example, you have an open purchase order for a backordered item, and the current quantity tracked in the PO Layering file that will be available to fulfill current backorders is 10. When you enter an order line for a quantity of 2 and the order line is submitted to the Order Broker, the system still decreases the quantity in the PO Layering file to 8, just as it does for a regular backordered line.

Reserve quantity limit: If an order line exceeds the Reserve qty (Reserve quantity limit) specified for an item, CWDirect still submits the order line to the Order Broker for fulfillment, provided the line is eligible based on the Rules for Generating Order Broker Triggers for Brokered Backorders.

Additional notes:

• Although order lines are not eligible for submission to the Order Broker unless the order is in open status and fully paid and authorized, there is nothing to prevent you from adding additional items to the order in maintenance. If these additional order lines are shipped, it is possible to use the authorization before the Order Broker shipment occurs.

• Although order lines that have been submitted to the Order Broker have a printed quantity, they do not have Reserved Order Line records.

• The Order Broker is not notified of any changes you make to an order after submission except for cancellation of a brokered line.

• The tracking number returned from the Order Broker is included in the shipment confirmation only when you integrate with Locate 5.1 or higher.

Fulfilling Retail Pickup and Delivery Orders in CWDirect

Purpose: Use CWDirect’s retail pickup and delivery order integration with Locate to receive and fulfill orders that originated in an external retail location.

Retail pickup orders: Locate’s Order Broker sends a retail pickup order to CWDirect for fulfillment when the customer would like to pick up the order at the originating retail location, but the inventory is not available there. The ship-to address on a retail pickup order sent to CWDirect for fulfilment is the name and address of the originating store location. Once the shipment arrives at the store location, the customer is notified and can pick up the order.

 

Delivery orders: The Order Broker sends a delivery order to CWDirect for fulfillment when the customer would like the order shipped to his or her home, but the inventory is not available at the originating location. The ship-to address on a delivery order is the name and address of the customer.

 

Note: This is an example of a delivery order sent to by Order Broker to CWDirect for fulfillment. See Brokered Backorder Integration with Locate for another example in which the order originates in CWDirect and is assigned to a retail location for fulfillment.

Retail pickup and delivery orders are supported in the integration with release 5.1 or higher of Locate.

More about retail pickup and delivery orders:

Retail Pickup and Delivery Order Processing Summary

Building the Retail Pickup or Delivery Order: Information Mapping

Retail Pickup or Delivery Processing after Order Creation

Reviewing Retail Pickup or Delivery Orders in Order Inquiry

Maintaining a Retail Pickup or Delivery Order

Things to Note about Retail Pickup and Delivery Orders

Retail Pickup and Delivery Order Setup

Retail Pickup and Delivery Message Samples

Retail Pickup and Delivery Order Processing Summary

Poll for orders? If both the Order Type for Orders Brokered for Delivery (K91) and the Order Type for Orders Brokered for Retail Pickup (K92) system control value specify order types, the BROKER_STS process periodically sends a fulfillment request message to Locate to poll for newly assigned orders. The polling interval is based on the Outbound delay time specified for the BROKER_STS process.

Fulfillments request message: CWDirect uses the CWOrderBrokerRequest message to generate the fulfillments request message to Locate, requesting information on any new orders assigned to your warehouse for fulfillment. See Information Mapping for the Fulfillment Request Message for details.

Fulfillments response message: The fulfillments response message from Locate includes details on retail pickup or delivery orders assigned to your default warehouse for fulfillment. A group of system control values provides additional required information for the order that is not included in the fulfillment response. See Information Mapping for the Fulfillments Response Message to the CWORDERIN Message for details.

ORDER_IN process required: The system uses the CWORDERIN message to map the information from the fulfillments response message and to create the orders in CWDirect. The ORDER_IN process must be running in order for the orders to be created. Also, the order messages are placed in the first enabled queue for the ORDER_IN process, so that queue must be active to process the retail pickup and delivery orders.

Backordered item? When the BROKER_STS process receives an order in the fulfillment response message, it checks the setting of the Retain Backordered Lines Brokered for Fulfillment (K89) system control value. If this value is set to N and there is not a purchase order that might be able to fulfill the order expected within the Order Broker Due Date Threshold (K11), CWDirect rejects the order. The Order Broker might then assign the order to a different fulfilling location, or flag the order as unfulfillable.

Regardless of the setting of the Retain Backordered Lines Brokered for Fulfillment (K89) system control value, if the only item on the order is sold out, the process rejects the order.

Multiple order lines? MICROS recommends that an integrating system submit each ordered unit to the Order Broker as a separate order. Sending orders this way prevents inconsistencies in order status that might occur if, for example, a multi-line order in CWDirect includes a soldout item, but the other order lines could still be shipped from the warehouse, or if a multi-line order ships from two different warehouses.

Drop ship items? Drop ship items are eligible to be fulfilled on a retail pickup or delivery order regardless of whether any units are currently stocked in the warehouse, provided they are not flagged with a soldout control value.

Status updates in response: After processing the fulfillments response message, depending on whether the order was created successfully, the system:

order creation successful: The process sends a status update message with a status of Accepted. The Order Broker record’s status is set to I (In Process), and an Order Broker History record tracks the activity.

order in error: If the Re-Polling for Orders Brokered for Fulfillment (L04) system control value is:

• set to Y: The process sends a status update message with a status of Polled.

• set to N: The process does not send a status update message.

Also, if the order is in error, the and the Order Broker record’s status is set to N (New), and the order is assigned to the Order Broker Error Batch Number (K90).

order cannot be created: If the process cannot create the order in CWDirect (for example, if the requested item is sold out), it sends a status update with a status of Rejected. In this case, there is no record of the order in CWDirect.

Accepting or rejecting batch orders: When a retail pickup or delivery order is suspended at creation because of any errors, it is assigned to the Order Broker Error Batch Number (K90), and the status of the Order Broker record is N (New). The status of the order in Locate remains Polled while the order is suspended in the batch.

Accept: When you accept a batch, any retail pickup or delivery orders that go into open or held status generate status updates to Locate to change the status there to Accepted. The status of the Order Broker record in CWDirect changes from N (New) to I (In Process).

Reject: Any order rejected or deleted in a batch generate a status update to Locate to reject the order. The record of the order and the related Order Broker and Order Broker History records are deleted in CWDirect.

Changing the order in batch order entry: You can use batch order entry to correct errors to a retail pickup or delivery order; however, you cannot add an order line or change an existing order line.

Building the Retail Pickup or Delivery Order: Information Mapping

Details on the mapping for requesting, receiving, and creating retail pickup and delivery orders are provided below:

Information Mapping for the Fulfillment Request Message

Information Mapping for the Fulfillments Response Message to the CWORDERIN Message

For more information: See Retail Pickup and Delivery Order Processing Summary for background.

Information Mapping for the Fulfillment Request Message

System control values: The CWOrderBrokerRequest message with a request_type of FULFILLREQ includes the following information from system control values:

• the basic information needed for the fulfillments request to identify your company and default warehouse as the system and location requesting new retail pickup and delivery orders assigned for fulfillment:

• the number identifying your company as a system in Locate: from the Locate System (K50)

• the number identifying your default warehouse as a location in Locate: from the Locate Default Location (K51)

• additional information required to build the retail pickup and delivery orders in CWDirect; this information is stored in memory:

• the error batch number to use in case there is a problem with the order: from the Order Broker Error Batch Number (K90)

• the order type to assign to a delivery order: from the Order Type for Orders Brokered for Delivery (K91)

• the order type to assign to a retail pickup order: from the Order Type for Orders Brokered for Retail Pickup (K92)

• the source code to assign to the order if no source code is specified in the fulfillments response: from the Source Code for Orders Brokered for Fulfillment (K93)

• the ship via code to assign to the order if no ship via is specified in the fulfillments response: from the Ship Via for Orders Brokered for Fulfillment (K94)

• the price override reason code to assign to each order line: from the Price Override Reason for Orders Brokered for Fulfillment (K95)

• whether to update an existing sold-to customer’s email address based on the email address in the fulfillments response: from the Sold To Email Update for Orders Brokered for Fulfillment (K96)

• whether to update an existing sold-to customer’s name and address based on the name and address in the fulfillments response: from the Sold To Address Update for Orders Brokered for Fulfillment (K97)

• the payment method to assign: from the Payment Type for Orders Brokered for Fulfillment (K98)

• whether to flag the order to ship complete: from the Ship Complete for Orders Brokered for Fulfillment (L01)

• whether to flag the order as a gift in order to prevent printing prices on the pick slip: from the Gift Flag for Orders Brokered for Fulfillment (L03)

• whether to send a status update message to the Order Broker if the order is created but is suspended because of an error: from the Re-Polling for Orders Brokered for Fulfillment (L04)

Additional information for the request message: In addition to the information that defaults from system control values, the fulfillments request message includes:

• datetime: from the system date and time. The Order Broker uses the current date as the order date when it creates the order.

• version: from the cw.properties file. Should be set to 5.1. See Setup in the cw.properties File for more information.

• source: from the company number.

• destination: from the Locate Account Name (K49).

For more information: See the Order Broker Request Fulfillments Sample and the Locate Fulfillment Request Message Sample for sample messages.

Information Mapping for the Fulfillments Response Message to the CWORDERIN Message

Mapping details: The following table describes how the information in the CWORDERIN message maps from the fulfillments response message, system control values, or other defaults. In addition to the information outlined in the table, the following updates take place while building the order:

Entered by user in the Order Header file: set to *DEFAULT.

Order date and Entered date in the Order Header file: the current date.

If any of the information passed in the fulfillments response message exceeds the length of the corresponding fields in CWDirect, the information is truncated.

For more information: See the Locate Fulfillments Response Message Sample and the CWORDERIN Message Sample for sample messages, and see the Inbound Order XML Message (CWORDERIN) for more information on the updates and edits for information in the CWORDERIN message.

Fulfillments Response Message

CWORDERIN Message

Comments

Header

 

company_code

From the request message.

customer_no

customer_number

If a customer number is passed in the fulfillments response message, use it to find the customer.

If the customer number passed includes a suffix separated by a hyphen (for example, 291-4, where 4 is the individual number), use the suffix as the ind_number.

If the customer number passed is invalid, or if no customer number is passed, use standard name and address matching. See Customer Sold To Selection, Creation and Update for background.

transaction_type_id

order_type

From the:

Order Type for Orders Brokered for Delivery (K91) if the transaction_type_id is DELIVERY

Order Type for Orders Brokered for Retail Pickup (K92) if the transaction_type_id is RETAILPICKUP

source_code

source_code

If no source_code is passed in the fulfillments response, use the Source Code for Orders Brokered for Fulfillment (K93).

order_id

order_number

The alternate order number.

 

payment_only

Set to N.

 

order_channel

Set to C.

 

pay_incl

Set to Y.

Note: If the customer number passed in the fulfillments response message is valid and the Sold To Address Update for Orders Brokered for Fulfillment (K97) system control value is set to N, the customer’s name and address are not updated.

prefix from sold_to

sold_to_prefix

 

first from sold_to

sold_to_fname

 

middle from sold_to

sold_to_initial

 

last from sold_to

sold_to_lname

 

suffix from sold_to

sold_to_suffix

 

company from sold_to

sold_to_company

 

address1 through address3 from sold_to

sold_to_address1 through sold_to_address3

The address4 from the sold_to is not mapped.

apt from sold_to

sold_to_ apartment

 

city from sold_to

sold_to_city

 

province from sold_to

sold_to_state

 

postal from sold_to

sold_to_zip

 

country from sold_to

sold_to_country

 

email from sold_to

sold_to_email

 

 

sold_to_email_ update

From the Sold To Email Update for Orders Brokered for Fulfillment (K96) system control value. If this system control value is set to N, the customer’s email address is not updated.

phone1 from sold_to

sold_to_day_ phone

 

phone2 from sold_to

sold_to_eve_ phone

 

 

sold_to_address_ update

From the Sold To Address Update for Orders Brokered for Fulfillment (K97) system control value. If this system control value is set to N, the customer’s name and address are not updated.

 

ind_number

The suffix, if any, from the customer_no.

Payment

Note: The tender information, if any, passed in the fulfillments response message is not mapped.

 

payment_type

From the Payment Type for Orders Brokered for Fulfillment (K98).

 

suppress_deposit_flag

Set to Y.

 

suppress_refund_flag

Set to Y.

 

cc_number

From the description of the Payment Type for Orders Brokered for Fulfillment (K98).

 

amt_to_charge

Set to 0.

 

auth_amount

Set to 0.

 

check_number

Set to 0.

 

routing_number

Set to 0

 

svc_id

Set to 0.

 

soc_sec_nbr

Set to 0.

ShipTo

freight_amount from the order

freight

Passed in the fulfillments response with an explicit decimal (for example, 13.01) into the CWORDERIN message as a two-position implicit decimal (for example, 1301).

No additional freight is added to the order, even if specified for the ship via.

ship_via from the order

shipping_method

If no ship_via is passed in the fulfillments response, use the Ship Via for Orders Brokered for Fulfillment (K94). If the Ship Via for Orders Brokered for Fulfillment (K94) system control value is blank, the Default Ship Via (A77) applies.

 

gift

From the Gift Flag for Orders Brokered for Fulfillment (L03) system control value, regardless of the setting passed in the fulfillments response.

 

ship_complete

From the Ship Complete for Orders Brokered for Fulfillment (L01) system control value.

 

ship_to_type

Set to ORDER. The ship_to information creates an order-level ship-to record.

prefix from the ship_to

ship_to_prefix

 

first from the ship_to

ship_to_fname

 

middle from the ship_to

ship_to_initial

 

last from the ship_to

ship_to_lname

 

suffix from the ship_to

ship_to_suffix

 

company_name from the ship_to

ship_to_company

 

address1 through address3 from ship_to

ship_to_address1 through ship_to_address3

 

address4 from ship_to

ship_to_ apartment

Note: The apt from the ship_to in the fulfillments response is not used.

city from ship_to

ship_to_city

 

province from ship_to

ship_to_state

 

postal from ship_to

ship_to_zip

 

country from ship_to

ship_to_country

 

email from ship_to

ship_to_email

 

phone1 from ship_to

ship_to_day_ phone

Not saved as part of the ship-to address.

phone2 from ship_to

ship_to_evening_ phone

Not saved as part of the ship-to address.

ref_transaction_no from order

ship_to_po_ number

Displayed at the Display Order Properties Screen in order inquiry.

If the Verify Duplicate PO Numbers for A/R Orders (D80) system control value is set to Y and the originating system submits multiple order lines from a single order as individual orders, then CWDirect puts each related order after the first submitted order into error status.

transaction_type_id

delivery_type

Set to:

D for a delivery order

R for a retail pickup order

Item

unit_price from item_detail

actual_price

Passed in the fulfillments response with an explicit decimal (for example, 1.0) into the CWORDERIN message as a two-position implicit decimal (for example, 100).

 

price_ovr_rsn

From the Price Override Reason for Orders Brokered for Fulfillment (K95).

qty from the item_detail

quantity

 

 

tax_override

Set to Y.

amount from the tax

tax_amount

Passed in the fulfillments response with an explicit decimal (for example, 0.5800) into the CWORDERIN message as a five-position implicit decimal (for example, 058000).

Total tax: The order-level transaction_tax amount passed in the fulfillments response is not used to build the order. The total tax on the order in CWDirect is the total of the detail-level tax amounts, plus any tax that CWDirect calculates based on freight and handling charges.

item_id from the item_detail

item_id and sku

 

 

price_override

Set to Y.

line_item_no from the item_detail

locate_line_nbr

The number assigned by Locate to identify the item on the order.

requesting_system_line_no from the item_detail

locate_req_sys_ line_ nbr

The number assigned by the originating system to identify the item on the order.

Ord_Msg

Note: All message lines have the ord_msg_code flag set to N.

request_location_cd from the store_location

ord_msg_text

Formatted as Originating Store: 10.

request_id from the order

ord_msg_text

Formatted as Locate Request ID: 82117.

special_instructions from the order

ord_msg_text

See Adding Order Messages for background.

Retail Pickup or Delivery Processing after Order Creation

Checking for canceled retail pickup or delivery orders during pick slip generation: Pick slip generation sends an inquiry to Locate for each retail pickup and delivery order eligible for printing based on the order’s current status, item availability, and the pick slip selection criteria, to determine whether the order has been canceled in the originating system.

If the response indicates an order is in canceled status, the program does not generate a pick slip for the order; instead, it puts the order on hold using the Hold Reason for Orders Brokered for Fulfillment (L02) system control value. The Order Broker record remains in I (In Process) status. If no hold reason is specified in the system control value, the system retries submitting the order again the next time you generate pick slips.

Otherwise, if the order has not been canceled, CWDirect puts the Order Broker record into F (Fulfilling) status when the pick slip is printed, and sends a status update message to the Order Broker indicating that the order or line is in Picked status.

Drop ship processing: The same process of status inquiry and update as described above takes place during the drop ship pick slip and purchase order generation process.

For more information: See Introducing Pick Slip Generation or Selecting Vendors for Drop Ship Processing (MDSP).

Shipment confirmation: Once the shipment is confirmed, the Order Broker record status changes to T (In Transit) for a retail pickup order, or X (Shipped) for a delivery order. The corresponding statuses sent to Locate in status update messages are Intransit and Fulfilled.

The status update message to Locate also includes the ship via used (even if it is different from the ship via on the order) and the tracking number, if available.

Deactivating the payment method: When you ship a retail pickup or delivery order, the billing async job deactivates the payment method. Once the payment method is deactivated, you cannot process a return against the order without adding a new payment method.

Status inquiry for retail pickup orders: The BROKER_STS process continues to track the status of a retail pickup orders until the customer picks it up. The process generates status inquiry requests for shipped retail pickup orders just once a day, between the Limited Status Beginning and Limited Status End times. Possible statuses for shipped retail pickup orders are:

S (Received By Store): The store has received the shipped order. The corresponding status in Locate is Received.

X (Completed): The customer has picked up the order. The corresponding status in Locate is Fulfilled.

When the status in Locate is Partially Fulfilled, the process does not update the status of the Order Broker record.

Reviewing Retail Pickup or Delivery Orders in Order Inquiry

In addition to reviewing information through the Working with Order Broker Requests (WOBR) menu option, you can also use standard order inquiry. Your options include:

Finding the order number: Use the Order cross ref # at the Order Inquiry Scan Screen to find a retail pickup or delivery order based on the order number in the originating system, provided that order number is numeric. This number is also displayed as the Alt ord at the Display Order Properties Screen.

Broker detail and history: Use the Display Order Broker Details Screen and Display Broker History Screen to review details and history about the order.

Identifying the Order Broker type: In addition to the Display Order Broker Details Screen and Display Broker History Screen, the Display Order Properties Screen displays the Broker delivery type as well as the order number in the originating system.

Originating store location, request ID, and special instructions: The Work with Order Messages screen displays the originating store location, Locate request ID, and any special instructions passed for the order, for example:

Originating Store: 10

Locate Request ID: 82106

Red birthday giftwrap

See Adding Order Messages for more information on this screen.

Order history: The Display Order History Screen displays activity related to the Order Broker, such as:

LN#: 00001 READY FOR FULFILLMENT: Written for each order line received on a retail pickup or delivery order when the order is accepted and put into Open or Held status.

LN#: 00001 SELECTED FOR FULFILLMENT: Written for each order line printed on a pick slip or included on a drop ship purchase order.

LN#: 00001 FULFILLED: Written for each delivery order line when you confirm shipment.

LN#: 00001 IN TRANSIT: Written for each retail pickup order line when you confirm shipment.

LN#: 00001 CUSTOMER PICKED UP: Written when Locate responds to a daily status inquiry for a retail pickup order indicating that the customer has picked up the order.

LN#: 00001 REJECTED FOR FULFILLMENT: Written when CWDirect rejects a line on a multi-line order because the item is sold out or backordered, or when you sell out a line through Processing Auto Soldout Cancellations (MASO) or in order maintenance.

LN#: 00001 CANCEL ACKNOWLEDGED BY BROKER: Written when you cancel a line through the Working with Backorders Pending Cancellation (WBPC) option or in order maintenance.

ORDER HELD - LINE(S) CANCELED IN LOCATE: Written when Locate responds to a status inquiry request indicating that the line was canceled. In this situation, CWDirect puts the order on hold using the Hold Reason for Orders Brokered for Fulfillment (L02).

No Order Transaction History record is written when Locate responds to a daily status inquiry for a retail pickup order indicating that the order has been received or partially picked up

Maintaining a Retail Pickup or Delivery Order

Secured feature: You cannot maintain a retail pickup or delivery order without authority under the Maintain Brokered Fulfillment Orders (A12) secured feature.

Warning message: Provided you have authority under the Maintain Brokered Fulfillment Orders (A12) secured feature, a warning window opens when you select a retail pickup or delivery order for maintenance. Otherwise, an error message indicates that you cannot maintain the order.

Possible updates: You might need to maintain a retail pickup or delivery order to:

Sell out an item that is no longer available:

• CWDirect sends a reject request to the Order Broker. The Order Broker then might attempt to find another location to fulfill the order, or flag the order as unfulfillable, depending on your preferences in Locate and other eligible locations.

• The status of the Order Broker record in Working with Order Broker Requests (WOBR) changes to J (Rejected).

Cancel an item or an order that the customer no longer wants:

• CWDirect sends a status inquiry request to the Order Broker.

• If the status of the item or order in Locate is not canceled, CWDirect then sends a status update request to the Order Broker, rejecting the item or order. The Order Broker then might attempt to find another location to fulfill the order, or flag the order as unfulfillable, depending on your preferences in Locate and other eligible locations.

• The status of the Order Broker record in Working with Order Broker Requests (WOBR) changes to Z (Canceled).

Note: The above messages and updates take place when you cancel or sell out an item or order, regardless of whether the BROKER_STS process is running.

Cautions related to canceling items on retail pickup or delivery orders:

• Although CWDirect does not prevent you from canceling a retail pickup or delivery order, some business processes require that only the originating location can cancel an order. In this situation, if the customer contacts the call center to cancel the order, the operator notifies the originating store location and requests that the store perform the cancellation and trigger a status update to Locate. Using this process, CWDirect receives notification of the cancellation the next time it sends a status inquiry to Locate through pick slip generation, and then holds the entire order (even if only one line has been canceled) using the Hold Reason for Orders Brokered for Fulfillment (L02).

• Although CWDirect does not prevent you from canceling a partial quantity of an item on a retail pickup or delivery order, sending partial quantity updates to Locate is not supported. If you cancel a partial quantity, no status update is sent to Locate.

Additional order maintenance cautions: Certain updates are not appropriate for these orders, such as:

changing payment information. When the system creates retail pickup or delivery orders, it uses the Payment Type for Orders Brokered for Fulfillment (K98). This is typically a “dummy” payment type if the order is fully paid in the originating retail location.

changing the shipping address:

• A retail pickup order ships to the originating store location, so you should update the shipping address only if the address for the originating store changes.

• A delivery order ships to the customer. You should change the shipping address only after communicating with the originating location, so that the shipping address recorded for the order is consistent.

Note: You cannot cancel a retail pickup or delivery order through the CWCancel request message.

Returns: You can process a return against a retail pickup or delivery order; however, the Payment Type for Orders Brokered for Fulfillment (K98) is deactivated after shipment, so you would then need to enter a new payment method in order to process the related refund.

You can enter an exchange through order maintenance or return authorizations, provided there is an active payment method on the order.

Note: You cannot enter a line with a negative quantity to a retail pickup or delivery order.

Prohibited updates: Other updates and options are not allowed, such as:

• adding an item

• changing the ordered quantity

• advancing to the Work with Order Line Screen

Things to Note about Retail Pickup and Delivery Orders

Both order types required: Both Order Type for Orders Brokered for Delivery (K91) and Order Type for Orders Brokered for Retail Pickup (K92) must specify order types for the BROKER_ORD job to generate fulfillment requests, even if you need to process only one of these order types.

ORDER_IN job must be running: The ORDER_IN job creates retail pickup and delivery orders based on the information in the fulfillments response message, so this job must be running to create the orders.

If you change any of the Order Broker Values (K15) related to creating retail pickup and delivery orders, you need to end and restart all related jobs, including the ORDER_IN job, to have the system control value changes take effect.

Multi-line orders: If you process multi-line retail pickup or delivery orders you should not have the Use Split Order (L56) system control value set to N or the Allow Split Order preference in Locate selected. Otherwise, if one of the items on the order cannot be fulfilled from the warehouse, CWDirect needs to reject the entire order. To prevent this situation, if you do not split orders, the POS system should submit each item on a retail pickup or delivery order as a separate order.

Additional steps you can take to prevent inconsistent updates for retail pickup and delivery orders if you process multi-line orders:

• Select the Ship Complete for Orders Brokered for Fulfillment (L01) system control value.

• Do not create retail pickup or delivery orders for ship-alone items. Do not flag these items as Locate eligible.

• Do not select the Retain Backordered Lines Brokered for Fulfillment (K89) system control value to avoid creating orders where some items are available and other items are not.

Items not substituted: The Processing Item Substitutions (PSUB) option skips any lines on retail pickup and delivery orders, and does not substitute the items on any lines on these orders.

Membership items: You should not set up your Order Broker integration to include membership items on retail pickup or delivery orders, since the customer membership would not be created correctly in CWDirect. To prevent CWDirect from sending membership items to Locate as part of Sending Item and Inventory Information to Locate, do not flag them as Locate eligible.

Voiding a pick slip: Voiding the pick slip for a retail pickup or delivery order does not change the status of the order line in Locate from Picked, or change the status of the Order Broker record in CWDirect from F (Fulfilling). Also, reprinting the pick slip does not generate a status update to Locate.

Delivery type in CWPickOut message: The Pick Message from CWDirect (CWPickOut) indicates a delivery_type of R for a retail pickup order and D for a delivery order.

Delivery type in CWInvoiceOut message: The Invoice Download XML Message (CWINVOICEOUT) indicates an ost_broker_delivery_type of R for a retail pickup order and D for a delivery order.

Sample Order Broker XML Messages

Sample messages illustrating message flow are below:

Brokered Backorder Message Samples

Retail Pickup and Delivery Message Samples

Logging:

• CWDirect messages are logged in the ECLOGF file, as well as in the logs folder under the Locate IFS Folder, if configured in the cw.properties file. See Setup in the cw.properties File for setup information.

• The related Locate messages are logged in Locate’s XML.log file, if logging is selected at Locate’s Event Logging screen.

Brokered Backorder Message Samples

Brokered backorders are backordered order lines that CWDirect submits to Locate’s Order Broker module for fulfillment. See Brokered Backorder Integration with Locate for an overview.

Sample messages illustrating the message flow for brokered backorders:

Order Request Message Sample (Brokered Backorder)

Locate SubmitOrder Request Message Sample (Brokered Backorder)

Locate SubmitOrder Response Message Sample (Brokered Backorder)

Order Response Message Sample

Status Inquiry Request Message Sample

Locate Status Request Message Sample

Locate Status Request Response Message Sample

Status Inquiry Response Message Sample

Status Update Request Message Sample

Locate Status Update Request Message Sample

Locate Status Update Response Message Sample

Status Update Response Message Sample

Order Request Message Sample (Brokered Backorder)

CWDirect generates this message to request fulfillment of a brokered backorder.

Locate version?

• If the Locate Platform is set to .NET, indicating that you use the cw_locate site to integrate with Locate 2.1 or 2.5, CWDirect sends this message to the cw_locate site.

• If the Locate Platform is set to JAVA, indicating that you integrate directly with Locate 5.1 or higher, CWDirect uses the message in this message to generate the SubmitOrder message to Locate. See the Locate SubmitOrder Request Message Sample (Brokered Backorder) for more information.

Note: Order messages are included in the messages only if their Print flag is set to G (gift). However, gift messages are not passed in the SubmitOrder message when you integrate directly with Locate 5.1 or higher.

<Message source="CWDirect" target="CWIntegrate" type="CWOrderBrokerRequest" date_created="2009-02-27" time_created="10:56:27">

<OrderBrokerRequest request_type="ORDER" company_nbr="5" >

<Order order_nbr="4327" order_ship_to_nbr="1" source_code="SOURCE" sold_to_cust_nbr="609" email_address="ekaplan@commercialware.com" >

<OrderMessages>

</OrderMessages>

<OrderDetails>

<OrderDetail order_id="0050000432700100003" broker_sts="R" line_nbr="3" item_nbr="KABSKU3" sku_code="LRG BLUE 28" order_qty="3" unit_price="21.00" tax="4.41" gst=".00" pst=".00" shipper_name="01-FEDEX PRIORITY OVERNIGHT" ></OrderDetail>

</OrderDetails>

</Order>

<CustomerSoldTo sold_to_prefix="MR." sold_to_fname="PETER" sold_to_initial="W" sold_to_lname="VAN VOORHIS" sold_to_suffix="ESQ" sold_to_company_name="COMMERCIALWARE" sold_to_street_name="24 PRIME PARK WAY" sold_to_addr_line_2="SECOND FLOOR" sold_to_addr_line_3="THIRD FLOOR" sold_to_addr_line_4="FOURTH FLOOR" sold_to_apt="SUITE 201" sold_to_city="NATICK" sold_to_state="MA" sold_to_zip="01760" sold_to_country="USA" sold_to_day_phone="5086529487" sold_to_eve_phone="5086529488" >

</CustomerSoldTo>

<CustomerShipTo ship_to_prefix="MR." ship_to_fname="GEORGE" ship_to_initial="W" ship_to_lname="BARKLEY" ship_to_suffix="JR." ship_to_company_name="BARKLEY INDUSTRIES" ship_to_street_name="400 WUFFE STREET" ship_to_addr_line_2="SECOND FLOOR" ship_to_addr_line_3="THIRD FLOOR" ship_to_addr_line_4="FOURTH FLOOR" ship_to_apt="SUITE 1234" ship_to_city="WORCESTER" ship_to_state="MA" ship_to_zip="01602" ship_to_country="USA" >

</CustomerShipTo>

</OrderBrokerRequest>

</Message>

Locate SubmitOrder Request Message Sample (Brokered Backorder)

When the Locate Platform is set to JAVA for integration with Locate 5.1 or higher, CWDirect maps the information from the order request message to Locate’s submit order request message. Information in the message includes:

Message header:

• datetime: from the system date and time. The Order Broker uses the current date as the order date when it creates the order.

• version: from the cw.properties file. Should be set to 5.1. See Setup in the cw.properties File for more information.

• source: composed of the concatenated company, order number, and ship-to number, zero-filled and including five trailing zeroes. For example, a source of 0270000895300100000 indicates company 27, order 8953, ship-to 1. This information is passed back in the response messages so that CWDirect can identify the order.

• destination: from the Locate Account Name (K49).

Transaction header:

• transaction type: DELIVERY

• transaction number: the order number, zero-filled, followed by the zero-filled ship-to number (for example, 0008953-001).

• order ID: consisting of:

• the order number, not zero-filled.

• the ship-to number, zero-filled.

For example, 8953-001.

• ref transaction number: the purchase order number, if any.

• transaction date: from the system date and time. The Order Broker uses the current date as the order date when it creates the order.

• employee ID: the user ID of the person who started the BROKER_ORD job.

• transaction subtotal: the merchandise total of the brokered items included in the SubmitOrder message.

• transaction tax: includes the tax for the brokered items plus the prorated portion of any additional tax on the order, such as tax on freight or handling.

• transaction total: includes the total merchandise, tax, and the freight_amount passed for the brokered items.

• transaction channel: set to 1

• ship via code from the order header and the associated ship via description.

• gift flag. The Order Broker Include Gift Orders (K14) system control values controls whether to submit gift orders as brokered backorders.

• source code from the order header.

• freight amount: includes the total freight on the order, plus any additional charges on the order. This amount is not limited to the freight charges for the brokered backorder line(s); however, when the assigned location ships the item(s), the freight charges on the invoice reflect those of the brokered backorder line.

Note: The order amounts in the message can include up to a 15-position decimal, although Locate rounds these decimals to 2 positions.

• balance due: Set to zero.

• under review flag: Set to N.

Sold-to customer information:

• sold-to customer number: zero-padded.

• sold-to customer name: includes company name, prefix, first, middle initial, last, and suffix.

• sold-to customer address: includes address lines 1-4, apartment, city, state/province, postal code, order email address, day and evening phone numbers (unformatted), and the country code.

Requesting location and system:

• location code: from the Locate Default Location (K51) system control value.

• system code: from the Locate System (K50) system control value.

For each backordered item included in the request message:

• line item number: the order line sequence number. The sequence number might differ from the order line number displayed in order maintenance or order inquiry if, for example, you deleted one of the previous lines on the order.

• item ID: the CWDirect item/SKU code. The item and SKU code are concatenated, with blank spaces inserted after the item code so that the SKU code begins at position 13.

• quantity: the total backordered quantity to be fulfilled through the Order Broker.

• unit price: the single-unit price of the backordered item.

• ship-to customer name and address: includes the same information as the sold-to customer, plus the Attention line, if any.

• taxes: the total tax amount for the entire backordered quantity of the item. If there are multiple tax charges on the order line (for example, if there is GST and PST), then each tax amount is passed separately, and Locate adds them together to determine the total tax for the order line; the message also indicates the total in the transaction_tax at the header level.

Not included: Information that is not passed includes:

• payment methods

• order or order line messages

• any order lines that are being fulfilled through the warehouse or drop shipment, or that are not eligible for brokering based on the Rules for Generating Order Broker Triggers for Brokered Backorders.

• additional backordered lines, If the Use Split Order (L56) system control value is set to N; each backordered order line is submitted separately and creates a separate order in Locate. Otherwise, if the system control value is set to Y, the message includes all brokered backorders on the order.

For more information: See the Locate Operations Guide for more information on how this message creates the order in Locate.

<?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">

<S:Body>

<ns2:SubmitOrder xmlns:ns2="http://microsretail.com/Locate">

<ns2:order_request_message>

<message_header xaction_type="INSERT" xaction_response="1" message_type="SubmitOrder">

<datetime>2014-12-04</datetime>

<version>5.1</version>

<source>0270020106500100000</source>

<destination>LOCATE</destination>

</message_header>

<message_body>

<transactions>

<transaction_header order_id="201065-001" request_id="" transaction_no="00201065-001" transaction_type_id="DELIVERY">

<ref_transaction_no></ref_transaction_no>

<transaction_date>2014-12-04T10:45:34</transaction_date>

<employee_id>CMCNICHOLA</employee_id>

<transaction_subtotal>9.199999809265137</transaction_subtotal>

<transaction_tax>0.9200000166893005</transaction_tax>

<transaction_total>19.260000228881836</transaction_total>

<special_instructions></special_instructions>

<transaction_status>new_order</transaction_status>

<transaction_channel>1</transaction_channel>

<ship_via>01</ship_via>

<ship_via_description>A SHIP VIA</ship_via_description>

<gift>N</gift>

<source_code>SOURCE</source_code>

<freight_amount>9.140000343322754</freight_amount>

<balance_due>0</balance_due>

<currency>USA</currency>

<order_additional_freight_charges>0</order_additional_freight_charges>

<order_additional_charges>0</order_additional_charges>

<ship_complete></ship_complete>

<freight_tax>0</freight_tax>

<order_message></order_message>

<gift_message></gift_message>

<under_review>N</under_review>

<sold_to_customer customer_no="000000299-001">

<name>

<company_name>JACKRABBIT INDUSTRIES</company_name>

<prefix>MS.</prefix>

<first>OPHELIA</first>

<middle>Q</middle>

<last>JACKRABBIT</last>

<suffix>ESQ</suffix>

</name>

<address>

<attention></attention>

<address1>24 PRIME PARK WAY</address1>

<address2>2ND ADDRESS LINE</address2>

<address3>3RD ADDRESS LINE</address3>

<address4>4TH ADDRESS LINE</address4>

<apt>APT/SUITE</apt>

<city>NATICK</city>

<province>MA</province>

<postal>01760</postal>

<email>EKAPLAN@COMMERCIALWARE.COM</email>

<phone1>5081111111</phone1>

<phone2>5082222222</phone2>

<country>USA</country>

</address>

</sold_to_customer>

<store_location system_cd="27" location_cd="2"></store_location>

<transaction_details>

<transaction_detail line_item_no="1">

<location_cd></location_cd>

<system_cd></system_cd>

<item_id>KABNOSKU </item_id>

<qty>1</qty>

<unit_price>9.20</unit_price>

<ship_to>

<name>

<company_name>BEARMAN INDUSTRIES</company_name>

<prefix>MR.</prefix>

<first>CLAUDIUS</first>

<middle>R</middle>

<last>BEARMAN</last>

<suffix></suffix>

</name>

<address>

<attention>ATTENTION LINE</attention>

<address1>12345 BEARMAN ROAD</address1>

<address2>2ND ADDRESS LINE</address2>

<address3>3RD ADDRESS LINE</address3>

<address4>4TH ADDRESS LINE</address4>

<apt>C-12345</apt>

<city>WORCESTER</city>

<province>MA</province>

<postal>01609</postal>

<email>EKAPLAN@COMMERCIALWARE.COM</email>

<phone1>5081111111</phone1>

<phone2>5082222222</phone2>

<country>USA</country>

</address>

</ship_to>

<taxes>

<tax line_item_no="1" description="Tax">

<amount>0.92</amount>

</tax>

</taxes>

<line_item_status>new_order</line_item_status>

<special_instructions></special_instructions>

<shipping_agent></shipping_agent>

<tracking_number></tracking_number>

<item_upc_cd></item_upc_cd>

<item_ean_cd></item_ean_cd>

<order_line_extended_freight>0</order_line_extended_freight>

<order_line_customization_charge>0</order_line_customization_charge>

<order_line_gift_wrap></order_line_gift_wrap>

<order_line_ship_alone></order_line_ship_alone>

<order_line_ship_weight>0</order_line_ship_weight>

<order_line_message></order_line_message>

</transaction_detail>

</transaction_details>

</transaction_header>

</transactions>

</message_body>

</ns2:order_request_message>

</ns2:SubmitOrder>

</S:Body>

</S:Envelope>

Locate SubmitOrder Response Message Sample (Brokered Backorder)

Locate version: When you integrate with Locate 5.1 or higher, the Order Broker module in Locate returns this message when it receives the SubmitOrder request message for a successful brokered backorder request. Information passed in the order response includes:

• the concatenated company, order number, ship-to number, and order line sequence number, returned as the destination so that CWDirect can identify the order

• the order ID, including the order number and the zero-padded ship-to number (for example, 201065-001)

• a response code of 0 and the response description Order Acknowledged, indicating that the order was successfully received

• request ID assigned by the Order Broker to track the order in Locate

• system and location code assigned to fulfill the order

• the item/SKU and CWDirect line number to identify the order line

• the line number assigned by Locate

CWDirect uses the information in the response to populate the order response message, and then updates the Order Broker record and creates the Order Broker History record. The fulfilling location code passed in the response message maps to the cross reference you have set up through the Working with Store Cross References (WSXR) option, and the description from the cross reference updates the fulfilling location in CWDirect.

Note: See the Locate Operations Guide for information on possible errors and troubleshooting information.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<ns2:SubmitOrderResponse xmlns:ns2="http://microsretail.com/Locate">

<generic_response_message>

<message_header xaction_response="OK" xaction_type="INFO">

<datetime>2014-12-04T10:54:24.454</datetime>

<version>5.1</version>

<source>LOCATE</source>

<destination>0270020106500100000</destination>

</message_header>

<message_body>

<response order_id="201065-001" request_id="81994" response_code="0">

<response_description>Order Acknowledged</response_description>

<fulfillment_details>

<fulfillment_detail fulfillment_qty="1" fulfillment_location_cd="10" fulfillment_system_cd="EZK2_POS" item_id="KABNOSKU " requesting_system_line_no="1" line_no="1"/>

</fulfillment_details>

</response>

</message_body>

</generic_response_message>

</ns2:SubmitOrderResponse>

</soap:Body>

</soap:Envelope>

Order Response Message Sample

CWDirect uses this information to update the Order Broker and Order Broker History records for a brokered backorder. The information in this message is mapped from the SubmitOrder response message (Locate 5.1 or higher) or from the cw_locate site (Locate 2.1 or 2.5).

 

<Message date_created="2009-02-27" source="CWINTEGRATE" target="CWDIRECT" time_created="10:58:30" type="CWOrderBrokerResponse"><OrderBroker company_nbr="005" fulfillment_loc="317 cws_11_doc" fulfillment_loc_desc="CWWebster" order_id="0050000432700100003" order_line_nbr="00003" order_nbr="4327" order_ship_to_nbr="001" request_id="57906" response_code="K" response_type="ORDER" />

</Message>

Status Inquiry Request Message Sample

CWDirect generates this message requesting current information for an open brokered backorder as long as the status in Working with Order Broker Requests (WOBR) is A (Accepted), K (Acknowledged), or P (Polled).

Retail pickup or delivery order: CWDirect also uses the information in the response message to determine if a retail pickup or delivery order has been canceled before generating a pick slip or sending a status update to reject the order, and to check whether a shipped retail pickup order has been picked up by the customer. See Maintaining a Retail Pickup or Delivery Order and Retail Pickup or Delivery Processing after Order Creation for more information.

Locate version?

• If the Locate Platform is set to .NET, indicating that you use the cw_locate site to integrate with Locate 2.1 or 2.5, CWDirect sends this message to the cw_locate site.

• If the Locate Platform is set to JAVA, indicating that you integrate directly with Locate 5.1 or higher, CWDirect uses the information in this message to generate Locate’s status request message. See Locate Status Request Message Sample for an example.

 

<Message source="CWDirect" target="CWIntegrate" type="CWOrderBrokerRequest" date_created="2009-02-27" time_created="11:37:59">

<OrderBrokerRequest request_type="STATUS" company_nbr="5" >

<Order order_nbr="4325" order_ship_to_nbr="1" source_code="SOURCE" sold_to_cust_nbr="210" >

<OrderMessages>

</OrderMessages>

<OrderDetails>

<OrderDetail order_id="0050000432500100001" request_id="57873" broker_sts="K" line_nbr="1" item_nbr="KABSKU1" sku_code="BLUE" order_qty="1" unit_price="20.50" tax="2.05" gst=".00" pst=".00" shipper_name="09-PARCEL POST" >

</OrderDetail>

</OrderDetails>

</Order>

<CustomerSoldTo sold_to_fname="ALEX" sold_to_lname="ANDERS" sold_to_street_name="10 MAIN STREET" sold_to_city="NATICK" sold_to_state="MA" sold_to_zip="01760" sold_to_country="USA" >

</CustomerSoldTo>

<CustomerShipTo ship_to_fname="ALEX" ship_to_lname="ANDERS" ship_to_street_name="10 MAIN STREET" ship_to_city="NATICK" ship_to_state="MA" ship_to_zip="01760" ship_to_country="USA" >

</CustomerShipTo>

</OrderBrokerRequest>

</Message>

Locate Status Request Message Sample

CWDirect uses the information in the status inquiry request (see Status Inquiry Request Message Sample) to generate Locate’s status request message, as in the following example, to determine the current status of the order line. Information in this message includes:

Message header:

• datetime: from the system date and time. The Order Broker uses the current date as the order date when it creates the order.

• version: from the cw.properties file. Should be set to 5.1. See Setup in the cw.properties File for more information.

• source: composed of the concatenated company, order number, and ship-to number, zero-filled and including five trailing zeroes. For example, a source of 0270000895300100000 indicates company 27, order 8953, ship-to 1. This information is passed back in the response messages so that CWDirect can identify the order.

• destination: from the Locate Account Name (K49).

Lookup data:

request ID: From the request ID identifying the order in Locate. Sent from Locate in the submit order response message, and saved in the Order Broker request record in CWDirect.

employee ID: the user ID of the person who started the BROKER_STS job.

system: From the Locate System (K50) system control value.

location: From the Locate Default Location (K51) system control value.

 

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">

<S:Body>

<ns2:StatusRequest xmlns:ns2="http://microsretail.com/Locate">

<ns2:status_request_message>

<message_header message_type="StatusRequest" xaction_response="1" xaction_type="INSERT">

<datetime>2014-12-04</datetime>

<version>5.1</version>

<source>0270020106800100001</source>

<destination>LOCATE</destination>

</message_header>

<message_body>

<lookup_data request_id="81997" order_id="">

<ref_transaction_no></ref_transaction_no>

<employee_id>EKAPLAN</employee_id>

<store_location system_cd="27" location_cd="2"></store_location>

</lookup_data>

</message_body>

</ns2:status_request_message>

</ns2:StatusRequest>

</S:Body>

</S:Envelope>

Locate Status Request Response Message Sample

The Order Broker module in Locate 5.1 or higher returns this message when it receives the status inquiry request. Information passed in the status inquiry response includes the current status of the order line and the currently assigned fulfilling location.

CWDirect uses the information in the response to populate the status response message (see Status Update Response Message Sample), and then updates the Order Broker record and creates an Order Broker History record.

Updates: CWDirect uses the following information from the response message:

item status: The item_status updates the status of the Order Broker record, creates an Order Broker History record, and may trigger additional updates such as billing the order or returning the order to regular backorder processing. See Brokered Backorder Processing After Order Creation and Status Updates and Order Broker Statuses for more information.

fulfilling location: The fulfilling_location_cd passed in the response message maps to the cross reference you have set up through the Working with Store Cross References (WSXR) option, and the description from the cross reference updates the fulfilling location in CWDirect.

ship via and tracking number: When the fulfilling location ships an order, CWDirect writes Order Transaction History messages that include the tracking_number and shipping_agent, for example:

VIA: 2

TRK#: CNF80557

This information is available to include in the shipment confirmation email to the customer.

Retail pickup or delivery order CWDirect also uses the information in the response message to determine if a retail pickup or delivery order has been canceled before generating a pick slip or sending a status update to reject the order, and to check on whether a shipped retail pickup order has been picked up by the customer. See Maintaining a Retail Pickup or Delivery Order and Retail Pickup or Delivery Processing after Order Creation for more information.

 

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<ns2:StatusRequestResponse xmlns:ns2="http://microsretail.com/Locate">

<status_response_message>

<message_header xaction_response="OK" xaction_type="INFO">

<datetime>2014-12-04T14:24:04.436</datetime>

<version>5.1</version>

<source>LOCATE</source>

<destination>0270020106800100001</destination>

</message_header>

<message_body>

<orders>

<order currency="USA" ref_transaction_no="PO201068" balance_due="0.0" freight="9.12" source_code="SOURCE" gift="N" ship_via_description="A SHIP VIA" ship_via="01" special_instructions="" transaction_total="18.57" transaction_tax="0.45" transaction_subtotal="9.0" order_date="2014-12-04T12:43:19.000" originating_location_description="default Direct warehouse" originating_location_cd="2" originating_system_cd="27" order_status="received" order_id="201068-001" request_id="81997" under_review="N" order_additional_freight_charges="0.0000" order_additional_charges="0.0000" ship_complete=" " freight_tax="0.0000">

<order_type>2</order_type>

<items>

<item special_instructions="" tax_amount="0.45" unit_price="9.0" item_description="TEST ITEM" status_date="2014-12-04T14:18:12.850" requesting_system_line_no="1" line_no="1" fulfilling_system_cd="EZK2_POS" fulfilling_location_cd="10" item_status="picked" tracking_number="" shipping_agent="" item_qty="1" item_id="KABNOSKU" order_line_extended_freight="0.0000" order_line_customization_charge="0.0000" order_line_gift_wrap=" " order_line_ship_alone=" " order_line_ship_weight="0.000" fulfillment_id="">

<ship_to>

<name>

<company_name>VAN VOORHIS ENTERPRISES</company_name>

<prefix>MR.</prefix>

<first>PETER</first>

<middle>W</middle>

<last>VAN VOORHIS</last>

<suffix>ESQ</suffix>

</name>

<address>

<attention></attention>

<address1>10 MAIN STREET</address1>

<address2>2ND ADDRESS LINE</address2>

<address3>3RD ADDRESS LINE</address3>

<address4>4TH ADDRESS LINE</address4>

<apt>SUITE 1234</apt>

<city>WORCESTER</city>

<province>MA</province>

<postal>01608</postal>

<email>EKAPLAN@COMMERCIALWARE.COM</email>

<phone1>5081234567</phone1>

<phone2>5082222222</phone2>

<country>USA</country>

</address>

</ship_to>

<taxes>

<tax description="Tax" line_item_no="1">

<amount>0.4500</amount>

</tax>

</taxes>

<customizations/>

</item>

</items>

<sold_to_customer customer_no="000000293-001">

<name>

<company_name>VAN VOORHIS ENTERPRISES</company_name>

<prefix>MR.</prefix>

<first>PETER</first>

<middle>W</middle>

<last>VAN VOORHIS</last>

<suffix>ESQ</suffix>

</name>

<address>

<address1>10 MAIN STREET</address1>

<address2>2ND ADDRESS LINE</address2>

<address3>3RD ADDRESS LINE</address3>

< address4>4TH ADDRESS LINE</address4>

<apt>SUITE 1234</apt>

<city>WORCESTER</city>

<province>MA</province>

<postal>01608</postal>

<email>EKAPLAN@COMMERCIALWARE.COM</email>

<phone1>5081234567</phone1>

<phone2>5082222222</phone2>

<country>USA</country>

</address>

</sold_to_customer>

<transaction_tenders/>

</order>

</orders>

</message_body>

</status_response_message>

</ns2:StatusRequestResponse>

</soap:Body>

</soap:Envelope>

Status Inquiry Response Message Sample

The information in this message is mapped from the status request response message (Locate 5.1 or higher) or from the cw_locate site (Locate 2.1 or 2.5).

<Message date_created="2009-02-27" source="CWINTEGRATE" target="CWDIRECT" time_created="11:40:24" type="CWOrderBrokerResponse">

<OrderBroker company_nbr="005" fulfillment_loc="197 cws_1_doc" fulfillment_loc_desc="CWLowell" order_id="0050000432500100001" order_line_nbr="00001" order_nbr="4325" order_ship_to_nbr="001" request_id="57873" response_code="X" response_type="STATUS" shipper_desc="FedEx" tracking_nbr="ad12345xyz" />

</Message>

Status Update Request Message Sample

CWDirect generates this message when you cancel a brokered backorder line, and generates a similar message to notify Locate when a retail pickup or delivery order is accepted, picked, shipped, or rejected.

<Message source="CWDirect" target="CWIntegrate" type="CWOrderBrokerRequest" date_created="2009-02-27" time_created="14:14:28">

<OrderBrokerRequest request_type="UPDATE" request_status="CANCEL" company_nbr="5" >

<Order order_nbr="4325" order_ship_to_nbr="1" source_code="SOURCE" sold_to_cust_nbr="210" email_address="ekaplan@commercialware.com" >

<OrderMessages>

</OrderMessages>

<OrderDetails><OrderDetail order_id="005000 432500100002" request_id="57872" broker_sts="Z" line_nbr="2" item_nbr="KABSKU2" sku_code="LRG BLUE" order_qty="1" unit_price="100.00" tax="10.00" gst=".00" pst=".00" shipper_name="09-PARCEL POST" ></OrderDetail>

</OrderDetails>

</Order>

<CustomerSoldTo sold_to_fname="ALEX" sold_to_lname="ANDERS" sold_to_street_name="10 MAIN STREET" sold_to_city="NATICK" sold_to_state="MA" sold_to_zip="01760" sold_to_country="USA" >

</CustomerSoldTo>

<CustomerShipTo ship_to_fname="ALEX" ship_to_lname="ANDERS" ship_to_street_name="10 MAIN STREET" ship_to_city="NATICK" ship_to_state="MA" ship_to_zip="01760" ship_to_country="USA" >

</CustomerShipTo>

</OrderBrokerRequest>

</Message>

Locate Status Update Request Message Sample

CWDirect uses the information in the status update request (see Status Update Request Message Sample) to generate Locate’s status update message, as in the following example, to request cancellation of a brokered backorder, and generates a similar message to notify Locate when a retail pickup or delivery order is accepted, picked, shipped, or rejected. Information in this message includes:

Message header:

• datetime: from the system date and time. The Order Broker uses the current date as the order date when it creates the order.

• version: from the cw.properties file. Should be set to 5.1. See Setup in the cw.properties File for more information.

• source: composed of the concatenated company, order number, and ship-to number, zero-filled and including five trailing zeroes. For example, a source of 0270000895300100000 indicates company 27, order 8953, ship-to 1. This information is passed back in the response messages so that CWDirect can identify the order.

• destination: from the Locate Account Name (K49).

Order data:

request ID: From the request ID identifying the order in Locate. Sent from Locate in the submit order response message, and saved in the Order Broker request record in CWDirect.

employee ID: the user ID of the person who started the BROKER_STS job.

system: From the Locate System (K50) system control value.

location: From the Locate Default Location (K51) system control value.

order or item status: Set to:

canceled when a brokered backorder is canceled.

accepted when a retail pickup or delivery order is created in open or held status.

rejected when you cancel or sell out a retail pickup or delivery order.

picked when you generate a pick slip or drop ship pick slip for a retail pickup or delivery order.

fulfilled when you confirm shipment of a delivery order.

intransit when you confirm shipment of a retail pickup order.

Note: If the Use Split Order (L56) system control value is set to Y, the status is specified at the item level; otherwise, the status is specified at the order level. See that system control value for a discussion.

 

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">

<S:Body>

<ns2:StatusUpdate xmlns:ns2="http://microsretail.com/Locate">

<ns2:status_update_request_message>

<message_header message_type="StatusUpdate" xaction_type="INSERT" xaction_response="1">

<datetime>2014-12-05T09:25:28</datetime>

<version>5.1</version>

<source>0270020106700100001</source>

<destination>LOCATE</destination>

</message_header>

<message_body>

<order order_status_reason_note="" order_status_reason_code="" order_status="canceled" order_id="" request_id="81996">

<employee_id>EKAPLAN</employee_id>

<store_location system_cd="27" location_cd="2"></store_location>

<items>

<item item_status_reason_note="" item_status_reason_code="" status_date="" requesting_system_line_no="0" line_no="0" fulfilling_system_cd="" fulfilling_location_cd="" item_status="" tracking_number="" shipping_agent="" item_qty="0" item_id="">

</item>

</items>

</order>

</message_body>

</ns2:status_update_request_message>

</ns2:StatusUpdate>

</S:Body>

</S:Envelope>

Locate Status Update Response Message Sample

The Order Broker module in Locate returns this message when it receives the status update request to change the status of an order line.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<ns2:StatusUpdateResponse xmlns:ns2="http://microsretail.com/Locate">

<generic_response_message>

<message_header xaction_response="OK" xaction_type="INFO">

<datetime>2014-12-05T09:35:03.917</datetime>

<version>5.1</version>

<source>LOCATE</source>

<destination>0270020106700100001</destination>

</message_header>

<message_body>

<response order_id="" request_id="81996" response_code="0">

<response_description>Status updated successfully.</response_description>

</response>

</message_body>

</generic_response_message>

</ns2:StatusUpdateResponse>

</soap:Body>

</soap:Envelope>

Status Update Response Message Sample

The information in this message is mapped from the status update response message (Locate 5.1 or higher) or from the cw_locate site (Locate 2.1 or 2.5).

After processing the status update request and response for an order line, CWDirect changes the Order Broker status.

<Message date_created="2009-02-27" source="CWINTEGRATE" target="CWDIRECT" time_created="14:16:28" type="CWOrderBrokerResponse">

<OrderBroker company_nbr="005" error_msg="0 Status updated successfully." order_id="0050000432500100002" order_line_nbr="00002" order_nbr="4325" order_ship_to_nbr="001" response_code="Z" response_type="UPDATE" />

</Message>

Retail Pickup and Delivery Message Samples

Retail pickup and delivery orders are orders that originate in an external system, typically your point-of-sale system, and that Locate’s Order Broker module assigns to your CWDirect warehouse for fulfillment. See Fulfilling Retail Pickup and Delivery Orders in CWDirect for an overview.

Sample messages illustrating the message flow for retail pickup and delivery orders:

Order Broker Request Fulfillments Sample

Locate Fulfillment Request Message Sample

Locate Fulfillments Response Message Sample

CWORDERIN Message Sample

For sample status inquiry and status update messages, see Brokered Backorder Message Samples.

Order Broker Request Fulfillments Sample

The BROKER_STS process uses this message to generate a fulfillment request to Locate, polling for new retail pickup or delivery orders assigned to your default warehouse for fulfillment. See Retail Pickup and Delivery Order Processing Summary for an overview.

<Message source="CWDirect" target="Locate" type="OrderBrokerRequest" resp_qmgr="DATA QUEUE" request_date="20141212">

<OrderBrokerRequest company_nbr="27" record_id="02720141212142059" request_type="FULFILLREQ" user_id="EKAPLAN" scv_K49_locate_acct="LOCATE" scv_K50_locate_sys="27" scv_K51_locate_default_loc="2" scv_K56_locate_default_loc_unfulfill="888" scv_K90_err_batch_nbr="0000666" scv_K91_delivery_ord_type="D" scv_K92_pickup_ord_type="E" scv_K93_source_code="LOCATE" scv_K94_ship_via="0000002" scv_K95_price_ovr_rsn="F" scv_K96_sold_to_email_upd="N" scv_K97_sold_to_addr_upd="N" scv_K98_pay_type="0000024" scv_L01_ship_complete="Y" scv_L02_hold_rsn="OB" scv_L03_gift_flag="N" scv_L04_repolling="N" scv_L56_use_split_order="N" msg_queue="CWORDERIN.TO.CWIAS400.I0.Q" msg_queue_mgr="CWIAS400">

</OrderBrokerRequest>

</Message>

Locate Fulfillment Request Message Sample

The BROKER_STS process generates this message to Locate based on the FULFILLREQ Order Broker request message.

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">

<S:Body>

<ns2:Fulfillments xmlns:ns2="http://microsretail.com/Locate">

<ns2:fulfillment_request_message>

<message_header message_type="" xaction_response="" xaction_type="INSERT">

<datetime>2014-12-12T14:00:08</datetime>

<version>5.1</version>

<source>27</source>

<destination>LOCATE</destination>

</message_header>

<message_body>

<store_location system_cd="27" location_cd="2"></store_location>

</message_body>

</ns2:fulfillment_request_message>

</ns2:Fulfillments>

</S:Body>

</S:Envelope>

Locate Fulfillments Response Message Sample

Locate responds to the fulfillments request with this message, listing the details for any new retail pickup or delivery orders. CWDirect then uses the CWORDERIN message to build each order based on the information in this response message. See Building the Retail Pickup or Delivery Order: Information Mapping for details.

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<ns2:FulfillmentsResponse xmlns:ns2="http://microsretail.com/Locate">

<fulfillment_response_message>

<message_header xaction_response="OK" xaction_type="INFO">

<datetime>2014-12-12T14:09:00.114</datetime>

<version>5.1</version>

<source>LOCATE</source>

<destination>27</destination>

</message_header>

<message_body>

<orders>

<order transaction_no="allfields" transaction_type_id="DELIVERY" request_id="82117"

order_id="121214ea" transaction_status="new_order">

<ref_transaction_no></ref_transaction_no>

<transaction_date>2014-12-12T14:19:20.000</transaction_date>

<employee_id>elise</employee_id>

<transaction_subtotal>9.0</transaction_subtotal>

<transaction_tax>0.12</transaction_tax>

<transaction_total>22.59</transaction_total>

<special_instructions>special_instructions!!!</special_instructions>

<transaction_channel>1</transaction_channel>

<ship_via>02</ship_via>

<ship_via_description>A SHIP VIA</ship_via_description>

<gift>N</gift>

<source_code>LOCATE2</source_code>

<freight_amount>13.01</freight_amount>

<balance_due>0.0</balance_due>

<currency>USA</currency>

<under_review>N</under_review>

<order_additional_freight_charges>3.4500</order_additional_freight_charges>

<order_additional_charges>2.3400</order_additional_charges>

<ship_complete></ship_complete>

<freight_tax>8.8800</freight_tax>

<sold_to_customer customer_no="291-4">

<name>

<company_name>Springer Industries</company_name>

<prefix>Ms.</prefix>

<first>Bunny</first>

<middle>Q</middle>

<last>Springer</last>

<suffix>ESQ</suffix>

</name>

<address>

<address1>24 PRIME PARK WAY</address1>

<address2>ADDRESS 2</address2>

<address3>ADDRESS 3</address3>

<address4>ADDRESS 4</address4>

<apt>APT/SUITE</apt>

<city>NATICK</city>

<province>MA</province>

<postal>01760</postal>

<email>bunny@springerfun.COM</email>

<phone1>5083333333</phone1>

<phone2>5082222222</phone2>

<country>USA</country>

</address>

</sold_to_customer>

<store_location request_system_cd="EZK2_POS" request_location_cd="10"

system_cd="27" location_cd="2" />

<items>

<item_detail requesting_system_line_no="11" line_item_status="new_order"

line_item_no="1">

<location_cd>2</location_cd>

<system_cd>27</system_cd>

<item_id>PERCH</item_id>

<qty>2</qty>

<unit_price>1.0</unit_price>

<ship_to>

<name>

<company_name>Springer Consulting</company_name>

<prefix>Ms.</prefix>

<first>Bunny</first>

<middle>Q</middle>

<last>Springer</last>

<suffix>ESQ</suffix>

</name>

<address>

<attention>Attention Bunny Springer</attention>

<address1>24 PRIME PARK WAY</address1>

<address2>ADDRESS 2</address2>

<address3>ADDRESS 3</address3>

<address4>ADDRESS 4</address4>

<apt>APT/SUITE</apt>

<city>NATICK</city>

<province>MA</province>

<postal>01760</postal>

<email>bunny@springerfun.COM</email>

<phone1>5084445566</phone1>

<phone2>5082222222</phone2>

<country>USA</country>

</address>

</ship_to>

<taxes>

<tax description="Tax" line_item_no="1">

<amount>0.5800</amount>

</tax>

</taxes>

<special_instructions>special_instructions</special_instructions>

<order_line_extended_freight>5.6700</order_line_extended_freight>

<order_line_customization_charge>2.3400</order_line_customization_charge>

<order_line_gift_wrap>3</order_line_gift_wrap>

<order_line_ship_alone>Y</order_line_ship_alone>

<order_line_ship_weight>4.560</order_line_ship_weight>

<order_line_message></order_line_message>

<customizations />

</item_detail>

</items>

<transaction_tenders />

</order>

</orders>

</message_body>

</fulfillment_response_message>

</ns2:FulfillmentsResponse>

</soap:Body>

</soap:Envelope>

CWORDERIN Message Sample

CWDirect uses the CWORDERIN message to build a retail pickup or delivery order based on the details returned in the fulfillments response message. See Building the Retail Pickup or Delivery Order: Information Mapping for details.

<Message type="CWORDERIN">

<Header company_code="27" customer_number="291" order_type="D" source_code="LOCATE2" order_number="121214ea" payment_only="N" order_channel="C" pay_incl="Y" sold_to_prefix="Ms." sold_to_fname="Bunny" sold_to_initial="Q" sold_to_lname="Springer" sold_to_suffix="ESQ" sold_to_company="Springer Industries" sold_to_address1="24 PRIME PARK WAY" sold_to_address2="ADDRESS 2" sold_to_address3="ADDRESS 3" sold_to_apartment="APT/SUITE" sold_to_city="NATICK" sold_to_state="MA" sold_to_zip="01760" sold_to_country="USA" sold_to_email="bunny@springerfun.com" sold_to_email_update="N" sold_to_day_phone="5083333333" sold_to_eve_phone="5082222222" sold_to_address_update="N" ind_number="4">

<Payments>

<Payment payment_type="24" suppress_deposit_flag="Y" suppress_refund_flag="Y" cc_number="****************tore" amt_to_charge="0" auth_amount="0" check_number="0" routing_number="0" svc_id="0" soc_sec_nbr="0"/>

</Payments>

<ShipTos>

<ShipTo freight="1301" shipping_method="02" gift="N" ship_complete="Y" ship_to_type="ORDER" ship_to_prefix="Ms." ship_to_fname="Bunny" ship_to_initial="Q" ship_to_lname="Springer" ship_to_suffix="ESQ" ship_to_company="Springer Consulting" ship_to_address1="24 PRIME PARK WAY" ship_to_address2="ADDRESS 2" ship_to_address3="ADDRESS 3" ship_to_apartment="ADDRESS 4" ship_to_city="NATICK" ship_to_state="MA" ship_to_zip="01760" ship_to_country="USA" ship_to_email="bunny@springerfun.COM" ship_to_day_phone="5084445566" ship_to_evening_phone="5082222222" delivery_type="D">

<Items>

<Item actual_price="100" prc_ovr_rsn="F" quantity="2" tax_override="Y" tax_amount="058000" item_id="PERCH" price_override="Y" locate_line_nbr="1" locate_req_sys_line_nbr="11"/>

</Items>

<Ord_Msgs>

<Ord_Msg ord_msg_text="Originating Store: 10" ord_msg_code="N"/>

<Ord_Msg ord_msg_text="Locate Request ID: 82117" ord_msg_code="N"/>

<Ord_Msg ord_msg_text="special_instructions!!!" ord_msg_code="N"/>

</Ord_Msgs>

</ShipTo>

</ShipTos>

</Header>

</Message>

 

Order Broker Setup

Required setup includes:

Setup in the cw.properties File: Required for brokered backorders, retail pickup and delivery orders, Sending Item and Inventory Information to Locate, and merchandise locator searches.

Item and Inventory Import Setup

Starting and Stopping Broker Jobs

Brokered Backorder Setup

Retail Pickup and Delivery Order Setup

Merchandise locator? See Merchandise Locator Setup for details on the setup required for merchandise locator searches.

Additional Locate integration setup (Locate 2.1 or 2.5): Additional setup required to support integration with Locate 2.1 or 2.5 through the cw_locate site includes:

CWDirect Setup for the Generic Item Download

Inventory Inquiry API Setup Requirements

Inventory Download Setup

See the Locate/CWDirect Integration Manual for complete setup instructions.

Setup in Locate for version 5.1 or higher: See Setting Up Data for the Order Broker Module in the Locate online help.

Prerequisite for Java: To integrate with Locate 5.1 or higher, you need to have the interface programs and the cw.properties file installed in the Locate IFS Folder. Contact your MICROS representative for more information.

Setup in the cw.properties File

The cw.properties file is located in the Locate IFS Folder, and controls both drop ship integration and Order Broker integration with Locate. The required fields in this file for the Order Broker integration (brokered backorders, retail pickup and delivery orders, item and inventory import, and merchandise locator searches) are:

Username: A valid user ID with authority to connect to the iSeries.

Password: The password for the user ID.

Server address: Ordinarily set to 127.0.0.1 (localhost) to point to the iSeries itself.

Data library: The database library where the data queues are located. Ordinarily the same as the Data Base Library (A37). See the Order Broker Data Queues Summary.

Logging: Set to Y if communication between CWDirect and Locate should be logged in the logs folder under the Locate IFS Folder; otherwise, set to N.

Message version (broker): The version to specify in drop ship messages to Locate’s Order Broker module. Should be set to 5.1.

WSDL location (broker): The WSDL destination to use for messages to Locate’s Order Broker module. Typically set to http://SERVERNAME:8080/Locate/ LocateServices?WSDL, where SERVERNAME is the name of the server running Locate.

For more information: See the cw.properties File for information on viewing and updating the cw.properties file.

Item and Inventory Import Setup

The setup required to import items and inventory information from CWDirect to Locate includes the following.

Setup in CWDirect:

Locate Product Code ID (K66) system control value: Indicates whether the CWDirect item and SKU is the default product in Locate, or whether a different field identifies the default product code.

Locate Default Location (K51) system control value: The code identifying your default warehouse in Locate.

Locate Platform: Must be set to JAVA.

Locate eligible flag for an item: Must be set to Y for an item to be included in the item and inventory import.

Alternate product code: If the Locate Product Code ID (K66) system control value is not set to IT or blank, then the alternate product code identified by the system control value must be specified for every item and SKU flagged as Locate eligible. For example, if the Locate Product Code ID (K66) is set to RN, then a Reference # must be specified for every item flagged as Locate eligible.

Setup in Locate:

System screen: For the system in Locate that represents your CWDirect company, complete the Inventory tab:

Online: Selected.

Connection Type: Set to Interface Pgm.

Wait Time: The number of seconds to wait for connection to the CWDirect database before timing out and using offline inventory information from the Locate database. If this field is set to 0, the system never times out.

Query Time Out: The number of seconds to wait before a database query against CWDirect’s database times out.

Server: The name or IP address of the iSeries.

Database: The Data Base Library (A37).

User ID and Password: A user ID and password with authority to the iSeries.

Class: The interface program that Locate uses to extract item and inventory data. Typically set to com.mr.locate.integration.impl.OnlineBatchProductCWDirectImpl.

Location: Create a location whose location code matches the Locate Default Location (K51) system control value in the Locate system matching your CWDirect company number. For example, if your CWDirect company number is 27 and your default warehouse (specified in Locate Default Location (K51)) is 2, then you need to create location 2 for system 27.

System Import Schedule screen: For your CWDirect system in Locate:

Enabled: Selected.

• Import Process Type: Set to Extract and Import.

Schedule Interval: Select at least one day of the week and enter a time HH:MM format.

Optionally, you can select Run Now to run the import on demand.

Use the System Imports History screen to review the number of records imported and whether any errors occurred.

Note: It is important to schedule import for the default system before other systems in the organization, and not to schedule the import for more than one system at the same day of the week and time.

Preferences: Set the Use Offline Newer Than field to specify how recent the last update to a product location needs to be for Locate to use the current information for the product location, rather than using an interactive inventory update to obtain updated information. Your entry should be in HH:MM:SS format.

Brokered Backorder Setup

System control values: Available at the Order Broker Values (K15) screen:

Send B/O to Locate (K08): Must be set to Y.

Use Split Order (L56): Controls whether to submit all brokered backorder lines on an order as a single order, or to submit each line separately. When split order is enabled, the Order Broker can assign each line on an order to a separate fulfilling location. Locate 5.1 or higher only.

• System control values affecting brokered backorder eligibility:

Order Broker Include Ship Complete Orders (K12)

Order Broker Include Coordinate Grouped Items (K13)

Order Broker Include Gift Orders (K14)

Order Broker Include Default Country Orders Only (M29)

Order Broker Due Date Threshold (K11)

Locate Default Location Code for Unfulfillable Orders (K56): When a brokered backorder is assigned to this location, it indicates that the Order Broker cannot fulfill it.

Locate Account Name (K49): The name of the Locate database. Used in request messages for Locate 5.1 or higher only.

Locate System (K50): Identifies your company as a system in Locate. Locate 5.1 or higher only.

Locate Default Location (K51): Identifies your default warehouse as a location in Locate. Locate 5.1 or higher only.

Order Broker Status Update Interval (K10): The number of minutes to wait before checking on the status of open orders.

For more information: See Order Broker Values (K15) for descriptions of each of these system control values.

Properties file: See Setup in the cw.properties File.

Locate eligible flag: Only items whose Locate elig (Locate eligible) field is set to Y are eligible to be fulfilled through the Order Broker. This field is set to Y by default when you create an item through Performing Initial Item Entry (MITM), copying items, or the retail integration item upload (see Working with Retail Integration Item Upload (RIIU)).

Cancel brokered backorders secured feature: The Cancel Order Broker Lines (B19) secured feature controls the ability to cancel an Order Broker request in Working with Order Broker Requests (WOBR), or to cancel an order line assigned to the Order Broker for fulfillment (and the related Order Broker request) through order maintenance.

Integration layer processes: Use Working with Integration Layer Processes (IJCT) to set up the process queues for the BROKER_ORD and BROKER_STS jobs to support communication between CWDirect and Locate.

BROKER periodic function: Optionally, set up the BROKER periodic function (PFR0083) to generate Order Broker triggers for existing backordered lines. See Working with Periodic Functions (WPER) for information on setting up periodic functions, and see BROKER Periodic Function for a discussion.

Store cross references: Use the Working with Store Cross References (WSXR) to set up cross references for store locations. The location code in Locate needs to match the Store code for the cross-reference record.

Setup in Locate: When you integrate with Locate 5.1 or higher, setup in Locate includes:

Systems:

• creating the system representing your CWDirect company, matching the Locate System (K50) system control value

• creating your POS system

Locations:

• creating location types to identify your warehouse and your store locations

• creating each of the store locations that will fulfill brokered backorders, matching store cross reference records in Working with Store Cross References (WSXR)

• creating the default unfulfillable location, the virtual location that identifies an order that cannot be fulfilled, matching the Locate Default Location Code for Unfulfillable Orders (K56) system control value

• setting up Order Broker Settings and Fulfillment settings at the Preferences screen for your organization, including specifying the Locate Default Location Code for Unfulfillable Orders (K56) as the Default Unfulfillable Location at the Preferences screen

Note: Prior to Locate 5.3, the Default Unfulfillable Location is labeled the Default Shipping Location at the Preferences screen.

For more information: See Setting Up Data for the Order Broker Module in the Locate online help.

Retail Pickup and Delivery Order Setup

In addition to the Setup in the cw.properties File and the Item and Inventory Import Setup, the retail pickup and delivery order setup includes the following.

System control values: Complete the following settings at the Order Broker Values (K15) screen in order to create retail pickup and delivery orders based on the information returned in the fulfillments response message from Locate:

Fulfillment Values

Order Type for Orders Brokered for Delivery (K91) and Order Type for Orders Brokered for Retail Pickup (K92): Even if you do not process both types of orders, order types for both retail pickup and delivery orders must be specified for CWDirect to generate the fulfillments request message to Locate requesting new orders.

Source Code for Orders Brokered for Fulfillment (K93): Assigned to new retail pickup and delivery orders if no source code is specified in the fulfillments response message.

Payment Type for Orders Brokered for Fulfillment (K98): Assigned to retail pickup and delivery orders.

Ship Via for Orders Brokered for Fulfillment (K94): Assigned to retail pickup and delivery orders if no ship via is specified in the fulfillments response message.

Price Override Reason for Orders Brokered for Fulfillment (K95): Assigned to each order line on a retail pickup or delivery order.

Hold Reason for Orders Brokered for Fulfillment (L02): Assigned when pick slip generation sends Locate a message to check the status of a retail pickup or delivery order, and the response indicates that the order has been canceled.

Gift Flag for Orders Brokered for Fulfillment (L03): Indicates whether to flag retail pickup and delivery orders as gift orders if, for example, you want to prevent pricing and order totals from printing on pick slips.

Ship Complete for Orders Brokered for Fulfillment (L01): Indicates whether to flag retail pickup and delivery orders to ship complete if, for example, you want to prevent sending partial status updates to Locate at pick slip generation and shipment.

Retain Backordered Lines Brokered for Fulfillment (K89): Indicates whether to reject lines on retail pickup and delivery orders if they are backordered.

Re-Polling for Orders Brokered for Fulfillment (L04): Indicates whether to send a status update message acknowledging orders when they are created after receipt of the fulfillments response message.

Sold To Address Update for Orders Brokered for Fulfillment (K97): Indicates whether to update customer names and addresses based on the information received for retail pickup and delivery orders.

Sold To Email Update for Orders Brokered for Fulfillment (K96): Indicates whether to update customer’s email addresses based on the information received for retail pickup and delivery orders.

Order Broker Error Batch Number (K90): The order batch number to use for retail pickup and delivery orders that are in error.

• Other required system control values:

Locate Account Name (K49): The name of the Locate database. Used as the destination for messages to Locate.

Locate System (K50): The code identifying your company as a system in Locate.

Locate Default Location (K51): The code identifying your default warehouse as a location in Locate.

Order Broker Due Date Threshold (K11): Used to calculate when to retain backordered retail pickup and delivery order lines when the Retain Backordered Lines Brokered for Fulfillment (K89) system control value does not indicate to reject all backorders.

• Additional required settings at the Order Broker Values (K15) screen:

Limited Status Beginning: The time of day to start sending daily status inquiries for shipped retail pickup orders.

Limited Status End: The time of day to stop sending daily status inquiries for shipped retail pickup and delivery orders.

Locate IFS Folder: The folder on the Integrated File System where the related Java programs, cw.properties file, and log files are stored.

Important: The complete IFS folder path plus the name of each required .jar file cannot exceed a length of 1000 positions. In order to prevent a possible issue resulting from a path and .jar file name exceeding the maximum length, use an IFS path that is as short as possible.

Locate Platform: Must be set to JAVA to use the retail pickup and delivery order integration.

Secured feature: The Maintain Brokered Fulfillment Orders (A12) secured feature controls the ability to maintain retail pickup or delivery orders. See Maintaining a Retail Pickup or Delivery Order for background.

Starting and Stopping Broker Jobs

Starting the jobs: If you integrate with Locate 5.1 or higher, to prevent issues with Order Broker communication and processing, use the following steps to start the jobs each day:

• Start the Broker Java helper jobs. You can use the BRKSTR periodic function (Program name PFR0095) to end these jobs.

• After the Broker Java helper jobs have all started, start the BROKER_ORD and BROKER_STS integration layer jobs.

Ending the jobs: Use the following steps to end the jobs each day:

• End the BROKER_ORD and BROKER_STS integration layer jobs.

• After the BROKER_ORD and BROKER_STS jobs have ended, end the Broker Java helper jobs. You can use the ENDBRK periodic function (Program name PFR0096) to end these jobs.

For more information: See Working with Periodic Functions (WPER) for background on setting up periodic functions, and see Working with Integration Layer Processes (IJCT) for background on working with integration layer jobs. Also, see Order Broker Data Queues Summary for information on the data queues used for the Order Broker integration.

What if the jobs do not end correctly? Use the WJVA option to check whether the Broker Java jobs are running, and optionally to end the jobs if they do not all end after you follow the steps above. See Working with Java Jobs for more information.

Working with Java Jobs

Enter WJVA in the Fast path field or select Work with Active Java Jobs to review all active Java jobs starting with QJVA. The Java jobs used by the Order Broker integration with Locate 5.1 or higher are:

JVM-StatusRequ: status inquiry and update requests and responses

JVM-OrderReque: submit order requests and responses

JVM-Fulfillmen: fulfillment requests for retail pickup and delivery orders and responses with order information

JVM-MerchLocHa: merchandise locator requests and responses

Note: The Order Broker Java jobs are delivered with CWDirect and do not require any configuration.

Order Broker Data Queues Summary

Background: The Order Broker Java jobs handle communication between CWDirect and Locate’s Order Broker web service when you integrate with version 5.1 or higher of Locate. The jobs include:

Status inquiry:

• Process status requests from the OBRSTSREQ data queue, building Locate’s StatusRequest message

• Process responses to the OBRSTSRSP data queue from Locate’s StatusRequestResponse message

• Process status updates from the OBRUPDREQ data queue, building Locate’s StatusUpdate message

• Process responses to the OBRUPDRSP data queue

• Related Integration Layer Process: BROKER_STS

Submit Order:

• Process order requests from the OBRORDREQ data queue, building Locate’s SubmitOrder request message

• Process responses from the OBRORDRSP data queue from Locate’s SubmitOrder response message

• Related Integration Layer Process: BROKER_ORD

• Fulfillments:

• Process fulfillments requests from the OBRFULREQ data queue, building Locate’s fulfillments request message

• Processes fulfillments responses using the ORDER_IN process

• Processes fulfillment updates from pick slip generation and billing using the OBRFULRSP data queue

• Related Integration Layer Process: BROKER_STS

The system creates the following data queues if they do not already exist when you start the Order Broker integration jobs.

You can use the DSPDATAQ command to display a data queue.

Data Queue

Description

Comments

OBRSTSREQ

Status Request Inquiry

Status inquiry requests to the Java status request message handler.

OBRSTSRSP

Status Response Inquiry

Status inquiry responses from the Java status request message handler.

OBRUPDREQ

Status Request Update

Status update requests to the Java status request message handler.

OBRUPDRSP

Status Response Update

Status update responses from the Java status request message handler.

OBRORDREQ

Submit Order Request

Order requests to the Java submit order message handler.

OBRORDRSP

Submit Order Response

Order responses from the Java submit order message handler.

OBRFULREQ

Fulfillment Request

Fulfillment requests for new retail pickup and delivery orders.

Note: There is no fulfillment response data queue because the fulfillment request message handler (JVM-Fulfillmen) converts the fulfillment response message to CWORDERIN messages and puts them in the inbound ORDER_IN queue for processing.

OBRFULRSP

Fulfillment Updates

Fulfillments updates resulting from pick slip generation and billing.

Reviewing Order Broker Status and Activity

Purpose: You can use screens in order inquiry and in the Working with Order Broker Requests (WOBR) menu option to review Order Broker activity for orders. The screens are summarized in the following table.

Broker aging report: In addition to the screens listed below, you can also use the Order Broker Aging Report to review the age of brokered backorder lines.

Screen

How to Display

Comments

Work with Order Broker Screen

Enter WOBR in the Fast path field at the top of any menu, or select Work with Order Broker from a menu.

Review the records and history of all order lines sent to the Order Broker for fulfillment (brokered backorders) or received from the Order Broker for fulfillment (retail pickup or delivery orders).

Optionally, cancel fulfillment of a brokered backorder through the Order Broker and leave the order detail line open, so that you can fulfill it from your warehouse using your standard processes.

Display Order Broker Screen

Enter 5 next to an Order Broker request at the Work with Order Broker Screen (WOBR).

Enter 5 next to an item fulfilled through the Order Broker at the Order Inquiry Detail Screen (OIOM).

Review current details about an Order Broker request (brokered backorder, retail pickup, or delivery), including:

• order number

• item and SKU

• current status and fulfilling location

• Request ID identifying the order in Locate

• Created date and time

• Last update date and time

First Display Order Broker History Screen

Press F8 at the Display Order Broker Screen (WOBR or OIOM).

Enter 8 next to an Order Broker request at the Work with Order Broker Screen (WOBR).

Review the messages between CWDirect and the Order Broker (brokered backorder, retail pickup, or delivery), and other activity such as maintenance and cancellation. History is listed in chronological order (oldest to newest), and optionally advance to the Second Display Order Broker History Screen.

Second Display Order Broker History Screen

Enter 5 next to a history record at the First Display Order Broker History Screen (WOBR or OIOM).

Review the details of Order Broker activity (brokered backorder, retail pickup, or delivery), including error messages received from the Order Broker if the Locate Platform is set to .NET (brokered backorder only).

Display Order Broker Details Screen

Enter 15 next to an order line at the Order Inquiry Detail Screen (OIOM)

Select F8from the Display P/O Drop Ship Screen for a retail pickup or delivery order that includes a drop ship item fulfilled through integration with CWCollaborate or Locate’s Supplier Direct Fulfillment module (OIOM or MPOI).

Review a summary of Order Broker activity for an order line (brokered backorder, retail pickup, or delivery), including when the

Display Broker History Screen

Press F8 at the Display Order Broker Details Screen (OIOM).

Review the messages between CWDirect and the Order Broker, and other activity such as maintenance and cancellation.

Brokered Backorder Summary Screen

Press F10, then select Brokered Backorder Summary (OIOM or order maintenance).

Displays the current status of each brokered backorder line on the order.

This screen is available only if there is at least one brokered backorder line on the order.

Working with Order Broker Requests (WOBR)

Purpose: Use this menu option to review the records and history of all order lines sent to the Order Broker for fulfillment (brokered backorders) or received from the Order Broker for fulfillment (retail pickup or delivery orders). You can also use this menu option to cancel fulfillment of a brokered backorder through the Order Broker and leave the order detail line open, so that you can fulfill it from your warehouse using your standard processes.

For more information: See the Brokered Backorder Integration with Locate and Fulfilling Retail Pickup and Delivery Orders in CWDirect for overviews.

Work with Order Broker Screen

How to display this screen: Enter WOBR in the Fast path field at the top of any menu, or select Work with Order Broker from a menu.

OER1519 DISPLAY Work with Order Broker 10/20/14 15:21:13

EZK Mail Order

Create

Opt S Date Order# Line# Fulfilling Loc Request ID Item

Type options, press Enter.

4=Cancel 5=Display 8=History 9=Order Inquiry

A 10/17/14 200844 1 Direct warehous 80574 CLO1234

A 10/16/14 200835 2 Store 10 Worces 80551 KAB2345

C 9/10/14 200830 1 KAB2345

C 9/10/14 200830 3 CUM3456

F 10/20/14 200860 1 Direct warehous 80670 INJ4567

F 10/17/14 200851 1 Direct warehous 80603 INJ4567

F 10/17/14 200852 1 Direct warehous 80604 INJ4567

F 10/17/14 200853 1 Direct warehous 80605 INJ4567

F 10/17/14 200854 1 Direct warehous 80606 INJ4567

I 10/17/14 200857 1 Direct warehous 80615 PER4567

K 10/20/14 200858 1 Store 10 Worces 80655 KAB5678 +

F3=Exit F21=Print Aging Report

Field

Description

S (status)

The current status of the Order Broker request. See the Order Broker Statuses for a listing and description of each status.

Alphanumeric, 1 position; display-only.

Create date

The date when the Order Broker request was created:

brokered backorders: by accepting the order for the backordered item in order entry, or through the BROKER Periodic Function

retail pickup or delivery orders: created through the fulfillments response message and the ORDER_IN process

Numeric, 6 positions (MM/DD/YY format); display-only.

Order#

The order number that originated the Order Broker request for a brokered backorder, or the order number created for a retail pickup or delivery order.

Note: The order ship-to number is not indicated. To determine the order ship-to associated with the Order Broker request for a brokered backorder, enter 9 next to for the request to display more information on the particular order ship-to.

Numeric, 8 positions; display-only.

Line#

The sequence number in the Order Detail file that identifies the order line fulfilled through the Order Broker. For a brokered backorder, the sequence number might differ from the order line number displayed in order maintenance or order inquiry.

Numeric, 5 positions; display-only.

Fulfilling loc (fulfilling location)

The description of the fulfilling location assigned by the Order Broker as of the time when the activity took place.

Brokered backorder: The fulfilling location is indicated in the order request response message (or from the status response message, if the first location rejects the order and the Order Broker selects a different fulfilling location), and the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

The fulfilling location is blank if CWDirect has not yet received the order response message (ready (R) or waiting (W) status). Also, if If the Locate Platform is set to .NET, the fulfilling location is blank if:

• the Order Broker request is in error (E) status

• the Order Broker request is in canceled (Z) or closed (C) status

Retail pickup or delivery order: The description of your default warehouse, as set up through Working with Store Cross References (WSXR).

If the description exceeds 15 positions, it is truncated.

Alphanumeric, 15 positions; display-only.

Request ID

A unique ID number assigned by the Order Broker to identify the order.

Brokered backorder: If the Use Split Order (L56) system control value is set to N, each individual order line assigned to the Order Broker for fulfillment receives a unique request ID and is treated by the Order Broker as a separate order. Otherwise, if the Use Split Order (L56) system control value is set to Y, multiple backordered lines can be submitted to the Order Broker as a single order, and have the same request ID.

If the Locate Platform is set to .NET, splitting orders is not supported.

The request ID is blank if:

• CWDirect has not yet received the order response message (ready (R) or waiting (W) status)

• the Order Broker request is in error (E) or closed (C) status

• the Order Broker request is in canceled (Z) and the Locate Platform is set to .NET

Retail pickup or delivery order: The request ID passed in the fulfillments response message.

Numeric, 30 positions; display-only.

Item

The item fulfilled through the Order Broker. If the item has SKU’s, only the base item information is displayed.

Alphanumeric, 12 positions; display-only.

Option

Procedure

Cancel brokered backorder request and return it to normal backorder processing and fulfillment

Enter 4 next to an Order Broker request to cancel it. See the Confirm Order Broker Cancel Window for more information.

Note: This option is available only for brokered backorders.

Display an Order Broker request

Enter 5 next to an Order Broker request to advance to the Display Order Broker Screen.

Review Order Broker History

Enter 8 next to an Order Broker request to advance to the First Display Order Broker History Screen.

Advance to order inquiry

Enter 9 next to an Order Broker request to advance to the Order Inquiry Header Screen or Order Inquiry Detail Screen, depending on the setting of the Default Version for Order Inquiry (C34) system control value.

Generate a report listing details on existing order lines fulfilled through the Order Broker

Press F21 to advance to the Print Aging Report Window.

Display Order Broker Screen

Purpose: Use this screen to review details about an Order Broker request.

How to display this screen:

• Enter 5 next to an Order Broker request at the Work with Order Broker Screen

• Enter 5 next to an item fulfilled through the Order Broker at the Display Order Broker Details Screen.

OER1517 DISPLAY Display Order Broker 10/20/14 15:33:58

EZK Mail Order

Order # . . . . . . : 200854 - 1 Line #: 1

Delivery type . . . : Delivery

Order qty . . . . . : 2

Item/SKU . . . . . : INJERA

TEST ITEM

Status . . . . . . : F Fulfilling

Created date . . . : 10/17/14

Created time . . . : 14:55:38

Last request date . :

Last request time . : 0:00:00

Request ID . . . . : 80606

Fulfilling location : 2 Direct warehouse

Locate line # . . . : 1

Locate qty . . . . : 2

Req sys line # . . : 1

F3=Exit F8=Display history

Field

Description

Order #

Brokered backorder: The order and ship-to number that originated the Order Broker request. The ship-to number is separated from the order number by a hyphen.

Retail pickup or delivery order: The order created in CWDirect to fulfill the retail pickup or delivery order. Retail pickup and delivery orders have only a single ship-to.

Order number: numeric, 8 positions; display-only.

Ship-to number: numeric, 3 positions; display-only.

Line #

The sequence number in the Order Detail file that identifies the order line fulfilled through the integration with the Order Broker. For a brokered backorder, the sequence number might differ from the order line number displayed in order maintenance or order inquiry.

Numeric, 5 positions; display-only.

Delivery type

Possible delivery types are:

Delivery: The order originated in a location in another system, such as a retail store, and was assigned to your CWDirect company for shipment to the customer.

Retail pickup: The order originated in a location in another system, such as a retail store, and was assigned to your CWDirect company for shipment to the originating location, where the customer picks it up.

This field is blank for a brokered backorder.

Alphanumeric, 12 positions; display-only.

Order qty

The order line quantity.

Numeric, 5 positions; display-only.

Item/SKU

The item and SKU fulfilled through the Order Broker.

Item: alphanumeric, 12 positions; display-only.

SKU: alphanumeric, three 4-position fields (split SKU) or one 12-position field (full SKU); display-only.

Item description (unlabeled field below the item/SKU)

The description of the base item.

Alphanumeric, 40 positions; display-only.

Status

The current status of the Order Broker request. See Order Broker Statuses for a listing and description of possible statuses.

Alphanumeric, 1 position; display-only.

Created date

Brokered backorder: The date when the Order Broker request was created, either by accepting the order for the backordered item in order entry, receiving it through the order API, or through the BROKER Periodic Function.

Retail pickup or delivery: The date when CWDirect requested information on orders assigned to the warehouse for fulfillment, and received the information in the fulfillment response message.

Numeric, 6 positions (MM/DD/YY format); display-only.

Created time

The time when the Order Broker request was created.

Numeric, 6 positions (HH:MM:SS format); display-only.

Last request date

The last date when CWDirect sent a request message to the Order Broker.

Blank if the Order Broker request is in ready (R), waiting (W) status, or closed (C) status.

Numeric, 8 positions (MM/DD/YY format); display-only.

Last request time

The last time when CWDirect sent a request message to the Order Broker.

Set to 0:00:00 if the Order Broker request is in ready (R), waiting (W), or closed (C) status.

Numeric, 6 positions (HH:MM:SS format); display-only.

Request ID

A unique ID number assigned by the Order Broker to identify the order.

Brokered backorder: If the Use Split Order (L56) system control value is set to N, each individual order line assigned to the Order Broker for fulfillment receives a unique request ID and is treated by the Order Broker as a separate order. Otherwise, if the Use Split Order (L56) system control value is set to Y, multiple backordered lines can be submitted to the Order Broker as a single order, and have the same request ID.

Splitting orders is supported only if the Locate Platform is set to JAVA.

The request ID is blank if:

• CWDirect has not yet received the order response message (ready (R) or waiting (W) status)

• the Order Broker request is in error (E) or closed (C) status

• the Order Broker request is in canceled (Z) and the Locate Platform is set to .NET

Retail pickup or delivery order: The request ID passed in the fulfillments response message.

Numeric, 30 positions; display-only.

Fulfilling location

The code identifying the location fulfilling the order. Also, if If the Locate Platform is set to .NET, the code identifying the system is also displayed. For example, a fulfilling location of 317 cwstore indicates a store location number 317 in the cwstore system.

Brokered backorder: The fulfilling location is indicated in the order request response message (or from the status response message, if the first location rejects the order and the Order Broker selects a different fulfilling location), and the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

The fulfilling location is blank if CWDirect has not yet received the order response message (ready (R) or waiting (W) status). Also, if If the Locate Platform is set to .NET, the fulfilling location is blank if:

• the Order Broker request is in error (E) status

• the Order Broker request is in canceled (Z) or closed (C) status

Retail pickup or delivery order: The code identifying your default warehouse, as set up through Working with Store Cross References (WSXR).

Alphanumeric, 25 positions; display-only.

Fulfilling location description (unlabeled field to the right of the Fulfilling location)

If the Locate Platform is set to JAVA, the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

Brokered backorder: The fulfilling location is indicated in the order request response message (or from the status response message, if the first location rejects the order and the Order Broker selects a different fulfilling location), and the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

If the Locate Platform is set to .NET, the cw_locate site uses a lookup table to determine the location description to pass to CWDirect.

The fulfilling location description is blank if:

• CWDirect has not yet received the order response message (ready (R), waiting (W) status)

• the Order Broker request is in error (E) status or closed (C) status

• the Order Broker request is in canceled (Z) and the Locate Platform is set to .NET

Retail pickup or delivery order: The code identifying your default warehouse, as set up through Working with Store Cross References (WSXR).

If the description exceeds 25 positions, it is truncated.

Alphanumeric, 25 positions; display-only.

Locate line #

The line number assigned by Locate when the Order Broker created the order in the Locate database.

Set to 0 if the Locate Platform is set to .NET, or if the order is in closed (C), ready (R), or waiting (W) status, or possibly in pending cancel (Z) status, indicating that Locate has not confirmed creation of the order.

Numeric, 5 positions; display-only.

Locate qty

The quantity of the item. The same as the Order qty.

Set to 0 if the Locate Platform is set to .NET, or if the order is in closed (C), ready (R), or waiting (W) status, or possibly in pending cancel (Z) status, indicating that Locate has not confirmed creation of the order.

Numeric, 5 positions; display-only.

Req sys line #

The line number originally assigned by the requesting system. This is the line number on the CWDirect order for a brokered backorder.

Set to 0 if the Locate Platform is set to .NET, or if the order is in closed (C), ready (R), or waiting (W) status.

Numeric, 5 positions; display-only.

Available option: Press F8 to advance to the First Display Order Broker History Screen.

First Display Order Broker History Screen

Purpose: Use this screen to review the messages between CWDirect and the Order Broker, and other activity such as maintenance and cancellation. History is listed in chronological order (oldest to newest). Optionally, you can advance to the Second Display Order Broker History Screen to display additional information, such as a description of the status and Locate line #.

The system does not create a history record when creating a new order in CWDirect for a retail pickup or delivery order received from Locate.

How to display this screen: Press F8 at the Display Order Broker Screen, or enter 8 next to an Order Broker request at the Work with Order Broker Screen.

OER1520 DISPLAY Display Order Broker History 10/20/14 15:38:37

EZK Mail Order

Order # . . . . : 200854 - 1 Line #: 1

Delivery type: . : Delivery

Item/SKU . . . . : INJERA

3 12-INCH LOAVES

Order quantity . : 2

Type options, press Enter.

5=Display

Opt Date Time Line# Transaction Type Sts Fulfilling Location Qty

10/17/14 14:57:16 1 Send Update Request I Direct Warehouse 2

10/20/14 13:36:46 1 Send Update Request F Direct Warehouse 2

F3=Exit

Field

Description

Order #

Brokered backorder: The order and ship-to number that originated the Order Broker request.

Retail pickup or delivery: The order and ship-to number created to fulfill the order from the remote system.

The ship-to number is separated from the order number by a hyphen.

Order number: numeric, 8 positions; display-only.

Ship-to number: numeric, 3 positions; display-only.

Line #

The sequence number in the Order Detail file that identifies the order line fulfilled through the Order Broker. For a brokered backorder, the sequence number might differ from the order line number displayed in order maintenance or order inquiry.

Numeric, 5 positions; display-only.

Delivery type

Possible delivery types are:

Delivery: The order originated in a location in another system, such as a retail store, and was assigned to your CWDirect company for shipment to the customer.

Retail pickup: The order originated in a location in another system, such as a retail store, and was assigned to your CWDirect company for shipment to the originating location, where the customer picks it up.

This field is blank for a brokered backorder.

Alphanumeric, 12 positions; display-only.

Item/SKU

The item and SKU fulfilled through the Order Broker, followed by the item description.

Item: alphanumeric, 12 positions; display-only.

SKU: alphanumeric, three 4-position fields (split SKU) or one 12-position field (full SKU); display-only.

Item description: alphanumeric, 40 positions; display-only.

Order quantity

The order line quantity.

Numeric, 5 positions; display-only.

Date

The date when CWDirect sent a request message or received a response message, or when a cancellation took place.

Numeric, 6 positions (MM/DD/YY format); display-only.

Time

The time when CWDirect sent a request message or received a response message, or when a cancellation took place.

Numeric, 6 positions (HH:MM:SS format); display-only.

Line #

The line number assigned by Locate when the Order Broker created the order in the Locate database.

Set to 0 if the Locate Platform is set to .NET, if the order status at the time of the activity closed (C), ready (R), or waiting (W), or possibly if the order status is pending cancel (Z).

Numeric, 5 positions; display-only.

Transaction type

The type of activity that occurred. Possible types are:

Send Order Request = CWDirect sent the initial order request message to the Order Broker. See the Order Request Message Sample (Brokered Backorder).

Receive Order Response = CWDirect received the order response message from the Order Broker. See the Order Response Message Sample.

Send Status Request = CWDirect sent a status inquiry message to the Order Broker. See the Status Inquiry Request Message Sample.

Receive Status Response = CWDirect received the status inquiry response message from the Order Broker. See the Status Inquiry Response Message Sample.

Maintained = You canceled the Order Broker request, either by canceling the order line in order maintenance, or by canceling the Order Broker request itself (but not the order line) for a brokered backorder at the Work with Order Broker Screen.

Send Update Request = CWDirect sent an update request message to the Order Broker. See the Status Update Request Message Sample.

Receive Update Response = CWDirect received the cancellation response message from the Order Broker. See the Status Update Response Message Sample.

Alphanumeric, 25 positions; display-only.

Sts (status)

The current status of the Order Broker request at the time the transaction took place. See Order Broker Statuses for a listing and description of possible statuses.

Alphanumeric, 1 position; display-only.

Fulfilling location

If the Locate Platform is set to JAVA, the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

Brokered backorder: The fulfilling location is indicated in the order request response message (or from the status response message, if the first location rejects the order and the Order Broker selects a different fulfilling location), and the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

If the Locate Platform is set to .NET, the cw_locate site uses a lookup table to determine the location description to pass to CWDirect.

The fulfilling location description is blank if:

• CWDirect has not yet received the order response message (ready (R), waiting (W) status)

• the Order Broker request is in error (E) status or closed (C) status

• the Order Broker request is in canceled (Z) and the Locate Platform is set to .NET

Retail pickup or delivery order: The code identifying your default warehouse, as set up through Working with Store Cross References (WSXR).

If the description exceeds 20 positions, it is truncated.

Alphanumeric, 20 positions; display-only.

Qty

The quantity of the item. The same as the Order qty.

Set to 0 if the Locate Platform is set to .NET, or if the order status at the time of the activity is closed (C), ready (R), or waiting (W), indicating that Locate has not confirmed creation of the order.

Numeric, 5 positions; display-only.

Available option: Enter 5 next to a history record to advance to the Second Display Order Broker History Screen.

Second Display Order Broker History Screen

Purpose: Use this screen to review the details of Order Broker activity. The information includes error messages received from the Order Broker if the Locate Platform is set to .NET.

How to display this screen: Enter 5 next to a history record at the First Display Order Broker History Screen.

OER1524 DISPLAY Display Order Broker History 11/05/14 15:59:39

EZK Mail Order

Order # . . . . . . . : 200938 - 1 Line #: 1

Item/SKU . . . . . . : KABN1234

36 OZ BROWN RICE ORGANIC

Order qty . . . . . . : 1

Status . . . . . . . : K Acknowledged

Date . . . . . . . . : 11/05/14

Time . . . . . . . . : 10:21:15

Fulfilling location . : 10 Store 10 Worcester

Transaction type . . : Send Status Request

Locate line # . . . . : 1

Locate qty . . . . . : 1

Error . . . . . . . . :

F3=Exit

Field

Description

Order #

Brokered backorder: The order and ship-to number that originated the Order Broker request.

Retail pickup or delivery: The order and ship-to number created to fulfill the order from the remote system.

The ship-to number is separated from the order number by a hyphen.

Order number: numeric, 8 positions; display-only.

Ship-to number: numeric, 3 positions; display-only.

Line #

The line number assigned by Locate when the Order Broker created the order in the Locate database.

Set to 0 if the Locate Platform is set to .NET, if the order is in closed (C), ready (R), or waiting (W) status, or possibly if the order is in pending cancel (Z) status.

Numeric, 5 positions; display-only.

Item/SKU

The item and SKU fulfilled through the Order Broker, followed by the item description.

Item: alphanumeric, 12 positions; display-only.

SKU: alphanumeric, three 4-position fields (split SKU) or one 12-position field (full SKU); display-only.

Item description: alphanumeric, 40 positions; display-only.

Order qty

The order line quantity.

Numeric, 5 positions; display-only.

Status

The status of the Order Broker request after processing the recent activity. This status might differ from the current status based on subsequent activity. See Order Broker Statuses for a listing and description of possible statuses.

Alphanumeric, 1 position; display-only.

Date

The date when CWDirect sent a request message or received a response message, or when a cancellation took place.

Numeric, 6 positions (MM/DD/YY format); display-only.

Time

The time when CWDirect sent a request message or received a response message, or when a cancellation took place.

Numeric, 6 positions (HH:MM:SS format); display-only.

Fulfilling location

The code identifying the location fulfilling the order. Also, if If the Locate Platform is set to .NET, the code identifying the system is also displayed. For example, a fulfilling location of 317 cwstore indicates a store location number 317 in the cwstore system.

Brokered backorder: The fulfilling location is indicated in the order request response message (or from the status response message, if the first location rejects the order and the Order Broker selects a different fulfilling location), and the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

Retail pickup or delivery order: The code identifying your default warehouse, as set up through Working with Store Cross References (WSXR).

The fulfilling location is blank if CWDirect has not yet received the order response message (ready (R) or waiting (W) status). Also, if If the Locate Platform is set to .NET, the fulfilling location is blank if:

• the Order Broker request is in error (E) status

• the Order Broker request is in canceled (Z) or closed (C) status

Alphanumeric, 25 positions; display-only.

Fulfilling location description (unlabeled field to the right of the Fulfilling location)

If the Locate Platform is set to JAVA, the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

Brokered backorder: The fulfilling location is indicated in the order request response message (or from the status response message, if the first location rejects the order and the Order Broker selects a different fulfilling location), and the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

If the Locate Platform is set to .NET, the cw_locate site uses a lookup table to determine the location description to pass to CWDirect.

The fulfilling location description is blank if:

• CWDirect has not yet received the order response message (ready (R), waiting (W) status)

• the Order Broker request is in error (E) status or closed (C) status

• the Order Broker request is in canceled (Z) and the Locate Platform is set to .NET

Retail pickup or delivery order: The code identifying your default warehouse, as set up through Working with Store Cross References (WSXR).

If the description exceeds 25 positions, it is truncated.

Alphanumeric, 25 positions; display-only.

Transaction type

The type of activity that occurred. Possible types are:

Send Order Request = CWDirect sent the initial order request message to the Order Broker. See the Order Request Message Sample (Brokered Backorder).

Receive Order Response = CWDirect received the order response message from the Order Broker. See the Order Response Message Sample.

Send Status Request = CWDirect sent a status inquiry message to the Order Broker. See the Status Inquiry Request Message Sample.

Receive Status Response = CWDirect received the status inquiry response message from the Order Broker. See the Status Inquiry Response Message Sample.

Maintained = You canceled the Order Broker request, either by canceling the order line in order maintenance, or by canceling the Order Broker request itself (but not the order line) at the Work with Order Broker Screen.

Send Update Request = CWDirect sent a cancellation request message to the Order Broker. See the Status Update Request Message Sample.

Receive Update Response = CWDirect received the cancellation response message from the Order Broker. See the Status Update Response Message Sample.

Alphanumeric, 25 positions; display-only.

Error

The error, if any, returned from the Order Broker. See Troubleshooting the Order Broker Integration for more information.

Alphanumeric, 30 positions; display-only.

Locate line #

The line number assigned by Locate when the Order Broker created the order in the Locate database.

Set to 0 if the Locate Platform is set to .NET, or if the order status at the time of the activity is closed (C), ready (R), or waiting (W), or possibly pending cancel (Z), indicating that Locate has not confirmed creation of the order.

Numeric, 5 positions; display-only.

Locate qty

The quantity of the item. The same as the Order qty.

Set to 0 if the Locate Platform is set to .NET, or if the order status at the time of the activity is closed (C), ready (R), or waiting (W), or possibly pending cancel (Z), indicating that Locate has not confirmed creation of the order.

Numeric, 5 positions; display-only.

Error

The error, if any, returned from the Order Broker. See Troubleshooting the Order Broker Integration for more information.

Alphanumeric, 30 positions; display-only.

Confirm Order Broker Cancel Window

Purpose: Use this window to cancel a brokered backorder request.

Important: Before canceling an Order Broker request, it is important to confirm that the order is not in the process of being shipped at the assigned fulfilling location.

How to display this window:

Order maintenance: At the Work with Order Lines Screen in order maintenance, enter 4 next to an item that is currently assigned to the Order Broker for fulfillment (brokered backorder). This cancels both the order line and the Order Broker request.

Working with Order Broker Requests: At the Work with Order Broker Screen enter 4 next to an Order Broker request (brokered backorder). This cancels just the Order Broker request and returns the order line to normal backorder processing and fulfillment.

Note: The Cancel Order Broker Lines (B19) secured feature controls the authority to cancel order lines assigned to the Order Broker.

Confirm Order Broker Cancel

WARNING - Order line currently being processed by Order Broker

Status . . . . . . . . : P Polled

Item/SKU . . . . . . . : KABSKU1 BLUE

Fulfilling location . : 123 cwstore

Providence Outlet

Press ENTER to confirm cancel request.

F12=Cancel

Field

Description

Status

The current status of the Order Broker request. Possible statuses for brokered backorder requests eligible for cancellation are:

A = Accepted

K = Acknowledged

P = Polled

R = Ready

W = Waiting

Y = Cancel Pending

See Order Broker Statuses for a listing and description of possible statuses.

Note: Although CWDirect enables you to perform the cancellation only for certain statuses, it is important to confirm that the fulfilling location is not in the process of shipping the order before canceling the request in CWDirect.

Alphanumeric, 1 position; display-only.

Item/SKU

The item and SKU selected for cancellation.

Item: alphanumeric, 12 positions; display-only.

SKU: alphanumeric, three 4-position fields (split SKU) or one 12-position field (full SKU); display-only.

Fulfilling location

Brokered backorder: The fulfilling location is indicated in the order request response message (or from the status response message, if the first location rejects the order and the Order Broker selects a different fulfilling location), and the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

The fulfilling location is blank if:

• CWDirect has not yet received the order response message (ready (R), waiting (W) status)

• the Order Broker request is in error (E) status or closed (C) status

• the Order Broker request is in canceled (Z) and the Locate Platform is set to .NET

Retail pickup or delivery order: The code identifying your default warehouse, as set up through Working with Store Cross References (WSXR).

Alphanumeric, 25 positions; display-only.

Fulfilling location description (unlabeled field below the Fulfilling location)

If the Locate Platform is set to JAVA, the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

Brokered backorder: The fulfilling location is indicated in the order request response message (or from the status response message, if the first location rejects the order and the Order Broker selects a different fulfilling location), and the description is from the corresponding cross-reference record, as set up through Working with Store Cross References (WSXR).

If the Locate Platform is set to .NET, the cw_locate site uses a lookup table to determine the location description to pass to CWDirect.

The fulfilling location description is blank if:

• CWDirect has not yet received the order response message (ready (R), waiting (W) status)

• the Order Broker request is in error (E) status or closed (C) status

• the Order Broker request is in canceled (Z) and the Locate Platform is set to .NET

Retail pickup or delivery order: The code identifying your default warehouse, as set up through Working with Store Cross References (WSXR).

If the description exceeds 25 positions, it is truncated.

Alphanumeric, 25 positions; display-only.

Press Enter at this window to cancel the Order Broker request. See Sample Order Broker XML Messages for updates and more information.

Updates: When you press Enter at this window, the system:

Order maintenance only: cancels the order line and makes all related updates made for any item cancellation; see Item Cancellation Results for more information

Both order maintenance and the Work with Order Broker Screen:

• clears the Drop ship flag and the Printed quantity from the order line (previously set when the order line was assigned to the Order Broker for fulfillment)

• changes the status of the Order Broker record to Y (cancel pending). The next time the BROKER_STS job sends messages to Locate, it will send a cancellation request for this order line.

Note: If you cancel an Order Broker request whose current status is R (ready), CWDirect does not send a cancel request to the Order Broker, since the order has not yet been submitted. Instead, it changes the status of the Order Broker request to C (closed).

Print Aging Report Window

Purpose: Use this window to generate the Order Broker Aging Report.

How to display this window: Press F21 at the Work with Order Broker Screen.

Print Aging Report

Country Creations

Select:

Status . . . . . . (Blank for all)

Fulfilling location (blank for all)

Print open older than days

F3=Exit F12=Cancel

Field

Description

Status

Optionally, enter a valid status code to select Order Broker records that currently match this status, or leave this field blank to select records regardless of status. Possible statuses to select for the report are:

A = Accepted

F = Fulfilling

I = In Process

K = Acknowledged

N = New

P = Polled

R = Ready

S = Received by Store

T = In Transit

W = Waiting

Y = Cancel Pending

See Order Broker Statuses for a listing and description of possible statuses.

Note: You cannot include Order Broker requests on the report if their statuses are J (rejected), L (Partially Fulfilled/Store), U (unfulfillable), Z (canceled), X (shipped), C (closed) or E (error).

Alphanumeric, 1 position; optional.

Fulfilling location

Optionally, enter the fulfilling location to include on the report.

When integrating with Locate 2.1 or 2.5: Enter the fulfilling location as displayed at the Display Order Broker Screen, typically composed of the location code and the system code from Locate. For example, a location code of 317 and a system code of cwstore produces a fulfilling location of 317 cwstore.

When integrating with Locate 5.1 or higher: Enter the Store code set up through Working with Store Cross References (WSXR).

This field is case-sensitive.

Alphanumeric, 25 positions; optional.

Print open older than

Optionally, enter a number of days to have the report include Order Broker records only if their age exceeds this number, or leave this field blank to select records that are at least two days old (that is, more than one day old).

Note: It is not possible to include Order Brokers from the current or previous day on the report. Only records that are at least two days old are eligible for selection.

Numeric, 5 positions; optional.

Order Broker Statuses

Purpose: Possible Order Broker statuses are described in the table below.

Code

Description

Broker Order Types

Meaning

A

Accepted

brokered backorder

The assigned fulfilling location has accepted the order. The status in Locate might be Accepted or Picked.

C

Closed

brokered backorder

The Order Broker request was canceled before creating an order in the Order Broker.

E

Error

brokered backorder

The Order Broker has returned an error response and has not created the order in Locate. This status occurs only when the Locate Platform is set to .NET. When CWDirect receives an error response, it returns the order line to normal backorder processing and warehouse fulfillment. You can review the error received at the Second Display Order Broker History Screen.

F

Fulfilling

retail pickup

delivery

You have generated a pick slip or a drop ship purchase order for the retail pickup or delivery order line, but have not yet confirmed shipment.

I

In Process

retail pickup

delivery

The retail pickup or delivery order has been created and a pick slip has not yet been generated.

J

Rejected

retail pickup

delivery

You have sold out an item on a retail pickup or delivery order.

K

Acknowledged

brokered backorder

The Order Broker has received the order request, assigned a request ID, selected a fulfilling location, and created the order in its database. Locate initially creates the order in New Order status.

L

Partially Fulfilled/Store

brokered backorder

Some but not all of the units on the order line are shipped.

N

New

retail pickup

delivery

A retail pickup or delivery order has been created, but one or more errors occurred, so the order is suspended in batch.

P

Polled

brokered backorder

The assigned fulfilling location has polled the Order Broker for new orders and been notified of this order. The status in Locate is also Polled.

Require status update? If the fulfilling location’s system is flagged in Locate to require a status update, then the order status in Locate does not change to Polled automatically when CWDirect receives notification of the order through the fulfillments response message. Instead, the order remains in New Order status in Locate until the fulfilling location sends Locate a status update message changing the order status to Polled or Accepted. See the System screen in Locate for more information on the Require Status Update flag.

R

Ready

brokered backorder

The Order Broker record has been created, but not yet submitted to Locate.

S

Received By Store

retail pickup

The shipment has been received by the store, but the customer has not yet picked it up.

T

In Transit

retail pickup

You have shipped a retail pickup order, and the originating location has not yet updated the status of the order to indicate that the order has been received or that the customer has picked the order up. The system sends a single daily status inquiry for retail pickup orders that are in transit.

U

Unfulfillable

brokered backorder

The Order Broker has not found a fulfilling location for the order based on the existing locations that stock the item and the rules you have set up in Locate. When CWDirect receives an unfulfillable response, it returns the order line to normal backorder processing and warehouse fulfillment, or sells the line out if eligible.

This status also occurs when the Order Broker returns an error in the submit order response message, and the Locate Platform is set to JAVA. In this case, the Error displayed at the Second Display Order Broker History Screen is FAILED.

W

Waiting

brokered backorder

The brokered backorder has been submitted to Locate, but Locate has not yet responded.

X

Shipped

brokered backorder

delivery

retail pickup

Brokered backorder: The order has been shipped from the assigned fulfilling location. When CWDirect receives a status update indicating that the order was shipped, it bills the order line and saves the ship via and tracking information in the Order Transaction History file. The ship via and tracking number are available to include in the shipment confirmation when you integrate with Locate 5.1 or higher. The status in Locate is Fulfilled.

Delivery: You have shipped the delivery order to the customer.

Retail pickup: The customer has picked up the order from the store.

Y

Cancel Pending

brokered backorder

You have canceled the order line (including the Order Broker request) in order maintenance, or canceled just the Order Broker request at the Work with Order Broker Screen, but you have not yet received a confirmation of the cancellation from the Order Broker.

Z

Canceled

brokered backorder

retail pickup

delivery

Brokered backorder: The Order Broker request has been canceled, and you have received the confirmation from the Order Broker. If the Locate Platform is set to .NET, when you receive the confirmation, the Fulfilling location and Fulfilling location description fields are cleared.

Retail pickup or delivery: You have canceled the order, and CWDirect has sent a status update to Locate rejecting the order. The Order Broker might then attempt to find another location to fulfill the order, based on the preferences you have set up in Locate.

Order Broker XML Messages

Order Broker Request XML Message (CWOrderBrokerRequest)

 

The BROKER_ORD process in Working with Integration Layer Processes (IJCT) generates this message when processing a order broker trigger request for fulfillment of a backordered item. Also, the BROKER_STS process generates this message when requesting a status update or sending a cancellation request. See Brokered Backorder Integration with Locate for an overview and see Sample Order Broker XML Messages for examples. Typically, you would use CWIntegrate to translate the request and forward it to Locate.

The direct integration with Locate 5.1 or higher uses a version of this message that includes additional attributes not listed in the following table.

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.

Attribute Name

Type

Length

Comments

Message

source

alpha

20

CWDirect

target

alpha

20

CWIntegrate

type

alpha

20

CWOrderBrokerRequest

date_created

numeric

8

YYYY-MM-DD format

time_created

numeric

6

HH:MM:SS format

OrderBrokerRequest

request_type

alpha

20

Possible types are:

ORDER = initial request to submit the order

STATUS = status inquiry request

UPDATE = status update (cancel) request

company_nbr

numeric

3

The company where the request originated.

request_status

alpha

1

Set to CANCEL for a status update (cancel) request. Not included for an initial order request for a status inquiry request.

Order

order_nbr

numeric

8

The CWDirect order number.

order_ship_to_nbr

numeric

3

The order ship-to number. Set to 1 except for a multi-recipient order.

source_code

alpha

7

The source code from the order header.

sold_to_cust_nbr

numeric

9

A unique number to identify the customer placing the order.

email_address

alpha

50

The email address from the order.

OrderMessage

Although the message includes this information, it is not passed to the Order Broker through the CWIntegrate site.

message_text

alpha

60

The text of a gift message.

message_type

alpha

1

Identifies the type of order message. Only order messages flagged as gift message (type G) are included in the outbound request message.

OrderDetail

order_id

numeric

17

A unique number to identify the Order Broker request to Locate and integrated systems. Composed by concatenating the:

• 3-position company number

• 8-position order number

• 3-position ship-to number

• 5-position order line sequence number

Each component is zero-padded. For example, the order_id for line 2 of order 4354-1 in company 5 is:

0050000535400100002

request_id

alpha

30

The unique sequence number assigned by the Order Broker to identify the Order Broker request. Not included in the initial order request message.

broker_sts

alpha

1

Possible statuses in the request message are:

A = Accepted: The assigned fulfilling location has accepted the order.

K = Acknowledged: The Order Broker has received the order request, assigned a request ID, selected a fulfilling location, and created the order in its database.

P = Polled: The assigned fulfilling location has polled the Order Broker for new orders and been notified of this order.

W = Waiting: This is the status indicated for the initial Order Broker request message.

Y = Cancel Pending: This is the status indicated for the status update (cancel) message.

line_nbr

numeric

5

The order detail sequence number.

item_nbr

alpha

12

The backordered item.

sku_code

alpha

14

The backordered item’s unique characteristics, such as its color and size.

order_qty

numeric

5

The quantity ordered.

unit_price

numeric

7.2

The order line unit price.

tax

numeric

10.5

Total tax for the order line.

gst

numeric

10.5

Total GST (Canadian Goods and Services Tax) for the order line.

pst

numeric

10.5

Total PST (Canadian Provincial Services Tax) for the order line.

shipper_name

alpha

30

Identifies the ship via currently assigned to the order line. Composed of the ship via code and description, separated by a hyphen; for example: 01 - UPS.

CustomerSoldTo

The following attributes provide the sold-to customer’s name and address, and are included for each request message type.

sold_to_prefix

alpha

3

 

sold_to_fname

alpha

15

 

sold_to_initial

alpha

1

 

sold_to_lname

alpha

25

 

sold_to_suffix

alpha

3

 

sold_to_company_name

alpha

30

 

sold_to_street_name

alpha

32

 

sold_to_addr_line_2

alpha

32

 

sold_to_addr_line_3

alpha

32

 

sold_to_addr_line_4

alpha

32

 

sold_to_apt

alpha

10

 

sold_to_city

alpha

25

 

sold_to_state

alpha

2

 

sold_to_zip

alpha

10

 

sold_to_country

alpha

3

 

sold_to_day_phone

alpha

 

 

sold_to_eve_phone

alpha

 

 

CustomerShipTo

The following attributes provide the ship-to customer’s name and address, and are included for each request message type. If the ship-to address is the same as the sold-to, the information is repeated from the CustomerSoldTo element.

ship_to_prefix

alpha

3

 

ship_to_fname

alpha

15

 

ship_to_initial

alpha

1

 

ship_to_lname

alpha

25

 

ship_to_suffix

alpha

3

 

ship_to_company_name

alpha

30

 

ship_to_street_name

alpha

32

 

ship_to_addr_line_2

alpha

32

 

ship_to_addr_line_3

alpha

32

 

ship_to_addr_line_4

alpha

32

 

ship_to_apt

alpha

10

 

ship_to_city

alpha

25

 

ship_to_state

alpha

2

 

ship_to_zip

alpha

10

 

ship_to_country

alpha

3

 

 

Order Broker Response XML Message (CWOrderBrokerResponse)

 

The BROKER_ORD process in Working with Integration Layer Processes (IJCT) receives this message as a response to the Order Broker Request XML Message (CWOrderBrokerRequest) requesting fulfillment for a backordered item through the Order Broker. Also, the BROKER_STS process receives this response after generating a status update or cancellation request. See Brokered Backorder Integration with Locate for an overview and see Sample Order Broker XML Messages for examples. Typically, CWIntegrate translates the response and forwards it from Locate.

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.

Attribute Name

Type

Length

Comments

Message

date_created

numeric

8

YYYY - MM - DD format.

source

alpha

20

CWINTEGRATE

target

alpha

20

CWDIRECT

time_created

numeric

6

HH:MM:SS format.

type

alpha

20

CWOrderBrokerResponse

OrderBroker

company_nbr

numeric

3

The company where the Order Broker Request XML Message (CWOrderBrokerRequest) originated.

fulfillment_loc

alpha

20

Identifies the store location and system to fulfill the order. When this information is received from the CWIntegrate site, the fulfilling location is made up of the fulfilling location code and the system code. For example, if the fulfilling location is 10 and the system is cwstore, the fulfillment_loc is 10 cwstore.

fulfillment_loc_desc

alpha

25

Describes the fulfilling location. When this information is received from the CWIntegrate site, the description is mapped from the fulfilling location and system through a lookup table.

order_id

numeric

17

A unique number to identify the Order Broker request to Locate and integrated systems. Composed by concatenating the:

• 3-position company number

• 8-position order number

• 3-position ship-to number

• 5-position order line sequence number

Each component is zero-padded. For example, the order_id for line 2 of order 4354-1 in company 5 is:

0050000535400100002

order_line_nbr

numeric

5

The order detail sequence number.

order_nbr

numeric

8

The CWDirect order number.

order_ship_to_nbr

numeric

3

The order ship-to number. Set to 1 except for a multi-recipient order.

request_id

alpha

30

The unique sequence number assigned by the Order Broker to identify the Order Broker request.

response_code

alpha

1

The code identifying the current status of the Order Broker request. A lookup table on the CWIntegrate site translates the code from Locate to the CWDirect status code. Possible statuses returned in the response message are:

A = Accepted: The assigned fulfilling location has accepted the order.

E = Error: The Order Broker has returned an error response. When CWDirect receives an error response, it returns the order line to normal backorder processing and warehouse fulfillment. You can review the error received at the Second Display Order Broker History Screen.

K = Acknowledged: The Order Broker has received the order request, assigned a request ID, selected a fulfilling location, and created the order in its database.

P = Polled: The assigned fulfilling location has polled the Order Broker for new orders and been notified of this order.

 

 

 

U = Unfulfillable: The Order Broker has not found a fulfilling location for the order based on the existing locations that stock the item and the rules you have set up in Locate. When CWDirect receives an unfulfillable response, it returns the order line to normal backorder processing and warehouse fulfillment, or sells the line out if it is eligible.

X = Shipped: The order has been shipped from the assigned fulfilling location. When CWDirect receives a status update indicating that the order was shipped, it bills the order line and saves the ship via and tracking information in the Order Transaction History file.

Z = Canceled: The Order Broker request has been canceled. When you receive the confirmation, the Fulfilling location and Fulfilling location description fields are cleared.

response_type

alpha

10

Indicates the type of request message related to the response Possible response types are:

ORDER = the response is to an initial Order Broker request

STATUS = the response is to a status inquiry request

UPDATE = the response is to a cancel request

shipper_desc

alpha

30

The description of the shipping agent, as provided by the fulfilling system and passed through Locate. Included only in a status inquiry response if the order has shipped.

tracking_nbr

alpha

18

The shipment tracking number, as provided by the fulfilling system and passed through Locate. Included only in a status inquiry response if the order has shipped.

error_msg

alpha

50

The error message passed from  Locate if there is an error. When CWDirect receives an error response, it returns the order line to normal backorder processing and warehouse fulfillment. You can review the error received at the Second Display Order Broker History Screen.

Troubleshooting the Order Broker Integration

See the Locate Operations Guide for information on possible errors returned by the Order Broker and additional troubleshooting information.

Problem

Possible Explanation

No fulfilling location is displayed at the Work with Order Broker Screen

Is the Order Broker request’s status E (error), U (unfulfillable), C (Closed) or Z (canceled)? In this case, the order line will not be fulfilled through the Order Broker.

Otherwise, check on whether the fulfilling location description has been defined in the SystemToLocation lookup table in the cw_locate site. See the Locate Operations Guide for more information.

The status of the Order Broker request is Closed, but there have not been any shipments

The system changes the status of the Order Broker request to C (closed) if you cancel it before it has been submitted to the Order Broker (when its status is R (ready)).

An order line is not being submitted to the Order Broker for fulfillment

• Check that the order is eligible under the Rules for Generating Order Broker Triggers for Brokered Backorders

• Confirm that you have completed the Order Broker Setup

• Confirm that the customer is not flagged to Bypass reservation

• If the order was previously in hold status and then released from hold, use the BROKER Periodic Function or select the order for maintenance and then accept your maintenance session

• If you integrate with Locate 5.1 or higher, confirm that you have started the Broker Java helper jobs and the integration layer jobs using the steps described under Starting and Stopping Broker Jobs.

The BROKER_STS process is active, but retail pickup and delivery orders are not being created

Confirm that the ORDER_IN process is active.

Working with Store Cross References (WSXR)

Purpose: Use this option to set up cross references for locations that are assigned to fulfill brokered backorders through the integration with Locate’s Order Broker. The fulfilling location’s description is displayed on Order Broker screens in CWDirect.

Retail pickup and delivery orders: The cross reference for your default warehouse is used as the fulfilling location for retail pickup and delivery orders.

Work with Store Cross Reference Screen

How to display this screen: Enter WSXR in the Fast path field at the top of any menu, or select Work with Store Cross Reference from a menu. ‘

FLR1261 DISPLAY Work with Store Cross Reference 10/17/14 16:46:57

EZK Mail Order

Store Code Description

Type options, press Enter.

2=Change 4=Delete

10 Store 10 Worcester 10/17

2 Direct warehouse

20 Store 20 Westborough 10/17

888 unfulfillable

F3=Exit F12=Cancel

Field

Description

Store code

The code identifying the store location that Locate’s Order Broker assigns to fulfill an order.

Alphanumeric, 25 positions.

Description

The description of the location fulfilling a brokered backorder. The description you enter here might not be the same as the description of the location in Locate.

Length: Although you can enter a description of up 30 positions, the description is always truncated by at least 5 positions when displayed on a screen for an Order Broker or Order Broker History record.

Unfulfillable? You can also set up a Store Cross Reference record for the Locate Default Location Code for Unfulfillable Orders (K56), so that you can control the description of the virtual unfulfillable location to display on screens. For example, the Default Unfulfillable Location set up in Locate to assign unfulfillable orders is location 888. You can create a Store Cross Reference record using Store code 888 so that Order Broker screens in CWDirect display the description Unfulfillable.

Note: Prior to Locate 5.3, the Default Unfulfillable Location is labeled the Default Shipping Location at the Preferences screen.

Alphanumeric (upper and lower case), 30 positions.

Option

Procedure

Create a new store cross reference

Complete the Store code and Description fields at the top of the screen and press Enter.

Change the description of a store cross reference

Enter 2 next to a store cross reference record to advance to the Change Store Cross Reference Screen.

Delete a store cross reference

Enter 4 next to a store cross reference record to delete it.

If you delete a store cross reference record, the fulfilling location information is removed from Order Broker screens in CWDirect the next time CWDirect receives a status update for a brokered backorder assigned to the location.

Change Store Cross Reference Screen

Purpose: Use this screen to change the description of a store cross reference record.

New description applied when? The new description applies to Order Broker records for brokered backorders when they next receive status updates from Locate.

How to display this screen: Enter 2 next to a store cross reference record at the Work with Store Cross Reference Screen.

FLR1262 CHANGE Change Store Cross Reference 10/20/14 10:05:55

EZK Mail Order

Store code . . . : 888

Description . . . Unfulfillable Location

F3=Exit F12=Cancel

Completing this screen: Optionally, enter a different description of up to 30 positions. You cannot change any other information on this screen.

ST01_13 CWDirect 18.0.x 2018 OTN