Warehouse Control System (WCS) - Material Handling Equipment (MHE)

76

Transcript of Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Page 1: Warehouse Control System (WCS) - Material Handling Equipment (MHE)
Page 2: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Contents

1. Introduction............................................................................................................1 1.1 Overview................................................................................................................................. 1 1.2 Advantages.............................................................................................................................. 1 1.3 Software Updates .................................................................................................................... 2

2. Glossary ..................................................................................................................3 2.1 Device ..................................................................................................................................... 3 2.2 AS/RS ..................................................................................................................................... 3 2.3 Business Event ........................................................................................................................ 3 2.4 Device Directive ..................................................................................................................... 3 2.5 PLC ......................................................................................................................................... 3 2.6 DS ........................................................................................................................................... 3 2.7 Device Request Message ........................................................................................................ 3 2.8 Device Response Message ...................................................................................................... 4 2.9 Device Response Time............................................................................................................ 4 2.10 CarBri / Carousel Bridge........................................................................................................ 4

3. Schematic Details ...................................................................................................5 3.1 Schematic Diagrams ............................................................................................................... 5 3.2 Brief Description..................................................................................................................... 7 3.3 Recommended Implementation Strategy ................................................................................ 8

4. Setup........................................................................................................................9 4.1 Defining a Device in Oracle WMS ......................................................................................... 9 4.2 Assigning the Device to a WMS Business Event.................................................................. 10 4.3 Details from Device Vendor ................................................................................................. 10 4.4 Setting up the WCS Layer: ................................................................................................... 11

4.4.1 WCS Enable the Organization .................................................................................... 11 4.4.2 Update the Organization Access Form ....................................................................... 11 4.4.3 Setup with Warehouse Control System Responsibility............................................... 12

4.5 Setting up the Middle Tier .................................................................................................... 13 4.5.1 Directory Structure to be created on the Middle Tier ................................................. 13 4.5.2 Create carbri.xml - configuration file for Carousel Bridge ......................................... 14 4.5.3 Create startup script for the Device Simulator – startDS.sh........................................ 16 4.5.4 Create startup script for the CarBri – startCarBri.sh ................................................... 16

5. Runtime.................................................................................................................17 5.1 Starting the listener jobs on the WCS layer .......................................................................... 17 5.2 Starting the real PLC/DS....................................................................................................... 17

Page ii of 76

Page 3: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

5.3 Starting the CarBri ................................................................................................................ 18 5.4 Initiating a request from the Mobile UI – Example with Miscellaneous Receipt Business Event 20 5.5 Simulating a Device Request from CarBri to PLC/DS ......................................................... 22 5.6 Simulating a Device Response from CarBri to Oracle WMS ............................................... 23 5.7 Simulating a Device Response from DS to Oracle WMS via CarBri ................................... 24

6. Application Monitoring .......................................................................................26 6.1 WCS Administrator Home.................................................................................................... 26 6.2 WCS Directive Queue........................................................................................................... 26 6.3 WCS Log .............................................................................................................................. 27

7. Trouble Shooting..................................................................................................29 7.1 I get an exception when I try to run startCarBri.sh ............................................................... 29 7.2 I hit a Control-P from the telnet UI but I do not see a device request on the CarBri ............ 29 7.3 The Carousel Log does not get written ................................................................................. 29 7.4 Get the message NULL Query and hence doing nothing...................................................... 30 7.5 Unable to start more than 2 WCS device listeners................................................................ 30

8. Document Reference............................................................................................35 8.1 Current Document References .............................................................................................. 35

8.1.1 Historical Document References ................................................................................ 35 9. Appendix 1 – List of WMS Business Events......................................................36

10. Appendix 2 – WCS Configuration settings – explained ...................................37

11. Appendix 3 – Sample carbri.xml ........................................................................41

12. Appendix 4 – Case Study.....................................................................................42 12.1 Schematic Process Flow configured for Pick Load Business Event .................................... 42

12.1.1 Identify the WMS Business events ........................................................................... 42 12.1.2 Setup Devices in Oracle WMS and assign them to appropriate Business Event/s.... 43 12.1.3 Procure information Device Request/Response message structure........................... 44 12.1.4 Map the WMS business event with the Device Request Message............................ 44 12.1.5 Use the WCS Administrator responsibility to detail the request structure for each device-level directive............................................................................................................... 56 12.1.6 Test between DB tier and the CarBri ........................................................................ 13 12.1.7 Test between DB tier, CarBri and the Device Simulator .......................................... 13 12.1.8 Test between DB tier, CarBri and the actual device ................................................. 13

13. Appendix 5 – WMS_DEVICE_REQUESTS_WCSV View details ...................1

Page iii of 76

Page 4: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Table of Figures Figure 1 - Typical Schematic Diagram............................................................................................. 5 Figure 2 - WCS running with Device Simulator - Without PLC Tier .............................................. 6 Figure 3 - PLC running with Actual Device - With PLC Tier.......................................................... 7 Figure 4 - Define Device Form – New Device Type ‘Work Station’ ............................................... 9 Figure 5 - Output Type - API............................................................................................................ 9 Figure 6 - Multi Sign On Flag ........................................................................................................ 10 Figure 7 - Assign Device to Business Event................................................................................... 10 Figure 8 - Organization Access form.............................................................................................. 12 Figure 9 - WCS Configuration Settings.......................................................................................... 12 Figure 10 - Directory Structure to be created for CarBri on the Middle Tier ................................. 14 Figure 11 - Directory Structure for CarBri on the Middle Tier - View 2........................................ 14 Figure 12 - WCS Administrator Home........................................................................................... 17 Figure 13 - Response Listener status .............................................................................................. 17 Figure 14 - Start Device Simulator ................................................................................................. 18 Figure 15 - Start CarBri .................................................................................................................. 18 Figure 16 - CarBri Login Screen .................................................................................................... 19 Figure 17 - Carousel Bridge Initialized .......................................................................................... 19 Figure 18 – Sign on to a Work Station before logging on to an ASRS .......................................... 20 Figure 19 - Sign on to ASRS .......................................................................................................... 20 Figure 20 - Initiate Device Request from Miscellaneous Receipt mobile UI ................................. 21 Figure 21 - The device request string sent to the DS via the CarBri............................................... 21 Figure 22 - DONE message in Carousel Log ................................................................................. 22 Figure 23 - Simulate from CarBri................................................................................................... 22 Figure 24 - Simulate Device Request from CarBri......................................................................... 23 Figure 25 - Simulate Device Response from CarBri ...................................................................... 23 Figure 26 - Simulated Device response on the WCS Log............................................................... 24 Figure 27 - Simulated Response from DS to CarBri....................................................................... 25 Figure 28 - Simulated Device Response from DS to WCS Log ..................................................... 25 Figure 29 - WCS Administrator Home........................................................................................... 26 Figure 30 - WCS Directive Queue.................................................................................................. 27 Figure 31 - WCS Log ..................................................................................................................... 28 Figure 32 - NULL Query Issue on the Carousel Log...................................................................... 30 Figure 33 - Real life MHE Integration Scenario............................................................................. 42 Figure 34 - Subinventory setup....................................................................................................... 43 Figure 35 - Use Case 1 - Define Devices........................................................................................ 43 Figure 36 - Assign Device 'ASRS Crane 1' to Pick Load Business Event...................................... 43 Figure 37 - Sample directive settings based on tech specs for an ASRS and Sortation Conveyor . 44 Figure 38 - Note that there are 2 CarBri directories (1 for ASRS and 1 for Sortation Conveyor).. 10 Figure 39 - CarBri Settings for ASRS_C1...................................................................................... 11 Figure 40 - CarBri Settings for Sortation Conveyor SORT_1........................................................ 12

Introduction Page iv of 76

Page 5: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

1. Introduction

1.1 Overview Integration of WMS host systems with material handling equipment and automation systems can create challenges for logistics. Prior to this release, these integration challenges were addressed through a combination of Open API’s in Oracle WMS and a joint development with Oracle Consulting of a warehouse control system layer (WCS), that was external to the Oracle WMS product.

With this release, the existing Open API integration capability is expanded and a new execution framework (WCS) has been incorporated into the Oracle WMS product. Together, these provide a more flexible definition and execution framework for managing existing and more complex integration requirements such as Pick to Light, A-frame, Conveyors and ASRS systems. During device setup, business events may be mapped to either the improved execution framework or to the Open API for the device integration.

Through this flexible support, the management of a large variety of material handling equipment and automation systems can be managed directly from the host application environment without the need for an external WCS component.

1.2 Advantages After 11.5.10 CUI, an Oracle Customer can make use of a Warehouse Control System built into the E Business Suite, instead of relying on a third party system to communicate to devices such as

• Carousels (Horizontal and Vertical) • Scales • Conveyers • Pick to Light Systems • Pick to Audio (Pick to Voice) • Automated Storage and Retrieval Systems (ASRS)

To provide this communication to the devices requires a TCP/IP socket connect at the device level interface such as one of the following:

• A PLC configured with a NIC card. • A PC controller with a NIC card for socket communication, which brokers serial,

connects to the device or PLC. • A Hardware Bridge controller with a NIC card for socket communication, which brokers

serial, connects to the device or PLC.

Till 11.5.10 Oracle WMS provided a stub API. This was to be implemented by the Customer according to his needs. From 11.5.10.1CU, Oracle WMS provides an implementation of this stub API along with a framework for defining device request message structure, according to the device type being used.

Introduction Page 1 of 76

Page 6: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

1.3 Software Updates WCS Carousel Bridge Patch

4580210 - WMS Warehouse Control System Carousel Bridge Patch - with FND Images Pre-requisite WCS Desktop Patches

4042499 - Supply Chain Management Family Pack J Rollup Patch 1

4522497 - Material Handling Integration Improvements - Post 11.5.10+

4574068 - Material Handling Integration Improvements - Post 11.5.10+

5200583 - WMS_CAROUSEL_INTEGRATION_PVT.RECEIVE_PIPE_LISTENER Response length too short

Introduction Page 2 of 76

Page 7: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

2. Glossary

2.1 Device This is equipment, typically used for material handling of large volumes in a warehouse. The devices currently supported are Carousels (Horizontal and Vertical), Scales, Conveyers, Pick to Light Systems, Pick to Audio (Pick to Voice) Automated Storage and Retrieval Systems (ASRS).

2.2 AS/RS Automatic Storage and Retrieval System. Automated, robotic system for storing and retrieving items in a warehouse.

2.3 Business Event It is a Functional event, which acts as a trigger for initiating a device request. Pick Load is an example of a business Event. Refer Appendix 1 for the list of WMS Business Events.

2.4 Device Directive It is a command string that needs to be sent from the ERP system (or any other system) to make a device perform a specific task. There are, almost always, multiple tasks (with a corresponding command string) that a device can perform. Each of these command stings is called a device directive.

E.g., A light stack can turn on a Green light (task). An example of a command string it expects is BULK,B1.1.1,GREEN,ON. This message is very device and vendor specific and comprises a device directive specific to this light stack to turn on the Green Light on it.

2.5 PLC This stands for a Programmable Logic Controller. The device vendor along with all the supporting network hardware for his specific device typically provides this. The vendor will also publish the alphabet of the device i.e., the set of all directives that are understood by the device.

2.6 DS This stands for a Device Simulator. This is a software component to test the Warehouse Control System in the absence of a real device.

The Device Simulator is capable of

• Running as a TCP/IP server • Listening on a specified port number • Allowing a trusted client IP address to connect from a trusted client port number • Being configured with an ASCII character to denote end of Request Message • Sending a configured response when the end of request message is reached

In summary, the DS replicates a PLC, when there is no PLC to test the WCS.

2.7 Device Request Message A command string (directive), triggered by a business event and sent from the (E Business Suite) EBS to the device controller to make the device perform a specific device task.

Glossary Page 3 of 76

Page 8: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

2.8 Device Response Message A character string returned by the device controller to the EBS as a response to a Device request that was sent earlier. The device could respond with a success or failure (with appropriate error message) or may not respond at all (So the requesting system will always need to assume that the device directive succeeded). The response characteristics are to be provided by the device vendor.

2.9 Device Response Time The processors on the PLCs are usually slower compared to the processors that run the ERP servers. Typically, the PLCs have a response time of 50 to 70 milliseconds. The device vendor for better integration with the Warehouse Control System of WMS should provide this detail.

2.10 CarBri / Carousel Bridge This is a middleware solution, introduced in 11.5.10CU1, which acts as the transport layer for Device Request Messages and Device Response Messages between the Database Tier of the E Business Suite and the PLC.

Glossary Page 4 of 76

Page 9: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

3. Schematic Details

3.1 Schematic Diagrams

Figure 1 - Typical Schematic Diagram

Schematic Details Page 5 of 76

Page 10: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 2 - WCS running with Device Simulator - Without PLC Tier

Schematic Details Page 6 of 76

Page 11: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 3 - PLC running with Actual Device - With PLC Tier

3.2 Brief Description There are 3 layers in the system. They are the database tier, the middle tier (which might be different from the DB tier where the Carousel Bridge Middleware will run) and the Program Logic Controller (PLC) layer.

Once the initial setup has been done in EBS (see the section Document Reference), at runtime, device requests will originate from the Oracle ERP system. The Carousel Bridge middleware will function as a transport layer – talking to the DB on one end and to the device on the other end (or an emulator called the DS – Device Simulator)

There will be a one-one mapping between a device defined in the Oracle WMS system and an instance of the Carousel Bridge on the middle tier. The behavior of the Carousel Bridge (CarBri) will be controlled be means of a configuration file carbri.xml, which is documented in a later section.

Schematic Details Page 7 of 76

Page 12: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

3.3 Recommended Implementation Strategy 1. Identify the WMS Business events in the Business process where a device will be

invoked. (Refer Appendix 1 for list of WMS Business events) 2. Refer Oracle Warehouse Management System Material Handling Device Integration Kit

for the standard Device setup (Creating Devices in Oracle WMS and assigning them to the appropriate business event).

3. Procure information from the device Vendor about the Device Request message structure that the device understands. (E.g., a lightstack can understand 2 request directives – Turn on Green Light or Turn on Red Light. That is all the alphabet understood by the device)

4. Map the WMS business event with the Device Request Message. (One WMS Business event may map to more than one Device-level directive)

5. Use the new WCS Admin responsibility to detail the request structure for each device-level directive.

6. Test between DB tier and the CarBri (set Simulate to Yes in carbri.xml (There is no need to plug in the Device to test at this point)

7. Test between DB tier, CarBri and the Device Simulator (Set Simulate to No) and socketHostName to point to the IP address of the DS. Once this testing is satisfactory, the system is ready to be promoted to UAT. This step can be used to validate the device directives that are provided by the Device Vendor by testing message sending between the Device Simulator and the PLC and tweaking the WCS Directive settings if needed.

8. Test between DB tier, CarBri and the actual device. The system will be fully functional at this point.

Schematic Details Page 8 of 76

Page 13: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

4. Setup The objective of the setup illustrated in the following sections would be to perform ‘Miscellaneous Receipt’ using a device ‘ASRS_C1’ which has been setup for a Subinventory ‘ASRSC1’ in a WMS-enabled Organization ‘W1’

Setup checklist:

• Defining a Device in Oracle WMS • Assigning the Device to a WMS Business Event • Setting up the WCS Layer

4.1 Defining a Device in Oracle WMS Defining a device in Oracle WMS is documented in Oracle Warehouse Management System Material Handling Device Integration Kit. The setup for CU1 functionality is documented below.

From CU1 there will be a new device type supported called ‘Work Station’ which works in tandem with devices of type ASRS. No WMS task can be dispatched to this type of device. But a user will need to sign on to a ‘Work Station’ before signing on to a device of Type ASRS to perform a task. Refer Appendix 4 to know more about usage of a device type Workstation.

Figure 4 - Define Device Form – New Device Type ‘Work Station’

Output Type is typically set to API to make use of the WCS request-processing framework.

Figure 5 - Output Type - API

To accommodate the requirement where more than one user may need to sign-on to a single ASRS, there is a new check box called ‘Multi Sign On’ provided in CU1. For all device types other than ASRS, this should be unchecked.

Setup Page 9 of 76

Page 14: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 6 - Multi Sign On Flag

4.2 Assigning the Device to a WMS Business Event Assigning a device to a Business in Oracle WMS is documented in Oracle Warehouse Management System Material Handling Device Integration Kit. Please refer the same.

Figure 7 - Assign Device to Business Event

4.3 Details from Device Vendor Typically the following details must be procured from the device vendor before proceeding.

• Confirm from the device vendor that the device controller is capable of communicating using TCP/IP protocol and can function as a TCP/IP server socket.

• The device vendor must publish the list of all directives supported by his device and the corresponding message structure for it.

• For every request message to the device, the vendor must publish if there will be a response that the device is going to send back to the EBS. If yes, then the message structure for each of the response messages must be published.

• Any other runtime characteristics of the device - like the device response time. (This detail can be used to set DIRECTIVE PAUSE DELAY described in Appendix 2)

For our test ASRS crane we assume that a device vendor ‘X’ has provided the following details.

• Directive Name is ‘MISC_RCPT’ • Request Message structure to be sent to the device is

‘�.misc_rcpt.C.0.0.0.0.0000.ACTION..(AS1.1.1)..4.11826.AS1.1.1.�’ (This starts with ASCII 2 and ends with ASCII 3 and contains the transaction details in the request message)

• Response Message from the device is a constant ‘DONE’

You will be making use of these details when setting up WCS. See the section titled WCS Configuration Settings

Setup Page 10 of 76

Page 15: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

4.4 Setting up the WCS Layer: Checklist for WCS Setup:

• WCS Enable the Organization • Update the Organization Access Form • Setup with Warehouse Control System Responsibility

4.4.1 WCS Enable the Organization

Log in to Oracle Applications EBS with responsibility ‘Warehouse Manager’. On the ‘Organization Parameters’ form check the flag ‘WCS Enabled’

Note: Once this flag is enabled, any custom logic that a Customer had implemented by making use of the WMS Stub API (See Oracle Warehouse Management System Material Handling Device Integration Kit in the Document reference section) would not be called anymore. Instead the WMS-implementation of the stub API would be used to process device requests.

4.4.2 Update the Organization Access Form

Insert 2 records in this form for the chosen Org, Application – ‘Warehouse Management’ and Name ‘Warehouse Control System User’ and ‘Warehouse Control System Administrator’

Setup Page 11 of 76

Page 16: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 8 - Organization Access form

4.4.3 Setup with Warehouse Control System Responsibility

Log in to Oracle EBS with responsibility ‘Warehouse Control System Administrator’. Click ‘Setup’

Enter the Organization Code when prompted and click on ‘Choose’. (This step will fail even if one of the first 2 setup steps have not been done correctly)

4.4.3.1 Directive setup steps

This step will be performed from the ‘Configuration’ page

Directive Name, Directive Request Query and Directive Response Query are mandatory for a WMS Business Event.

Directive Name will be mapped to a directive supported by the device type as provided by the vendor.

Directive Request Query can be either a constant string (rarely the case) or a query on any table/view accessible to user APPS, using which, a request can be sent from the Oracle System to the device at runtime. Executing this query at runtime using bind variables p_request_id and p_task_id will populate the contents of the request string.

Directive Response Query is also a query on any table/view accessible to user APPS. When WMS gets a response string from the device, it will compare the incoming string with the expected response. If they match then that directive will be marked as a ‘Success’.

Note that some devices do not send a response back (this would be in the device specs provided by the vendor). In such a case the Directive Response Query need not be setup in the Configuration table and any request sent to the device will immediately be marked as a ‘Success’

Figure 9 - WCS Configuration Settings

Note the following things in the sample config settings for one directive of our test ASRS crane. (Correlate these with the details provided in the section Details from Device Vendor)

Setup Page 12 of 76

Page 17: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

• ‘MISC_RCPT’ is the device directive that we are setting up here. • Directive Request Query is created based on the directive structure published by the

device vendor. Here the request query is based on the view WMS_DEVICE_REQUESTS_WCSV (See Appendix 5 for column details of this view). For a Customer, the source of data for the request message could be any other table/tables.

• Directive Response Query has been set to a constant ‘DONE’ (as published by the device vendor). Had it not been a constant string that the device sends as a response message, then the Directive Response Query would also have been a SQL Query to construct the message dynamically at runtime based on what the device is expected to send back as response. (When the expected device response matches the runtime device response then that directive is marked as a ‘Success’)

• Sequence ID column matches all the 3 configuration records for the same device type and Business Event. What this means, is that ‘MISC_RCPT’ is a directive published by the device vendor and the request message that it expects is defined by the Directive Request Query and the expected response for that directive is defined by a Directive Response Query. The common thread to list them all is the sequence id.

The above setup process would be repeated for each device directive that we intend to make use of.

4.4.3.2 Optional setup steps

Refer Appendix 2 for detailed explanation of the WCS Configuration settings.

4.5 Setting up the Middle Tier Checklist for setting up the Middle Tier

• Create Directory Structure • Create carbri.xml • Create startup script for Device Simulator • Create startup script for Carousel Bridge

4.5.1 Directory Structure to be created on the Middle Tier

The recommended installation location for the CarBri middleware is on the middle tier under $APPL_TOP/carbri. Create a subdirectory under this for each instance of the CarBri. (Note that there is a one to one mapping between each device defined in WMS and a CarBri installation on the middle tier)

Setup Page 13 of 76

Page 18: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 10 - Directory Structure to be created for CarBri on the Middle Tier

Figure 11 - Directory Structure for CarBri on the Middle Tier - View 2

4.5.2 Create carbri.xml - configuration file for Carousel Bridge

Refer Appendix 3 for a sample carbri.xml file. Each element in the configuration file is explained in the table below

Setup Page 14 of 76

Page 19: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Number Element Sample Value How to get the value Typically Modified?

Device 1. ID Device ID defined in Oracle

WMS Responsibility: Warehouse Manager Form: Define Devices Query the device that you are currently setting up. Click on Help > Diagnostics > Examine. Enter the apps password if prompted. Block: DEVICES Field: DEVICE_ID Note the value. This will be the value to be entered in carbri.xml

Y

2. Protocol 2 2 denotes TCP/IP – which is currently supported by CarBri

N

3. JDBCURL jdbc:oracle:thin:@ap6171rt.us.oracle.com:1521:wmsdv11i

This is the JDBC Url where you need to specify the Database hostname, TNS Listener port and Database SID.

Y

4. Simulate No If this element is set to Yes then there is no need to plug in the DS or the PLC to test the Device Integration Framework. If this element is set to No then either the DS or the PLC must be started up and made available on the LAN before starting the CarBri

Y

SocketInfo 5. socketHostName 140.87.204.121 This will be the IP address of the host

where the DS is running or the IP address of the PLC on the network. This setting will take effect only if Simulate is set to No.

Y

6. socketPortNumber 4444 This will be the TCP/IP server listener port. If using the DS then this can be specified as a runtime parameter. If using the PLC then this can be setup-using software usually provided by the PLC vendor.

Y

7. socketLocalPort 5170 This is the only trusted client port from where the TCP/IP server will accept connections. If using the DS then this can be specified as a runtime parameter. If using the PLC then this can be setup-using software usually provided by the PLC vendor.

Y

SerialPortInfo 9. portName COM2 N 10. serialPortTimeOutMillis 5000 N 11. baudRate 9600 N 12. dataBits 8 N 13. stopBits 1 N 14. parity 0 N AppsInfo 15. dbcfile /appmgr/wmsspprjappl/fnd/11.

5.0/secure/ap6171rt_wmsspprj.dbc

On the middle tier look for the DBC file under $FND_TOP/secure. Specify the full path in this element

Y

Setup Page 15 of 76

Page 20: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Number Element Sample Value How to get the value Typically Modified?

16. appsuser MFG Oracle Applications username (With WCS User Responsibility)

Y

17. password WELCOME Oracle Applications password Y 18.

applicationshortname WMS N

19. responsibilitykey WMS_WCS_USER N

4.5.3 Create startup script for the Device Simulator – startDS.sh

This sample DS is configured to listen on port number 4444. The only client that it will allow itself to be connected to is 140.87.204.121 from port number 5170 on the client. On getting ASCII 3 (which identifies end of device request) the DS will respond with a ‘DONE’

##############################Sample startDS.sh############################## #Param 1: TCP Socket Port number on which the DS is listening #Param 2: Trusted Client IP Address #Param 3: Trusted Client IP Port Number #Param 4: ASCII value, which the DS interprets as end of message from carbri #Param 5: Message sent back by DS on receiving end of message identifier java oracle.apps.wms.wcs.device.server.DummyDeviceServer 4444 140.87.204.121 5170 3 DONE ##############################Sample startDS.sh#############################

4.5.4 Create startup script for the CarBri – startCarBri.sh

##############################Sample startCarBri.sh#############################

#Enter the directory where the config file carbri.xml is stored

#setenv WCS_TOP /home/simran/junk/logutr12_CarBri

#In order to see the images correctly on the login screen

#ensure that in the same directory as WCS_TOP, there is a sub-directory

#called 'images'

#with a soft link to the files mentioned below

#You can create a soft link in $WCS_TOP/images by the following commands

#ln -s $FND_TOP/media/appslogo.gif

#ln -s $FND_TOP/media/logo.gif

CLASSPATH=/tmp/patch/wmsspprj_CarBri:$CLASSPATH

java oracle.apps.wms.wcs.carbri.client.CarBriUI

##############################Sample startCarBri.sh#############################

Setup Page 16 of 76

Page 21: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

5. Runtime

5.1 Starting the listener jobs on the WCS layer Log in to EBS with responsibility ‘Warehouse Control System Administrator’. Click on ‘Home’.

Enter Org Code when prompted and click on ‘Choose’.

You will be taken to the WCS Administrator Home. Locate your device and ensure that

• ‘Listener Status’ shows a Green arrow (if it is red, click on it to make it green) • Click on ‘Job Status’ once to start the listener job.

Figure 12 - WCS Administrator Home

To ensure that the listener job is running ok, navigate to Setup tab > Log

Figure 13 - Response Listener status

Note the last updated column. It will give an indication that the job is running on the DB tier and listening for incoming requests.

5.2 Starting the real PLC/DS On the Middle Tier start the DS as shown below. (There will be no output shown on the terminal, but the DS is listening to incoming requests)

Runtime Page 17 of 76

Page 22: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 14 - Start Device Simulator

For starting the PLS TCP/IP listener, please refer the device vendor documentation.

5.3 Starting the CarBri On the Middle Tier, in a different terminal window, start the CarBri as shown below.

Figure 15 - Start CarBri

Click Connect on the CarBri Login Screen.

Runtime Page 18 of 76

Page 23: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 16 - CarBri Login Screen

When the Carousel Bridge has initialized successfully, it should appear as shown below.

Figure 17 - Carousel Bridge Initialized

Runtime Page 19 of 76

Page 24: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

5.4 Initiating a request from the Mobile UI – Example with Miscellaneous Receipt Business Event Connect via a telnet client to the MWA server (get the hostname and port number details from your System Administrator). Login with EBS username/password and responsibility as ‘Whse Mgmt’

Navigate to ‘Tasks > Change Sign-ons’

Enter ‘Organization Code’ when prompted.

Enter ‘Device’

If the device type being used is ASRS, logon to a ‘Work Station’ before logging on to the ASRS Device. For all other Device Types, directly log on to the Device.

Figure 18 – Sign on to a Work Station before logging on to an ASRS

Figure 19 - Sign on to ASRS

From the Main Mobile Menu, navigate to Warehousing > Inventory > Receipts > Misc Receipt

Enter the transaction details and hit Ctrl+P

Note:

This Miscellaneous Receipt is an example of a ‘User-Initiated’ device request. All the transaction details need to be entered by the user and only then can the request be sent to the device based on the Ctrl+P hotkey. There could also be an ‘Auto-invoked’ device request. For e.g. for Business

Runtime Page 20 of 76

Page 25: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

event ‘Pick Load’ if the device is set to auto-invoke true in the ‘Assign Device to Business Events’ form then as soon as the user navigates to the Pick Load page, then the suggested Subinventory/locator, item, qty etc are used to fire a request to the device automatically (no hotkey needed).

Figure 20 - Initiate Device Request from Miscellaneous Receipt mobile UI

Figure 21 - The device request string sent to the DS via the CarBri

Note that in the above figure, the DS responded with a ‘DONE’ (as it was configured to) and the same appears in the WCS Log page shown below.

Runtime Page 21 of 76

Page 26: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 22 - DONE message in Carousel Log

5.5 Simulating a Device Request from CarBri to PLC/DS It is possible to simulate Device Request (from CarBri to DS/PLC) or Device Response (from CarBri to WMS). This step can be used to validate the device directives that are provided by the Device Vendor by testing message sending between the Device Simulator and the PLC and tweaking the WCS Directive settings if needed.

Figure 23 - Simulate from CarBri

Click on Simulate > Device Request and type a message that you wish to send to the DS/PLC. Click ‘Send’

Runtime Page 22 of 76

Page 27: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 24 - Simulate Device Request from CarBri

In the above figure, note that the message is appended with ‘$3$’. This will send and ASCII 3 to the DS/PLC. The DS is configure to respond with a ‘DONE’ on getting an ASCII 3 (which happens as expected)

5.6 Simulating a Device Response from CarBri to Oracle WMS Click on Simulate > Device Response and type a message that you wish to send to WMS. Click ‘Send’

Figure 25 - Simulate Device Response from CarBri

Note that $2$ from the CarBri has been sent to the Database as a CHR(2) – which is the ASCII value of 2. The simulated response can be viewed in the WCS Log shown below.

Runtime Page 23 of 76

Page 28: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

If we set Simulate to Yes in carbri.xml then the CarBri will not send any auto-reply. The user will need to go to menu item 'Simulate' > 'Response' and type the response and hit the 'Send' button so that the message gets sent to the DB. Note that if you want to have an ASCII character (like an ASCII 2) in the response then you should type $2$ followed by a space (if it is in the beginning of a message) or a $2$ with a space before (if the ASCII character is at the end of a message)

e.g.

Message typed in CarBri Simulate > Response dialog window:

$2$ PLT100 PABULK PB1.1.1 500 LOT003 LPN0158 SUCCESS $2$

Here the response message is

PLT100 PABULK PB1.1.1 500 LOT003 LPN0158 SUCCESS

When the user hits the send button then an ASCII 2 will get attached to the front of the message and an ASCII 3 will get attached to the end of the message. In the Carousel Log it will turn up as

CHR(2) PLT100 PABULK PB1.1.1 500 LOT003 LPN0158 SUCCESS CHR(2)

in a form understandable to the DB

Note 1: ASCII 2 is a non-printable character and will show up as � on the CarBri

Note 2: ASCII 2 or 3 or any other character is vendor dependent. It has to be specified in the tech specs by them. The implementer will need to setup the directive_response_query in the WCS layer accordingly. In effect we can support any vendor message structure.

Figure 26 - Simulated Device response on the WCS Log

5.7 Simulating a Device Response from DS to Oracle WMS via CarBri Type a response message on the DS terminal window and hit ‘Enter’. You will see the same message on the CarBri as shown below.

Runtime Page 24 of 76

Page 29: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 27 - Simulated Response from DS to CarBri

The same will be reflected on the WCS Log as shown below.

Figure 28 - Simulated Device Response from DS to WCS Log

After this step, the DS can be replaced seamlessly by the real PLC (by changing the socketHostName in carbri.xml - to point to the IP address of the PLC instead of the DS)

The system will be fully functional when all the directives supported by the Device are setup correctly in the steps described above.

Runtime Page 25 of 76

Page 30: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

6. Application Monitoring

6.1 WCS Administrator Home The WCS Administrator from the Home Page can monitor the Application.

The Administrator can

• Monitor the directives for each individual device • Get a graphical representation of the same • Monitor the Employees and the Devices they are currently signed on to • Sign off users from any device if needed • Check standard Workflow Notifications

Figure 29 - WCS Administrator Home

6.2 WCS Directive Queue The Administrator can navigate to this screen by clicking an item in the Message Status Table for a particular device on the WCS Home Page or navigate via Setup > Directive Queue

Application Monitoring Page 26 of 76

Page 31: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 30 - WCS Directive Queue

Note that a WCS directive record can have one of 5 statuses – Pending, Current, Success, Failure or Cancelled. Each of these statuses for a record in the Directive Queue table is explained briefly below:

• Pending: This is the initial status of a record in the Directive Queue table • Current: This is the status of the record when the request has been sent to the Device and

WCS is waiting for a response • Success: This is the status of the record when the device has sent a response message,

which exactly matches the expected response configured in WCS. If the device is not expected to send a response back to WCS, then the record is directly marked as ‘Success’ after sending the request message to the device.

• Failure: This is the status of the record when one of the following occurs – a response message is received by the WCS from the device which does not match the expected response or the maximum request attempts (configurable in WCS as DIRECTIVE MAX ATTEMPTS) are reached or there is no response from the device for a time period more than the timeout (Configurable in WCS as DIRECTIVE RESPONSE TIMEOUT)

• Cancelled: The WCS Administrator can choose to cancel any directive at any point. Such records are updated in the queue table with a status of ‘Cancelled’. They will not be processed when sending messages to the device.

6.3 WCS Log Whether or not the WCS Log will get written will be governed by the standard INV Debug profile.

Application Monitoring Page 27 of 76

Page 32: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 31 - WCS Log

Application Monitoring Page 28 of 76

Page 33: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

7. Trouble Shooting

7.1 I get an exception when I try to run startCarBri.sh Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using 'localhost.0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.access$000(X11GraphicsEnvironment.java:53) at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:142) at java.security.AccessController.doPrivileged(Native Method) at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:164) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68) at java.awt.Window.init(Window.java:270) at java.awt.Window.<init>(Window.java:318) at java.awt.Frame.<init>(Frame.java:419) at oracle.apps.wms.wcs.carbri.client.CarBriUI.<init>(CarBriUI.java:39)

at oracle.apps.wms.wcs.carbri.client.CarBriUI.main(CarBriUI.java:415)

Solution:

Set the value of the Environment Variable DISPLAY correctly

e.g.,

setenv DISPLAY 144.25.77.219:240.0

startCarBri.sh

7.2 I hit a Control-P from the telnet UI but I do not see a device request on the CarBri Solution:

Check the Directive Request Query for syntactic correctness

Check that the device ID in carbri.xml matches the Device, which is initiating the request.

7.3 The Carousel Log does not get written Solution:

Enable the INV Debug profile before using WCS.

Trouble Shooting Page 29 of 76

Page 34: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

7.4 Get the message NULL Query and hence doing nothing

Figure 32 - NULL Query Issue on the Carousel Log

Solution:

Ensure that the Directive Name is not too long (it has a limit of 16 characters).

e.g.

Directive name setup as SEND_DELETE_WAVE_014 will result in an error shown above.

Directive name setup as PAN_014 will work fine.

7.5 Unable to start more than 2 WCS device listeners Run the following query. Notice that the default value for parameter job_queue_processes is 2.

Trouble Shooting Page 30 of 76

Page 35: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

At the SQL* Prompt SET JOB_QUEUE_PROCESSES to at least the number of devices (Check with the DBA on the number of processes permitted for the current user)

On the WCS Admin Home Page, click on Stop all Jobs

Trouble Shooting Page 31 of 76

Page 36: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Click on Recreate All Jobs

Click on Start All Jobs

Trouble Shooting Page 32 of 76

Page 37: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Query the Carousel Log on the Setup tab without any query criteria

Trouble Shooting Page 33 of 76

Page 38: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Here you would be able to see all the listeners (corresponding to each device) up and running.

Trouble Shooting Page 34 of 76

Page 39: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

8. Document Reference

8.1 Current Document References

Document Name Comments

Release 11i10 Consolidated Update 1 (CU1) Oracle Supply Chain Management

Version: 1.0 Section 3.2.2.4 Built-in Material Handling Control System (WCS)

Oracle® Warehouse Management User’s Guide Release 11i Explaining Material Handling Devices Pages 6-26 to 6-41

8.1.1 Historical Document References

Author Document Name URL

Paul Taylor Oracle Warehouse Management System Material Handling Device Integration Kit

https://metalink.oracle.com/cgi-bin/cr/getfile.cgi?p_attid=151811.1:283345

Document Reference Page 35 of 76

Page 40: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

9. Appendix 1 – List of WMS Business Events • Cycle Count • Direct Receipt • Inspection • Misc/Acct Receipt • Misc/Acct Issue • Move Order Task Allocation • Organization Transfer • Pick Load • Pick Drop • Pick Release • Putaway Drop • Ship Confirm • Standard/Inspection Receipt • Subinventory Transfer • Task Cancel • Task Complete • Task Confirm • Task Skip • Truck Load • Truck Load and Ship • WIP Pick Release

Note 1:

Till 11.5.10CU1 there is no capability for WCS to provide a response to complete the functional WMS transaction. We do have the task confirmation API but is it limited in the business events that it can be used to confirm. For the workaround refer Appendix 2 under Configuration Parameter DIRECTIVE EXECUTE ACTION. That is an example of how to complete a WMS functional flow (Org transfer in this case) at the end of processing a set of device directives for moving the material.

Note 2:

There are a number of autonomous systems provided by various device vendors which function as Autonomous Cycle Counting systems (No request needs to be sent from the ERP system before the MHE comes back with the results of the Cycle Count). Such systems can be supported once there is an open API provided by Oracle WMS for Cycle Counting. This is not currently supported and is planned for a future release.

Appendix 1 – List of WMS Business Events Page 36 of 76

Page 41: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

10. Appendix 2 – WCS Configuration settings – explained These are the details of the settings that the WCS Administrator needs to perform before using WCS functionality of Oracle WMS. The mandatory setups have been marked with a ‘Y’

Configuration Parameter Functional Description Mandatory Default

Value DEVICE ACCESS TIMEOUT

Placeholder for future enhancement N

DEVICE ACCESS TYPE Placeholder for future enhancement N

DIRECTIVE NAME

There should be at least one Directive defined for a device type, business event, and sequence combination. This Directive will have a corresponding Request/Response query.

Y --

DIRECTIVE CASCADE FAILURE

If set to 'Y' and if the current directive fails due to max attempts reached, then the rest of the directives in sequence too get marked as failed.

N

DIRECTIVE DEPENDENCY SEG ID

This config parameter is to configure a certain block of directives fire only when an earlier block of directives has completed. This config parameter is used to define the segment locator to start the comparison in determining the sequence id dependency. This is not used unless the DIRECTIVE DEPENDENCY SEQ ID is set and active.

N --

DIRECTIVE DEPENDENCY SEQ ID

This config parameter is to setup a list of dependent directives to execute in a particular order.

N --

DIRECTIVE DEVICE ID

If the value of this parameter is set then the device id stamped in the directive queue record will be sourced from this configuration setting for the business event, sequence, and device type combination. If this value is NULL then the value of the task device id will be utilized.

N

DIRECTIVE ERROR 1

A device directive will succeed in 1 way; but may fail in many different ways. This is a configuration setting, which will allow the user to configure the directive error message that can be coming back from the device. Note: Directive Error Name is configurable, but the action that is supposed to happen when the directive errors is not configurable. This could be reserved for later with the Edge Server and BRM (Business Rules Manager) coming into the picture.

N

DIRECTIVE ERROR 2 -Do- N

DIRECTIVE ERROR 3 -Do- N

DIRECTIVE -Do- N

Appendix 2 – WCS Configuration settings – explained Page 37 of 76

Page 42: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

ERROR 4 DIRECTIVE ERROR 5 -Do- N

DIRECTIVE EXECUTE ACTION

If a particular directive has this configuration value set to 'Y', when we fire the device request, then instead of sending a directive to the DBMS PIPE, we will do an execute immediate for that directive. A good example for this is when the user wishes to perform an Organization transfer as the last step in a sequence of 5 device directives. He can set up the last directive with the Directive Execute Action set to 'Y' and for that Directive Request Query, he will make an API call for the Organization Transfer. With this approach, we do not need any code changes to support different APIs that may need to get called at the directive level for each different Customer-Device Vendor configurations (the directives are Device Vendor dependent)

N N

DIRECTIVE MAX ATTEMPTS

This configuration is to set the maximum number of times that WMS will try to send a directive to the device (without getting a response) before marking the directive as a Failure in the queue table. By default, we will try to send the directive 3 times.

N 3

DIRECTIVE PAUSE DELAY

Configurable parameter to slow down the application at directive request level if the hardware is unable to keep pace. The delay specified for this configuration value will be in seconds. There are some devices, which have a response times varying between 50 milliseconds and a few seconds. By making this a configurable parameter, WMS can support very fast and relatively slow devices. By default, the value for this configuration is set to 0.

N 0

DIRECTIVE PIPE NAME

If the value of this parameter is set then the pipe name stamped in the directive queue record will be sourced from this configuration setting for the business event, sequence, device type combination. If this value is NULL then the value of the pipe name will be taken from the PIPE_NAME configuration value.

N

DIRECTIVE QUEUE STATUS

A good example is the locator full scenario, where we are using the ASRS to Putaway material to a locator, which is Full. The device returns an error condition and we want an alternate directive to fire. These are called fallback directives. These are set to be initially in Cancelled state ('X') and will become Current ('C') only when the previous directive has failed with a 'FULL' condition. This fallback directive will fire and route the material from the ASRS to an Exceptions station where the Supervisor can take corrective action. If this is not set, then the default will be 'P' Pending. For fallback directives, this should be set to 'X' Cancelled.

N P

DIRECTIVE QUEUE UPDATE

When we try to update the directive queue table to any status (Current/Failure/Pending/Success/Cancelled), we will take the

N

Appendix 2 – WCS Configuration settings – explained Page 38 of 76

Page 43: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

device type, business event, sequence combination and query this configuration setting. This will yield the Directive that we are trying to narrow down and update in the queue table. (The 3rd directive should not be marked as a Success when we get a response for the 1st directive) This is applicable only when we need to make use of dependent directives.

DIRECTIVE REQUEST QUERY

This can be a query or an API call (provided Directive Execute Action is set to 'Y'). At runtime, WMS will perform an execute immediate on this configuration value, populate the directive queue table and fire the request to the DBMS PIPE on which the Carousel Bridge is listening.

Y --

DIRECTIVE RESPONSE QUERY

This will be the response that we are expecting back from the device. If the actual response matches the one that we are expecting then the directive queue record will be marked as a success.

Y

DIRECTIVE RESPONSE TIMEOUT

This configuration setting is to control the number of seconds that the 'Current' directives in the queue table should remain in that state before timing out. By default, the timeout delay is 20 seconds.

N 20

PIPE LISTENER SWITCH

This configuration serves as the 'ON/OFF' switch for the DBMS job which is listening to the responses coming back from the device (there will be one job per device). At runtime, when the WCS Administrator tries to create a new job from the OAF Home then this configuration setting will be created in the configuration table and the value is defaulted to 'ON'. From the UI, if the Administrator wishes to suspend the job then, he can click a UI control, which set this configuration to 'OFF'. The UI control serves as a toggle and can be used to turn the listener ON or OFF any number of times.

N ON

PIPE NAME

There will be 2 pipes associated with each device. They will be OUT_<PIPE_NAME> and IN_<PIPE_NAME> See Section 6.3 schematic diagram. The value for this configuration parameter should be set to the Device Id (in the Define Devices form) and the sequence should also be set to the device id. If this configuration does not exist when the WCS Administrator tries to start a listener job on the DB then there will be a PIPE_NAME configuration created in the config table with the default value as the device id for which he is trying to start the DBMS JOB.

N Device Id

PIPE TIME OUT

Inside the listener process, when we call the DBMS PIPE.receive_message API then we need to specify a pipe timeout period. If there is no record in the config table then the default value is taken as 5 seconds.

N 5

QUEUE PURGE The directive queue table can grow very quickly. Every time we N 3600

Appendix 2 – WCS Configuration settings – explained Page 39 of 76

Page 44: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

INTERVAL process the directive queue, we also purge the queue. All records with status Success, Failure, Pending are candidates for purging. How often we need to purge can be configured using this parameter. By default, we will purge the records once every hour. Note: If there are dependent directives and at least one of them is a fallback directive then the queue_purge_interval should be set to a high value. Otherwise, the fallback directives, which have the status ‘Cancelled’ to start with will get purged before the earlier directive, can fail.

TASK ADDR

This configuration parameter is set at device type and business event level. This will be utilized be the Carousel Bridge component when it writes to the IN Pipe. It will write to things to the pipe, the TASK_ADDR and the actual response string. This is for backward compatibility, where some devices need to identify the hardware needs to identify itself to WMS as the source of the response.

N --

TASK ALTERNATIVE SEGMENT

Unused N

TASK GROUP

This parameter is used to control task grouping at the time of processing the request. If this parameter is set to 'T' then skip the whole group of tasks. This ensures that it is an all or nothing condition. Using this parameter it is possible to control the load on a device (requests / hour)

N F

TASK ZONE For a device type and business event, this can be configured. This will get stamped on the Directive queue record. But later in the code it is unused.

N --

Appendix 2 – WCS Configuration settings – explained Page 40 of 76

Page 45: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

11. Appendix 3 – Sample carbri.xml Given below is a sample carbri.xml file. This controls the runtime behavior of the CarBri Middleware. Typically modified element values are highlighted in bold red.

<?xml version="1.0" encoding="windows-1252" ?>

<CarBriSetup>

<Device>

<ID>12</ID>

<Protocol>2</Protocol>

<JDBCURL>jdbc:oracle:thin:@ap6171rt.us.oracle.com:1521:wmsdv11i</JDBCURL>

<Simulate>No</Simulate>

</Device>

<SocketInfo>

<socketHostName>140.87.204.121</socketHostName>

<socketPortNumber>4444</socketPortNumber>

<!—This is the Trusted Client Port Number -->

<socketLocalPort>5170</socketLocalPort>

</SocketInfo>

<SerialPortInfo>

<portName>COM2</portName>

<serialPortTimeOutMillis>5000</serialPortTimeOutMillis>

<baudRate>9600</baudRate>

<dataBits>8</dataBits>

<stopBits>1</stopBits>

<parity>0</parity>

</SerialPortInfo>

<AppsInfo>

<dbcfile>/appmgr/wmsspprjappl/fnd/11.5.0/secure/ap6171rt_wmsspprj.dbc</dbcfile>

<appsuser>MFG</appsuser>

<password>WELCOME</password>

<applicationshortname>WMS</applicationshortname>

<responsibilitykey>WMS_WCS_USER</responsibilitykey>

</AppsInfo>

</CarBriSetup>

Appendix 3 – Sample carbri.xml Page 41 of 76

Page 46: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

12. Appendix 4 – Case Study

12.1 Schematic Process Flow configured for Pick Load Business Event Here is a scenario, which is more complex and is closer to what you would typically expect at a Customer site.

Figure 33 - Real life MHE Integration Scenario

In the scenario illustrated above, a user signs-on to a workstation (there are typically 3-4 workstations) and an ASRS Crane. The user initiates a device request to perform a ‘Pick Load’ Business event. This sets off a chain of directives to be sent to two devices (ASRS Crane and Sortation Conveyor), in a controlled fashion so that they work in tandem to complete the ‘Pick Load’ operation without the user having to move from his workstation.

In this Business use case we will make use of the Recommended Implementation Strategy elucidated in Section 3.3

12.1.1 Identify the WMS Business events

Identify the WMS Business events in the Business process where a device will be invoked. (Refer Appendix 1 for list of WMS Business events). In the present use case the WMS Business event being implemented is ‘Pick Load’

Appendix 4 – Case Study Page 42 of 76

Page 47: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

12.1.2 Setup Devices in Oracle WMS and assign them to appropriate Business Event/s

Refer Oracle Warehouse Management System Material Handling Device Integration Kit for the standard Device setup (Creating Devices in Oracle WMS and assigning them to the appropriate business event). In the present use case,

Figure 34 - Subinventory setup

Figure 35 - Use Case 1 - Define Devices

Figure 36 - Assign Device 'ASRS Crane 1' to Pick Load Business Event

Appendix 4 – Case Study Page 43 of 76

Page 48: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

12.1.3 Procure information Device Request/Response message structure

Procure information from the device Vendor about the Device Request message structure that the device understands. After perusing the technical specifications supplied by the device vendor, we are in a position to fill the following table. This would be helpful in creating the WCS Configuration settings.

12.1.4 Map the WMS business event with the Device Request Message

Map the WMS business event with the Device Request Message. (One WMS Business event may map to more than one Device-level directive)

Note: For a device type-business event-sequence id combination, if DIRECTIVE_EXECUTE_ACTION is set to ‘Y’ then the contents of ‘DIRECTIVE_REQUEST_QUERY’ will be executed at the time of firing a request. This feature can be made use of to call a PL/SQL API or execute an anonymous PL/SQL block.

Else if DIRECTIVE_EXECUTE_ACTION is not set or set to ‘N’ then there is no API call made. Instead the Request Message is sent to the Device via the CarBri.

This is detailed in Column 3 of the table below.

Also note that the directives in red italics are initially set to ‘Cancelled’ using the directive queue status. They are activated at runtime if some directive upstream fails (and that upstream directive has Directive Cascade failure set to ‘N’)

Figure 37 - Sample directive settings based on tech specs for an ASRS and Sortation Conveyor

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

DIRECTIVE_QUEUE_STATUS is X (cancelled) to start with. This can be reset to P (pending) and then when the Device request is fired, this directive will take effect and update the queue table and insert into the log table. If DIRECTIVE_QUEUE_STATUS is not set then the default value is taken as P If Directive RESET_ATTEMPTS fails then the rest of the directives must not fail. So DIRECTIVE_CASCADE_FAILURE must be set to N At runtime no messages are to be sent. Rather an anonymous PL/SQL program unit is to be called. DIRECTIVE_EXECUTE_ACTION is set to Y

1 RESET_ATTEMPTS

Execute Code

What: Resets attempts and last update on the Directive queue table for 3 business events. Also inserts a record in the Carousel Log table Why: For a trial run during testing, the PLC needs to be reset so that the consultant can create a fresh environment for the PLC to function. This optional directive

This directive is to be attempted only once. If it fails after the first attempt it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 1.

Appendix 4 – Case Study Page 44 of 76

Page 49: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

invokes any PL/SQL code that may need to be invoked at the time of initialization.

We are to wait for 1 second for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 1.

If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y Since this is a call to an API set DIRECTIVE_EXECUTE_ACTION to Y This directive is to be attempted only once. If it fails after the first attempt it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 1. This directive is always supposed to fire. It should not be in cancelled state to start with. Set DIRECTIVE_QUEUE_STATUS to P

2 RESET_ROUTE Execute Code

What: Calls an API reset_directive_execution Why: When there is an alternative route needed by a tote due to an unexpected full slot, there can be an API setup with this directive to suggest an alternative destination for the tote (usually the Exceptions Station)

We are to wait for 1 second for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 1. If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y This directive is to be tied to the next 2 directives. This will comprise a set of dependent directives. i.e., The request for the second directive should fire only when the first directive is marked as a success. Since there are 3 directives in the dependent set the DIRECTIVE_DEPENDENCY_SEG_ID to 1,2,3

10 PickASRS_61_71 Send Message

What: Fires the request message to the ASRS_C1 to PICK from Rack and Load shuttle Why: This is a step in the series of messages to be sent to the device for making the various parts of the device to perform in tandem. This will be in

_61,1,__,0000,DONE00,,AS1.1.1._

This directive is the first in the set of 3 dependent directives. Set the DIRECTIVE_DEPENDENCY_SEQ_ID to 10

Appendix 4 – Case Study Page 45 of 76

Page 50: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

This directive is to be attempted 20 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 20. This directive is always supposed to fire. It should not be in cancelled state to start with. Set DIRECTIVE_QUEUE_STATUS to P

accordance with the message structure published by the device vendor.

We are to wait for 60 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 60. If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y This directive is to be attempted 20 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 20. This directive is always supposed to fire. It should not be in cancelled state to start with. Set DIRECTIVE_QUEUE_STATUS to P

20 Divert4SHT_63_72

Send Message

What: Fires a request to DIVERT to Exit the Crane / Unload the Shuttle Why: This is a step in the series of messages to be sent to the device for making the various parts of the device to perform in tandem. This will be in accordance with the message structure published by the device vendor.

�63,1,13,0000,DIVERT,,AS1.1.1.�

_63,1,__,0000,DONE00,,AS1.1.1._

We are to wait for 60 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 60.

30 RESETSCAN_00_75

Send Message

What: This is the reset scan for the tote. Why: This is a reset

_75,6,16,0000,DONE00,,0000.00.0.

0000_

If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y

Appendix 4 – Case Study Page 46 of 76

Page 51: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

The request message should be routed to the CarBri corresponding the CarBri for the Conveyor. (There is one CarBri for every device defined in WMS) Set the DIRECTIVE_DEVICE_ID to 41 This is the Device ID from the Define Devices form for the Sortation conveyor SORT_1. (If DIRECTIVE_DEVICE_ID is not set then the request will be sent by default to the ASRS_C1 device.) This directive is to be attempted 240 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 240. DIRECTIVE_PIPE_NAME must be set to the same value as DIRECTIVE_DEVICE_ID – 41 in this case. DIRECTIVE_QUEUE_STATUS is X (cancelled) to start with. This can be reset to P (pending) at runtime and then when the Device request is fired, this directive will take effect. If DIRECTIVE_QUEUE_STATUS is not set then the default value is taken as P

message specific to a scanner (as specified by the vendor)

We are to wait for 30 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 30. When a ‘Cancel Task’ is performed, there should be a way to isolate all the records, which are candidates to be marked with X (Cancelled). The way to accomplish this is to set the DIRECTIVE_CANCEL_TASK to Divert2WS_63_64 (same as the Directive).

40 Divert2WS_63_64

Send Message

What: Fires a request to DIVERT to Sortation conveyor Why: This is one of the messages that needs to be sent in the message sequence to route the tote from the

�63,6,06,0000,DIVERT,,AS1.1.1.�

_63,6,__,0000,DONE00,,AS1.1.1._

If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y

Appendix 4 – Case Study Page 47 of 76

Page 52: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

When a ‘Complete Task’ is performed, there should be a way to isolate all the records, which are candidates to be marked with S (Success). The way to accomplish this is to set the DIRECTIVE_COMPLETE_TASK to Divert2WS_63_64 (same as the Directive). The request message should be routed to the CarBri corresponding the CarBri for the Conveyor. (There is one CarBri for every device defined in WMS) Set the DIRECTIVE_DEVICE_ID to 41 This is the Device ID from the Define Devices form for the Sortation conveyor SORT_1. (If DIRECTIVE_DEVICE_ID is not set then the request will be sent by default to the ASRS_C1 device.) This directive is to be attempted 15 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 15. DIRECTIVE_PIPE_NAME must be set to the same value as DIRECTIVE_DEVICE_ID – 41 in this case. This directive is always supposed to fire. It should not be in cancelled state to start with. Set DIRECTIVE_QUEUE_STATUS to P We are to wait for 120 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 120.

ASRS to the Pick Station.

When a ‘Skip Task’ is performed, there should be a way to isolate all the records, which are candidates to be marked with X (Cancelled). The way to accomplish this is to set the DIRECTIVE_SKIP_TASK to Divert2WS_63_64 (same as the Directive).

Appendix 4 – Case Study Page 48 of 76

Page 53: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

When a ‘Cancel Task’ is performed, there should be a way to isolate all the records, which are candidates to be marked with X (Cancelled). The way to accomplish this is to set the DIRECTIVE_CANCEL_TASK to TaskComplete44 (same as the Directive). If Directive TaskComplete44 fails then the rest of the directives must not fail. So DIRECTIVE_CASCADE_FAILURE must be set to N When a ‘Complete Task’ is performed, there should be a way to isolate all the records, which are candidates to be marked with S (Success). The way to accomplish this is to set the DIRECTIVE_COMPLETE_TASK to TaskComplete44 (same as the Directive). The request message should be routed to the CarBri corresponding the CarBri for the Conveyor. (There is one CarBri for every device defined in WMS) Set the DIRECTIVE_DEVICE_ID to 41 This is the Device ID from the Define Devices form for the Sortation conveyor SORT_1. (If DIRECTIVE_DEVICE_ID is not set then the request will be sent by default to the ASRS_C1 device.)

44 TaskComplete44 Send Message

What: This fires the last directive to get the LPN to the Workstation where the operator is stationed Why: To indicate the the ERP system that the task is done.

_99,6,16,0000,TC0000,LPN26A,0000.00.0.000

0_

This directive is to be attempted 9 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 9.

DIRECTIVE_PIPE_NAME must be set to the same value as DIRECTIVE_DEVICE_ID – 41 in this case.

Appendix 4 – Case Study Page 49 of 76

Page 54: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

This directive is always supposed to fire. It should not be in cancelled state to start with. Set DIRECTIVE_QUEUE_STATUS to P We are to wait for 400 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 400.

When a ‘Skip Task’ is performed, there should be a way to isolate all the records, which are candidates to be marked with S (Success). The way to accomplish this is to set the DIRECTIVE_SKIP_TASK to TaskComplete44 (same as the Directive). If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y

The request message should be routed to the CarBri corresponding the CarBri for the Conveyor. (There is one CarBri for every device defined in WMS) Set the DIRECTIVE_DEVICE_ID to 41 This is the Device ID from the Define Devices form for the Sortation conveyor SORT_1. (If DIRECTIVE_DEVICE_ID is not set then the request will be sent by default to the ASRS_C1 device.) DIRECTIVE_PIPE_NAME must be set to the same value as DIRECTIVE_DEVICE_ID – 41 in this case.

50 NULL4SCAN_00_75

Send Message

What: Fires a null request and expects a response containing the LPN information to come back from the device for the LPN scan event from the Sortation Conveyor Why: This message is needed to initiate a scan event from the sortation conveyor.

_75,6,16,0000,DONE00,LPN30B,0000.00.0.000

0_

This directive is always supposed to fire. It should not be in cancelled state to start with. Set DIRECTIVE_QUEUE_STATUS to P

Appendix 4 – Case Study Page 50 of 76

Page 55: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

We are to wait for 30 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 30. If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y The request message should be routed to the CarBri corresponding the CarBri for the Conveyor. (There is one CarBri for every device defined in WMS) Set the DIRECTIVE_DEVICE_ID to 41 This is the Device ID from the Define Devices form for the Sortation conveyor SORT_1. (If DIRECTIVE_DEVICE_ID is not set then the request will be sent by default to the ASRS_C1 device.) This directive is to be attempted 15 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 15. DIRECTIVE_PIPE_NAME must be set to the same value as DIRECTIVE_DEVICE_ID – 41 in this case.

60 Divert2ASRS63_64

Send Message

What: Sends the directive to DIVERT the LPN to the ASRS Why: This is one of the steps in the series of operations to be performed in the entire ASRS pick cycle. This is in accordance with the message structure specified by the Device Vendor.

�63,6,05,0000,DIVERT,,AS1.1.1.�

_63,6,05,0000,DONE00,,AS1.1.1._

We are to wait for 120 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 120. If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y

70 PICK2CS_61_71 Send Message

What: Sends the second part of the directive to route the LPN to the Crane Why: This is one of the steps in the series of operations to

_61,1,__,0000,DONE00,,AS1.1.1._

This directive is to be attempted 20 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 20.

Appendix 4 – Case Study Page 51 of 76

Page 56: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

be performed in the entire ASRS pick cycle. This is in accordance with the message structure specified by the Device Vendor.

We are to wait for 60 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 60.

If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y This directive is to be attempted 20 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 20.

80 PUT4SHT_62_72 Send Message

What: Sends the directive to PUTAWAY the LPN to the Load Shuttle Why: This is one of the steps in the series of operations to be performed in the entire ASRS pick cycle. This is in accordance with the message structure specified by the Device Vendor.

�62,1,09,0000,PUTAWY,,AS1.1.1.�

_62,1,__,0000,DONE00,,AS1.1.1._

We are to wait for 60 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 60.

If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y

90 TOTE4SHT_63_72

Send Message

What: If the directives that are ahead in the queue fail and they are set to Directive Cascade Failure N then these directives can be fired.

�63,1,1,13,,DIVERT,LPN103A,AS1.1.1.�

_63,1,__,0000,DONE00,LPN34A,AS1.1.1.

_

This directive is to be attempted 20 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 20.

Appendix 4 – Case Study Page 52 of 76

Page 57: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

DIRECTIVE_QUEUE_STATUS is X (cancelled) to start with. This can be reset to P (pending) at runtime and then when the Device request is fired, this directive will take effect. If DIRECTIVE_QUEUE_STATUS is not set then the default value is taken as P

These are termed as the fallback directives or Plan B directives. Why: This is a provision for a fallback plan.

We are to wait for 60 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 60. If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y The request message should be routed to the CarBri corresponding the CarBri for the Conveyor. (There is one CarBri for every device defined in WMS) Set the DIRECTIVE_DEVICE_ID to 41 This is the Device ID from the Define Devices form for the Sortation conveyor SORT_1. (If DIRECTIVE_DEVICE_ID is not set then the request will be sent by default to the ASRS_C1 device.) This directive is to be attempted 20 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 20.

We are to wait for 60 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 60.

100 Send Message

What: Sends the second part of the directive to the Sortation Conveyor for step 2 of Plan B Why: This is part of the fallback plan.

�63,6,06,0001,DIVERT,LPN34A,AS1.1023.21.�

_63,6,__,0000,DONE00,LPN34A,AS1.21.3

45._

DIRECTIVE_QUEUE_STATUS is X (cancelled) to start with. This can be reset to P (pending) at runtime and then when the Device request is fired, this directive will take effect. If DIRECTIVE_QUEUE_STATUS is not set then the default value is taken as P

Appendix 4 – Case Study Page 53 of 76

Page 58: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

DIRECTIVE_PIPE_NAME must be set to the same value as DIRECTIVE_DEVICE_ID – 41 in this case. If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y This directive is to be attempted 20 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 20. DIRECTIVE_QUEUE_STATUS is X (cancelled) to start with. This can be reset to P (pending) at runtime and then when the Device request is fired, this directive will take effect. If DIRECTIVE_QUEUE_STATUS is not set then the default value is taken as P

110 FullASRS_61_71 Send Message

What: This kicks off the chain of events when the ASRS is FULL Why: If the storage location is full then the system must be setup to handle such an eventuality. This is the means of achieving it.

_61,0,__,0000,DONE00,0F0000,AS1.1090.

21._

We are to wait for 60 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 60. If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y This directive is to be attempted 15 times. If it fails after that it is to be marked as a failure. So set DIRECTIVE_MAX_ATTEMPTS to 15.

120 Full4SHT_63_72 Send Message

What: This directive will be fired when the shuttle is full and the remaining directives need to wait for sometime so that they can make use of the shuttle Why: This is to handle the queue when many totes are vying to be put onto the shuttle

�63,8,13,0000,DIVERT,8F0000,AS1.1098.23.�

_63,4,__,0000,DONE00,4F0000,AS1.1034.

23._

DIRECTIVE_QUEUE_STATUS is X (cancelled) to start with. This can be reset to P (pending) at runtime and then when the Device request is fired, this directive will take effect. If DIRECTIVE_QUEUE_STATUS is not set then the default value is taken as P

Appendix 4 – Case Study Page 54 of 76

Page 59: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Seq. No.

Directive For request: Send Message or Execute code

What does it do and why?

Sample Request Message

Sample Response Message

Comments on WCS settings

before moving on to the ASRS locator.

We are to wait for 60 seconds for a response. Set DIRECTIVE_RESPONSE_TIMEOUT to 60. If this directive fails then the rest of the directives in queue should also fail. For this feature, set DIRECTIVE_CASCADE_FAILURE to Y The request message should be routed to the CarBri corresponding the CarBri for the Conveyor. (There is one CarBri for every device defined in WMS) Set the DIRECTIVE_DEVICE_ID to 41 This is the Device ID from the Define Devices form for the Sortation conveyor SORT_1. (If DIRECTIVE_DEVICE_ID is not set then the request will be sent by default to the ASRS_C1 device.) DIRECTIVE_PIPE_NAME must be set to the same value as DIRECTIVE_DEVICE_ID – 41 in this case.

130 Send Message

What: This will send the second part of the directive to the device for the Shuttle Full message Why: This is needed to indicate to any incoming requests for occupation of the shuttle by totes [via scans]. This will indicate to the totes whether they can occupy the shuttle or not.

�63,6,06,0000,DIVERT,5F0000,AS1.1025.25.�

_63,6,__,0000,DONE00,4F0000,AS1.1304.

20._

DIRECTIVE_QUEUE_STATUS is X (cancelled) to start with. This can be reset to P (pending) at runtime and then when the Device request is fired, this directive will take effect. If DIRECTIVE_QUEUE_STATUS is not set then the default value is taken as P

Appendix 4 – Case Study Page 55 of 76

Page 60: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

12.1.5 Use the WCS Administrator responsibility to detail the request structure for each device-level directive

These changes are to be done on the screen shown in “Figure 9 - WCS Configuration Settings”. The values that are to be filled up in this configuration table will be as discussed in the previous section (based on the technical specifications of the device messages provided by the device vendor and after mapping the appropriate directives to the WMS Business Events)

Appendix 4 – Case Study Page 56 of 76

Page 61: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Name Value Device Type

Seq Id

Biz Event

Active Ind

DIRECTIVE RESET_ATTEMPTS ASRS 1 Pick Load Y

DIRECTIVE_CASCADE_FAILURE N ASRS 1 Pick Load Y

DIRECTIVE_EXECUTE_ACTION Y ASRS 1 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 1 ASRS 1 Pick Load Y

DIRECTIVE_QUEUE_STATUS X ASRS 1 Pick Load Y

DIRECTIVE_REQUEST_QUERY

select 'declare ' ||chr(10)||'l_dummy number;' ||chr(10)||'pragma autonomous_transaction; ' ||chr(10)||'begin ' ||chr(10)||'UPDATE WMS_CAROUSEL_DIRECTIVE_QUEUE SET ATTEMPTS = 0, LAST_UPDATE_DATE = SYSDATE, LAST_ATTEMPT = SYSDATE WHERE BUSINESS_EVENT_ID IN (3,5,10) AND SEQUENCE_ID > 1 AND REQUEST_ID = '|| request_id||' AND -99 != :P_REQUEST_ID AND -99 != :P_TASK_ID; ' ||chr(10)||'insert into wms_carousel_log (carousel_log_id,text,device_id,last_update_date,last_updated_by, creation_date,created_by,last_update_login) values (wms_carousel_log_s.nextval,'||'''RESET ATTEMPTS at request: '|| request_id||''''||',12,sysdate,-1,sysdate,-1,-1); ' ||chr(10)||'COMMIT; ' ||chr(10)||'end; ' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 1 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 1 ASRS 1 Pick Load Y

DIRECTIVE RESET_ROUTE ASRS 2 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 2 Pick Load Y

DIRECTIVE_EXECUTE_ACTION Y ASRS 2 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 1 ASRS 2 Pick Load Y

DIRECTIVE_QUEUE_STATUS P ASRS 2 Pick Load Y

DIRECTIVE_REQUEST_QUERY select 'declare ' ||chr(10)||'l_dummy varchar2(32);' ||chr(10)||'begin '

ASRS 2 Pick Load Y

Appendix 4 – Case Study Page 1 of 76

Page 62: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

||chr(10)||'select * INTO l_dummy from dual where -99 != :p_request_id and -99 != :p_task_id; ' ||chr(10)||'reset_directive_execution('||request_id||','||''''||lpn||''''||'); ' ||chr(10)||'end; ' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

DIRECTIVE_RESPONSE_TIMEOUT 1 ASRS 2 Pick Load Y

DIRECTIVE PickASRS_61_71 ASRS 10 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 10 Pick Load Y

DIRECTIVE_DEPENDENCY_SEG_ID 1,2,3 ASRS 10 Pick Load Y

DIRECTIVE_DEPENDENCY_SEQ_ID 10 ASRS 10 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 20 ASRS 10 Pick Load Y

DIRECTIVE_QUEUE_STATUS P ASRS 10 Pick Load Y

DIRECTIVE_RESPONSE_QUERY

select '_61,' || substr(nvl(SEGMENT2,'C0'),length(nvl(SEGMENT2,'C0')),1) ||',__,'|| lpad(nvl(SEGMENT4,'0'),4,'0') || ',DONE00,'||LPN||','||SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'|| SEGMENT4||'_' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 10 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 60 ASRS 10 Pick Load Y

DIRECTIVE Divert4SHT_63_72 ASRS 20 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 20 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 20 ASRS 20 Pick Load Y

DIRECTIVE_QUEUE_STATUS P ASRS 20 Pick Load Y

DIRECTIVE_REQUEST_QUERY

select chr(2)||'63,'|| substr(nvl(SEGMENT2,'C0'),length(nvl(SEGMENT2,'C0')),1) ||','|| lpad(decode(substr(nvl(SEGMENT1,'0Q'),2,1),'Q', decode(nvl(SEGMENT3,'0'),1,14,2,15,0),13),2,'0') ||','|| lpad(nvl(SEGMENT4,'0'),4,'0') || ',DIVERT,'||LPN||','||SEGMENT1||'.'||SEGMENT2||'.'|| SEGMENT3||'.'||SEGMENT4||chr(3) from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 20 Pick Load Y

Appendix 4 – Case Study Page 2 of 76

Page 63: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

DIRECTIVE_RESPONSE_QUERY

select '_63,'|| substr(nvl(SEGMENT2,'C0'),length(nvl(SEGMENT2,'C0')),1) || ',__,'|| lpad(nvl(SEGMENT4,'0'),4,'0') || ',DONE00,'||LPN||','||SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'|| SEGMENT4||'_' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 20 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 60 ASRS 20 Pick Load Y

DIRECTIVE RESETSCAN_00_75 ASRS 30 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 30 Pick Load Y

DIRECTIVE_DEVICE_ID 41 ASRS 30 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 240 ASRS 30 Pick Load Y

DIRECTIVE_PIPE_NAME 41 ASRS 30 Pick Load Y

DIRECTIVE_QUEUE_STATUS X ASRS 30 Pick Load Y

DIRECTIVE_REQUEST_QUERY select '' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id ASRS 30 Pick

Load Y

DIRECTIVE_RESPONSE_QUERY select '_75,6,16,0000,DONE00,'||LPN||',0000.00.0.0000_' from wms_device_requests_wcsv where request_id = :p_request_id and task_id = :p_task_id

ASRS 30 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 30 ASRS 30 Pick Load Y

DIRECTIVE Divert2WS_63_64 ASRS 40 Pick Load Y

DIRECTIVE_CANCEL_TASK Divert2WS_63_64 ASRS 40 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 40 Pick Load Y

DIRECTIVE_COMPLETE_TASK Divert2WS_63_64 ASRS 40 Pick Load Y

DIRECTIVE_DEVICE_ID 41 ASRS 40 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 15 ASRS 40 Pick Load Y

DIRECTIVE_PIPE_NAME 41 ASRS 40 Pick Load Y

DIRECTIVE_QUEUE_STATUS P ASRS 40 Pick Load Y

DIRECTIVE_REQUEST_QUERY select chr(2)||'63,6,'|| ASRS 40 Pick Y

Appendix 4 – Case Study Page 3 of 76

Page 64: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

lpad(decode(nvl(wdat.DEVICE_ID,'19'),0,0,19,6,7),2,'0') ||','|| lpad(nvl(wdrw.SEGMENT4,'0'),4,'0') ||',DIVERT,'|| wdrw.LPN||','||wdrw.SEGMENT1||'.'||wdrw.SEGMENT2||'.'|| wdrw.SEGMENT3||'.'|| wdrw.SEGMENT4||chr(3) from wms_device_requests_wcsv WDRW, wms_device_assignment_temp wdat where wdat.device_id IN (19,20) and wdat.LAST_UPDATED_BY = fnd_global.user_id and wdrw.request_id = :p_request_id and wdrw.task_id = :p_task_id

Load

DIRECTIVE_RESPONSE_QUERY

select '_63,6,__,' || lpad(nvl(SEGMENT4,'0'),4,'0')||',DONE00,'|| LPN||','||SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'|| SEGMENT4||'_' from wms_device_requests_wcsv where request_id = :p_request_id and task_id = :p_task_id

ASRS 40 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 120 ASRS 40 Pick Load Y

DIRECTIVE_SKIP_TASK Divert2WS_63_64 ASRS 40 Pick Load Y

DIRECTIVE TaskComplete44 ASRS 44 Pick Load Y

DIRECTIVE_CANCEL_TASK TaskComplete44 ASRS 44 Pick Load Y

DIRECTIVE_CASCADE_FAILURE N ASRS 44 Pick Load Y

DIRECTIVE_COMPLETE_TASK TaskComplete44 ASRS 44 Pick Load Y

DIRECTIVE_DEVICE_ID 41 ASRS 44 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 9 ASRS 44 Pick Load Y

DIRECTIVE_PIPE_NAME 41 ASRS 44 Pick Load Y

DIRECTIVE_QUEUE_STATUS P ASRS 44 Pick Load Y

DIRECTIVE_REQUEST_QUERY select '' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id ASRS 44 Pick

Load Y

DIRECTIVE_RESPONSE_QUERY select '_99,6,16,0000,TC0000,'||LPN||',0000.00.0.0000_' from wms_device_requests_wcsv where request_id = :p_request_id and task_id = :p_task_id

ASRS 44 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 400 ASRS 44 Pick Load Y

DIRECTIVE_SKIP_TASK TaskComplete44 ASRS 44 Pick Load Y

Appendix 4 – Case Study Page 4 of 76

Page 65: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

DIRECTIVE NULL4SCAN_00_75 ASRS 50 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 50 Pick Load Y

DIRECTIVE_DEVICE_ID 41 ASRS 50 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 240 ASRS 50 Pick Load Y

DIRECTIVE_PIPE_NAME 41 ASRS 50 Pick Load Y

DIRECTIVE_QUEUE_STATUS P ASRS 50 Pick Load Y

DIRECTIVE_REQUEST_QUERY select '' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id ASRS 50 Pick

Load Y

DIRECTIVE_RESPONSE_QUERY select '_75,6,16,0000,DONE00,'||LPN||',0000.00.0.0000_' from wms_device_requests_wcsv where request_id = :p_request_id and task_id = :p_task_id

ASRS 50 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 30 ASRS 50 Pick Load Y

DIRECTIVE Divert2ASRS63_64 ASRS 60 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 60 Pick Load Y

DIRECTIVE_DEVICE_ID 41 ASRS 60 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 15 ASRS 60 Pick Load Y

DIRECTIVE_PIPE_NAME 41 ASRS 60 Pick Load Y

DIRECTIVE_QUEUE_STATUS P ASRS 60 Pick Load Y

DIRECTIVE_REQUEST_QUERY

select chr(2)||'63,6,'|| lpad(decode(substr(nvl(SEGMENT2,'C0'), length(nvl(SEGMENT2,'C0')),1),1,5,2,4,3,3,4,2,5,1,0),2,'0') ||','|| lpad(nvl(SEGMENT4,'0'),4,'0') ||','|| 'DIVERT,'||LPN||','||SEGMENT1||'.'||SEGMENT2||'.'|| SEGMENT3||'.'||SEGMENT4||chr(3) from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 60 Pick Load Y

DIRECTIVE_RESPONSE_QUERY

select chr(2)||'63,6,'|| lpad(decode(substr(nvl(SEGMENT2,'C0'), length(nvl(SEGMENT2,'C0')),1),1,5,2,4,3,3,4,2,5,1,0),2,'0') ||','|| lpad(nvl(SEGMENT4,'0'),4,'0') ||','|| 'DIVERT,'||LPN||','||SEGMENT1||'.'||SEGMENT2||'.'|| SEGMENT3||'.'||SEGMENT4||chr(3) from wms_device_requests_wcsv

ASRS 60 Pick Load Y

Appendix 4 – Case Study Page 5 of 76

Page 66: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

where request_id=:p_request_id and task_id=:p_task_id

DIRECTIVE_RESPONSE_TIMEOUT 120 ASRS 60 Pick Load Y

DIRECTIVE PICK2CS_61_71 ASRS 70 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 70 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 20 ASRS 70 Pick Load Y

DIRECTIVE_RESPONSE_QUERY

select '_61,' || substr(nvl(SEGMENT2,'C0'), length(nvl(SEGMENT2,'C0')),1) ||',__,0000' || ',DONE00,'||LPN||','||SEGMENT1||'.'||SEGMENT2||'.'|| SEGMENT3||'.'||SEGMENT4||'_' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 70 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 60 ASRS 70 Pick Load Y

DIRECTIVE PUT4SHT_62_72 ASRS 80 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 80 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 20 ASRS 80 Pick Load Y

DIRECTIVE_REQUEST_QUERY

select chr(2)||'62,'|| substr(nvl(SEGMENT2,'C0'),length(nvl(SEGMENT2,'C0')),1) ||','|| lpad(decode(nvl(SEGMENT3,'0'),1,9,2,10,0),2,'0') ||','|| lpad(nvl(SEGMENT4,'0'),4,'0') ||',PUTAWY,'|| LPN||','||SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'||SEGMENT4||chr(3) from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 80 Pick Load Y

DIRECTIVE_RESPONSE_QUERY

select '_62,'|| substr(nvl(SEGMENT2,'C0'),length(nvl(SEGMENT2,'C0')),1) ||',__,'|| lpad(nvl(SEGMENT4,'0'),4,'0') ||',DONE00,'|| LPN||','||SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'||SEGMENT4||'_' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 80 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 60 ASRS 80 Pick Load Y

DIRECTIVE TOTE4SHT_63_72 ASRS 90 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 90 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 20 ASRS 90 Pick Load Y

DIRECTIVE_QUEUE_STATUS X ASRS 90 Pick Y

Appendix 4 – Case Study Page 6 of 76

Page 67: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Load

DIRECTIVE_REQUEST_QUERY

select chr(2)||'63,'|| substr(nvl(SEGMENT2,'C0'),length(nvl(SEGMENT2,'C0')),1) ||','|| lpad(decode(substr(nvl(SEGMENT1,'0Q'),2,1),'Q', decode(nvl(SEGMENT3,'0'),1,13,2,13,0),13),2,'0') ||','|| lpad(nvl(SEGMENT4,'0'),4,'0') || ',DIVERT,'||LPN||','||SEGMENT1||'.'||SEGMENT2||'.'|| SEGMENT3||'.'||SEGMENT4||chr(3) from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 90 Pick Load Y

DIRECTIVE_RESPONSE_QUERY

select '_63,'|| substr(nvl(SEGMENT2,'C0'),length(nvl(SEGMENT2,'C0')),1) || ',__,'|| lpad(nvl(SEGMENT4,'0'),4,'0') || ',DONE00,'||LPN||','||SEGMENT1||'.'||SEGMENT2||'.'|| SEGMENT3||'.'||SEGMENT4||'_' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 90 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 60 ASRS 90 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 100 Pick Load Y

DIRECTIVE_DEVICE_ID 41 ASRS 100 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 20 ASRS 100 Pick Load Y

DIRECTIVE_PIPE_NAME 41 ASRS 100 Pick Load Y

DIRECTIVE_QUEUE_STATUS X ASRS 100 Pick Load Y

DIRECTIVE_REQUEST_QUERY

select chr(2)||'63,6,06,'||lpad(nvl(SEGMENT4,'0'),4,'0') ||',DIVERT,'|| LPN||','||SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'||SEGMENT4|| chr(3) from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 100 Pick Load Y

DIRECTIVE_RESPONSE_QUERY

select '_63,6,__,'||lpad(nvl(SEGMENT4,'0'),4,'0') ||',DONE00,'|| LPN||','||SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'||SEGMENT4||'_' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 100 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 60 ASRS 100 Pick Load Y

DIRECTIVE FullASRS_61_71 ASRS 110 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 110 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 20 ASRS 110 Pick Load Y

Appendix 4 – Case Study Page 7 of 76

Page 68: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

DIRECTIVE_QUEUE_STATUS X ASRS 110 Pick Load Y

DIRECTIVE_RESPONSE_QUERY

select '_61,'|| substr(nvl(SEGMENT2,'C0'),length(nvl(SEGMENT2,'C0')),1) ||',__,'|| lpad(nvl(SEGMENT4,'0'),4,'0') ||',DONE00,'||substr(nvl(SEGMENT2,'C0'), length(nvl(SEGMENT2,'C0')),1)||'F'||lpad(nvl(SEGMENT4,'0'),4,'0')||','|| SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'||SEGMENT4||'_' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 110 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 60 ASRS 110 Pick Load Y

DIRECTIVE Full4SHT_63_72 ASRS 120 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 120 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 15 ASRS 120 Pick Load Y

DIRECTIVE_QUEUE_STATUS X ASRS 120 Pick Load Y

DIRECTIVE_REQUEST_QUERY

select chr(2)||'63,'|| substr(nvl(SEGMENT2,'C0'),length(nvl(SEGMENT2,'C0')),1) ||','|| lpad(decode(substr(nvl(SEGMENT1,'0Q'),2,1),'Q', decode(nvl(SEGMENT3,'0'),1,13,2,13,0),13),2,'0') ||','|| lpad(nvl(SEGMENT4,'0'),4,'0') || ',DIVERT,'||substr(nvl(SEGMENT2,'C0'), length(nvl(SEGMENT2,'C0')),1)||'F'||lpad(nvl(SEGMENT4,'0'),4,'0')||','|| SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'||SEGMENT4||chr(3) from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 120 Pick Load Y

DIRECTIVE_RESPONSE_QUERY

select '_63,'|| substr(nvl(SEGMENT2,'C0'),length(nvl(SEGMENT2,'C0')),1) || ',__,'|| lpad(nvl(SEGMENT4,'0'),4,'0') || ',DONE00,'||substr(nvl(SEGMENT2,'C0'), length(nvl(SEGMENT2,'C0')),1)||'F'||lpad(nvl(SEGMENT4,'0'),4,'0')||','|| SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'||SEGMENT4||'_' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 120 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 120 ASRS 120 Pick Load Y

DIRECTIVE_CASCADE_FAILURE Y ASRS 130 Pick Load Y

DIRECTIVE_DEVICE_ID 41 ASRS 130 Pick Load Y

DIRECTIVE_MAX_ATTEMPTS 15 ASRS 130 Pick Load Y

DIRECTIVE_PIPE_NAME 41 ASRS 130 Pick Y

Appendix 4 – Case Study Page 8 of 76

Page 69: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Load

DIRECTIVE_QUEUE_STATUS X ASRS 130 Pick Load Y

DIRECTIVE_REQUEST_QUERY

select chr(2)||'63,6,06,'|| lpad(nvl(SEGMENT4,'0'),4,'0') ||','|| 'DIVERT,'|| substr(nvl(SEGMENT2,'C0'), length(nvl(SEGMENT2,'C0')),1)||'F'||lpad(nvl(SEGMENT4,'0'),4,'0')||','|| SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'||SEGMENT4||chr(3) from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 130 Pick Load Y

DIRECTIVE_RESPONSE_QUERY

select '_63,6,__,'|| lpad(nvl(SEGMENT4,'0'),4,'0') ||',DONE00,'|| substr(nvl(SEGMENT2,'C0'), length(nvl(SEGMENT2,'C0')),1)||'F'||lpad(nvl(SEGMENT4,'0'),4,'0')||','|| SEGMENT1||'.'||SEGMENT2||'.'||SEGMENT3||'.'||SEGMENT4||'_' from wms_device_requests_wcsv where request_id=:p_request_id and task_id=:p_task_id

ASRS 130 Pick Load Y

DIRECTIVE_RESPONSE_TIMEOUT 120 ASRS 130 Pick Load Y

Appendix 4 – Case Study Page 9 of 76

Page 70: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 38 - Note that there are 2 CarBri directories (1 for ASRS and 1 for Sortation Conveyor)

Appendix 4 – Case Study Page 10 of 76

Page 71: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 39 - CarBri Settings for ASRS_C1

Appendix 4 – Case Study Page 11 of 76

Page 72: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

Figure 40 - CarBri Settings for Sortation Conveyor SORT_1

Appendix 4 – Case Study Page 12 of 76

Page 73: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

12.1.6 Test between DB tier and the CarBri

Test between DB tier and the CarBri (set Simulate to Yes in carbri.xml (There is no need to plug in the Device to test at this point)

12.1.7 Test between DB tier, CarBri and the Device Simulator

Test between DB tier, CarBri and the Device Simulator (Set Simulate to No) and socketHostName to point to the IP address of the DS. Once this testing is satisfactory, the system is ready to be promoted to UAT. This step can be used to validate the device directives that are provided by the Device Vendor by testing message sending between the Device Simulator and the PLC and tweaking the WCS Directive settings if needed.

12.1.8 Test between DB tier, CarBri and the actual device

Test between DB tier, CarBri and the actual device. The system will be fully functional at this point.

Appendix 4 – Case Study Page 13 of 76

Page 74: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

13. Appendix 5 – WMS_DEVICE_REQUESTS_WCSV View details This is a view introduced in 11.5.10.1CU. One of the Database Entities that this view is based on is WMS_DEVICE_REQUESTS WDR. Usually most of the Directive Request Queries can be based on this view. There could a Customer requirement where

# Column Name Data Type

== ==================== ===============

1 REQUEST_ID NUMBER

2 TASK_ID NUMBER

3 SEQUENCE_ID NUMBER

4 TASK_TYPE_ID NUMBER

5 QUANTITY NUMBER

6 SUBINVENTORY_CODE VARCHAR2 (30)

7 LOCATOR VARCHAR2 (4000)

8 DEVICE_NAME VARCHAR2 (30)

9 DEVICE_ID NUMBER

10 DEVICE_TYPE_ID NUMBER

11 BUSINESS_EVENT VARCHAR2 (80)

12 BUSINESS_EVENT_ID NUMBER

13 RELATION_ID NUMBER

14 LPN VARCHAR2 (30)

15 ITEM VARCHAR2 (40)

16 SEGMENT1 VARCHAR2 (40)

17 SEGMENT2 VARCHAR2 (40)

18 SEGMENT3 VARCHAR2 (40)

19 SEGMENT4 VARCHAR2 (40)

20 SEGMENT5 VARCHAR2 (40)

21 SEGMENT6 VARCHAR2 (40)

22 SEGMENT7 VARCHAR2 (40)

23 SEGMENT8 VARCHAR2 (40)

Appendix 5 – WMS_DEVICE_REQUESTS_WCSV View details Page 1 of 76

Page 75: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

24 SEGMENT9 VARCHAR2 (40)

25 SEGMENT10 VARCHAR2 (40)

26 SEGMENT11 VARCHAR2 (40)

27 SEGMENT12 VARCHAR2 (40)

28 SEGMENT13 VARCHAR2 (40)

29 SEGMENT14 VARCHAR2 (40)

30 SEGMENT15 VARCHAR2 (40)

31 SEGMENT16 VARCHAR2 (40)

32 SEGMENT17 VARCHAR2 (40)

33 SEGMENT18 VARCHAR2 (40)

34 SEGMENT19 VARCHAR2 (40)

35 SEGMENT20 VARCHAR2 (40)

36 TASK_SUMMARY VARCHAR2 (1)

37 LOCATOR_ID NUMBER

38 TRANSFER_ORG_ID NUMBER

39 TRANSFER_SUB_CODE VARCHAR2 (30)

40 TRANSFER_LOC_ID NUMBER

41 INVENTORY_ITEM_ID NUMBER

42 REVISION VARCHAR2 (10)

43 UOM VARCHAR2 (3)

44 LOT_NUMBER VARCHAR2 (30)

45 LOT_QTY NUMBER

46 SERIAL_NUMBER VARCHAR2 (30)

47 TRANSACTION_QUANTITY NUMBER

48 STATUS_CODE VARCHAR2 (1)

49 STATUS_MSG VARCHAR2 (240)

50 OUTFILE_NAME VARCHAR2 (255)

Appendix 5 – WMS_DEVICE_REQUESTS_WCSV View details Page 2 of 76

Page 76: Warehouse Control System (WCS) - Material Handling Equipment (MHE)

White Paper Title Oracle Warehouse Management System: Release 11.5.10.CU1 Warehouse Control System (WCS) / Material Handling Equipment (MHE) Implementation Guide March 2006 Author: Syed Mudassir Imran Reviewers: Karun Jain, Aditya Agarkar Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000125 Fax: +1.650.506.7200 www.oracle.com Oracle Corporation provides the software that powers the internet. Oracle is a registered trademark of Oracle Corporation. Various product and service names referenced herein may be trademarks of Oracle Corporation. All other product and service names mentioned may be trademarks of their respective owners. Copyright © 2000 racle Corporation OAll rights reserved.

Appendix 5 – WMS_DEVICE_REQUESTS_WCSV View details Page 3 of 76