You are on page 1of 46

Distributed Warehouse Management System (Technical Implementation)

An Oracle White Paper July 2009

TABLE OF CONTENTS
1 2 3 DISTRIBUTED WMS SOLUTION THE NEED .............................................................. 4 SALIENT FEATURES........................................................................................................................ 4 SETTING UP THE DISTRIBUTED SYSTEM.................................................................... 5 SOLUTION .............................................................................................................................. 6 3.1 INBOUND MATERIAL FLOW ............................................................................................... 7 3.1.1 Create and Approve PO in Host System.................................................................... 8 3.1.2 Populate PO Interface on Distributed Instance......................................................... 8 3.1.3 Process Interface Data to Create PO in Distributed System..................................... 9 3.1.4 Receipt of Material in the Warehouse ..................................................................... 10 3.1.5 Populate Receiving Open Interface in the Host System........................................... 10 3.1.6 Process Receipt Information in Host System ........................................................... 12 3.1.7 Other Considerations............................................................................................... 14 3.2 OUTBOUND MATERIAL FLOW .......................................................................................... 17 3.2.1 Create and Book Sales Order in Host System ......................................................... 18 3.2.2 Run Concurrent Program to Generate Shipment Batches....................................... 18 3.2.3 Transfer Shipment Request to Distributed System................................................... 18 3.2.4 Process Shipment Request in Distributed System.................................................... 19 3.2.5 Pick, Pack and Ship Material against Shipment Request in Distributed System..... 20 3.2.6 Generate Shipment Advice XML Message in the Distributed System (If using XML Gateway) 21 3.2.7 Import Shipment Advice in the Host System ............................................................ 21 3.2.8 Process Shipment Advice in the Host System .......................................................... 22 3.2.9 Other Considerations............................................................................................... 22 3.3 INTERNAL MATERIAL TRANSFER .................................................................................... 25 3.3.1 Create and Approve Internal Requisition/Internal Orders in Host System ............. 26 3.3.2 Run Concurrent Program to Generate Shipment Batches....................................... 26 3.3.3 Transfer Shipment Request to Distributed Shipping Instance and Purchase Order Data to Receiving Distributed Instance................................................................................... 26 3.3.4 Import Shipment Request and Ship Material from Distributed Shipping Instance.. 27 3.3.5 Import and Process Shipment Advice in the Host System........................................ 27 3.3.6 Import and Process PO in Distributed Receiving Instance ..................................... 27 3.3.7 Receipt of Material in the Receiving Warehouse..................................................... 27 3.3.8 Populate Receiving Interface and Process Receipt Confirmation in Host System .. 28 3.3.9 Other Considerations............................................................................................... 29 3.4 RETURN MATERIAL AUTHORIZATION (RMA)................................................................. 30 3.4.1 Create and Book RMA in Host System .................................................................... 30 3.4.2 Populate Order Interface on Distributed System..................................................... 31 3.4.3 Process Interface Data to Create RMA in Distributed System................................ 32 3.4.4 Receipt of Material in the Warehouse ..................................................................... 32 3.4.5 Extract RMA Receipt Data from Distributed and Import into Host System ............ 32 3.4.6 Process RMA Receipt in the Host System ................................................................ 33 3.5 MANUFACTURING TO DISTRIBUTION CENTER MATERIAL FLOW .................................... 34 3.5.1 Create and Approve Job order in Host System........................................................ 35 3.5.2 Create and Approve Intransit Shipment in Host System.......................................... 35 3.5.3 Transform Intransit Shipment into Equivalent PO and Populate PO Interface Tables of Distributed System. .................................................................................................. 35 3.5.4 Import and Process PO in Distributed System ........................................................ 35 Oracle Corporation Confidential Page 2 of 46

Receipt of Material in the Warehouse ..................................................................... 35 3.5.5 3.5.6 Import Receipt Confirmation in Host System .......................................................... 36 3.5.7 Other Considerations............................................................................................... 36 3.6 INVENTORY MANAGEMENT ............................................................................................. 38 3.6.1 Inventory Adjustments.............................................................................................. 38 3.6.2 On Hand Balances ................................................................................................... 39 3.7 SYNCHRONIZATION OF REFERENCE DATA ...................................................................... 41 3.7.1 Import Item Information .......................................................................................... 42 3.7.2 Import Supplier Information .................................................................................... 44 3.7.3 Import Customer Information .................................................................................. 44

Oracle Corporation

Confidential

Page 3 of 46

Oracle Distributed WMS Solution

1 Distributed WMS Solution The Need


The current Oracle EBS Warehouse Management System (WMS) is an integral part of Oracle E-Business Suite and hence both the transaction source systems like Purchasing and Order Management and execution systems like WMS reside and operate within the same instance. The main advantage of such an integrated solution is that it eliminates the need for reference and transaction data integrations, which are needed for a typical bolt-on WMS solution. At the same time it makes it increasingly difficult for the customers to implement Oracle EBS WMS outside the framework of an E-Business solution. The need for a Distributed WMS solution has been covered in the White Paper for Distributed Warehouse Management System (Architecture and Solution Overview).

Salient Features
Some of the salient features of the Distributed WMS solution Distributed WMS solution will be an independent ERP instance capable of serving multiple independent warehouses or organizations. Distributed WMS will be able to integrate with any host system including legacy systems, other ERP system like SAP etc. or another Oracle ERP system. Distributed system will be independent WMS solution with minimal set up requirements. It will support all the routine warehouse and inventory functions available in the E-Business suite today. Distributed system will be a pure execution system and will not have any costing or accounting implications of material transactions. The financial implications of the transactions will be maintained in the host system. Transaction sources like Sales Orders and Purchase Orders will be created in the host instance and will be communicated to the distributed instance. The distributed system will execute the transactions and provide a mechanism to send the confirmations back to the host system. Any change management supported for the transaction documents like Sales Order and Purchase Order in the E-Business Suite today will also be supported in the Distributed system. Distributed WMS solution will provide a mechanism through which any inventory adjustments or current on hand inventory snap shot can be sent to the host system as needed. A new profile option WMS: Deployment Mode will be provided to identify the instance as distributed. For the architecture and the key business flows that are supported in the Distributed WMS solution, please refer to the White Paper for Distributed Warehouse Management System (Architecture and Solution Overview).

Oracle Corporation

Confidential

Page 4 of 46

Oracle Distributed WMS Solution

2 Setting up the Distributed system


Below is the setup workflow chart indicating the various steps involved to prepare the instance for a Distributed Deployment mode.

Create Users

Organization
* * * Create an Organization Define a Location Assign Organization to Location

Employee
* * * Create an Employee Setup People Group Flexfield Assign Employee to Organization * * * * *

Defining an Operating Unit


Accounting Flexfields Accounting Calendar Currencies Territories Primary Ledger

Inventory Organization

Classify Organization as Inventory Organization

Items
* * * Defining Item Flexfields Defining UOMs and UOM Classes Setting up Categories and Category Sets

Setting up Inventory Organization Parameters

For a complete detailed description of the setups, please refer to the White Paper on Distributed Warehouse System (Setup Document).

Oracle Corporation

Confidential

Page 5 of 46

Oracle Distributed WMS Solution

3 Solution
This section focuses on the solution and implementation of Oracle Distributed WMS solution for the distributed warehouse. This assumes that the host system can be any of the following legacy system, other ERP system such as SAP, other best of breed solutions, or another Oracle ERP system. The following picture describes the responsibility across Host and Distributed system for various business functions to enable Oracle Distributed WMS solution for the distributed warehouse.

Outbound Logistics Inbound Logistics

Order Entry

Order Release

Wave Planning

Pick and Pack

Ship Confirm

AR Process

Purchase Order

ASN

Receive and Inspect

Putaway and Store

Cross docking

AP Process

Warehouse Functions Setup & Master Data

Transfers and Moves

Wave & Labor Plan

Wave & Labor Plan

Count and Adjustment

Labeling & Value Adds

GL Process

Products

Customers

Vendors

Rules

Layout

Host Function

Warehouse Function

Joint Function

Figure 1: Business Functions in Distributed and Host System We will take individual flows and see how they can be fulfilled using Oracle Distributed WMS solution for the distributed warehouse.

Oracle Corporation

Confidential

Page 6 of 46

Oracle Distributed WMS Solution

3.1

Inbound Material Flow

The steps involved in implementing information flow between the host system and the Distributed system for material inbound to the warehouse are described below

In b o u n d P ro c e s s F lo w

Host (EBS 11.5.10)

In itia te p a y a b le s fo r th e m a te r ia l r e c e iv e d C re a te a n d A p p ro v e P u rc h a s e O rd e rs (P O )

P ro c e s s th e re c e ip t tra n s a c tio n s

P o p u la te P O in te rfa c e o n s ta n d a lo n e in s ta n c e

P o p u la te th e R e c e iv in g o p e n in te r fa c e .

Distributed (EBS 12.1.1)

P ro c e s s in te r fa c e d a ta to c re a te P O

R e c e iv e a n d P u ta w a y th e m a te r ia l

Im p le m e n ta tio n S te p

O u t o f th e b o x

Figure 2: Inbound Process Flow In the above figures the host is assumed to be EBS 11.5.10 and the Distributed system is EBS 12.1.1. However the host system can be any other version of EBS, other ERP or legacy system. Steps described below are applicable only for an EBS host and may change for a different ERP or legacy system. We can break down the above flow in the following steps 1) Create and approve Purchase Order (PO) in the host system 2) Use Oracle Data Integrator (ODI) maps or using published APIs create and schedule concurrent program to extract the PO lines to be received from the host system and insert into interface tables of Distributed system. 3) Import and process purchase order in the Distributed system. 4) Receive and putaway the material in the warehouse. 5) Use ODI maps or using published APIs create and schedule concurrent program to import receipt information from Distributed system into Receiving Open interface of the host system. 6) Process receipt transaction in the host system. 7) Initiate payables against the lines received.

Oracle Corporation

Confidential

Page 7 of 46

Oracle Distributed WMS Solution 3.1.1 Create and Approve PO in Host System The host system creates and approves the purchase orders. If the host system is an Oracle EBS system, purchase orders can be created using forms or purchasing open interfaces. Please refer to Oracle Purchasing Implementation Guide for detailed information on how to create new purchase orders. 3.1.2 Populate PO Interface on Distributed Instance The host system is responsible for transmitting purchase order information to the Distributed system. If the host system is an Oracle EBS system, purchase orders can be transmitted using ASC X12 850/EDIFACT ORDERS or its XML equivalent. Any changes to purchase orders can be transmitted using ASC X12 860 or its EDI or XML equivalent. For detailed information on how to setup the transmission of PO either using EDI or XML equivalent, please refer to the sections: "Purchase Order Communication to Suppliers and Document Transmission Methods" in Oracle Purchasing Users Guide. Please refer to the Oracle Purchasing White Paper on Article On Purchasing Communication Methods". During implementation, the systems integrator will need to read or extract these purchase orders from the host system. Since standard purchase orders cannot be loaded directly via EDI or XML, they will need to populate the PO interface tables in the Distributed system using the Purchasing Document Open Interfaces (PDOI). This can be achieved by Creating and scheduling a concurrent program The system integrator can create a concurrent program to extract the PO data from the host system and insert into PO interface of the Distributed system. It should also perform any code conversions as well as mapping required to populate the interface tables in the Distributed system. Using Oracle Data Integrator (ODI). For more details on how to create and configure an ODI map, please refer to the Distributed WMS (Integrations) white paper.

The interface tables that needs to be populated in the Distributed system using either of the above 2 approaches are: PO_HEADERS_INTERFACE PO_LINES_INTERFACE PO_DISTRIBUTIONS_INTERFACE Some of the key column attributes are mentioned below along with the possible mappings (unless mentioned, the mapping is distributed system-specific): Interface Column PROCESS_CODE ACTION DOCUMENT_TYPE_CO0DE DOCUMENT_NUM APPROVAL_STATUS Oracle Corporation Confidential Mapping PENDING when creating new standard purchase orders ORIGINAL for new records STANDARD for standard purchase orders Host ERP instances purchase order number APPROVED: Purchase orders will be Page 8 of 46

Oracle Distributed WMS Solution created as approved in the Distributed system Buyer Supplier (Supplier needs to be precreated in the Distributed system as part of the Reference Data sync) Supplier Site (Supplier needs to be precreated in the Distributed system as part of the Reference Data sync) Operating Unit Receiving Warehouse Organization Billing Location Receiving Warehouse Organization Receiving Warehouse Location Item Name (Item needs to be pre-created in the Distributed system as part of the Reference Data sync) Item Description Receipt Routing: Standard, Direct or Inspect. This can be populated from the host information. If this is not passed, it will default from the receiving parameters defined in the Distributed system for that Organization. It can also be set at the Master/Organization Item attribute level as well. Ordered Quantity Purchase Orders Line Number from the Host system Unit Price Line Type e.g. Goods UOM Code Any account that exists in the Distributed system

AGENT_NAME VENDOR_NAME

VENDOR_SITE_CODE

ORG_ID ORGANIZATION_ID BILL_TO_LOCATION_ID SHIP_TO_ORGANIZATION_ID SHIP_TO_LOCATION_ID ITEM

ITEM_DESCRIPTION RECEIVING_ROUTING RECEIVING_ROUTING_ID

QUANTITY QUANTITY_ORDERED LINE_NUM UNIT_PRICE LINE_TYPE UNIT_OF_MEASURE CHARGE_ACCOUNT

The host can pass specific receiving controls like receipt routing, over receipt tolerance, receipt days early or late for each PO line. If this information is not passed, then it will default from the receiving parameters defined in the Distributed system for that organization. Please refer to Oracle Purchasing Open Interfaces and APIs manual for detailed information on what fields to populate for importing new purchase orders. 3.1.3 Process Interface Data to Create PO in Distributed System The Purchasing Documents Open Interface uses Application Program Interfaces (APIs) to process the data in the Oracle Applications interface tables to ensure that it is valid before importing it into Oracle Purchasing. New Purchase orders can be imported into distributed warehouse (operating on Distributed WMS solution) by processing information in the purchasing documents open interface. They cannot be imported through EDI or XML gateway.

Oracle Corporation

Confidential

Page 9 of 46

Oracle Distributed WMS Solution Once the interface tables have been loaded, the Import Standard Purchase Order program must be run in the Distributed system to import the data from the interface tables into Oracle Purchasing. The Purchasing Documents Open Interface program receives the data, derives and defaults any missing data, and validates the data. If no errors are found in the submission process, the data in the Purchasing Documents Open Interface tables is loaded into the purchasing base tables to create the standard purchase order. The purchase order should be created in approved status and should have the same document number as in the host system. If the Purchasing Documents Open Interface program finds errors in the interface tables, the record identification number and the details of the error are written to the PO_INTERFACE_ERRORS table. You can launch the Purchasing Interface Errors Report in Purchasing to view the rows that were not imported by the Purchasing Documents Open Interface along with the failure reason(s) for each row. The Purchasing Documents Open Interface saves or errors out on a line-by-line basis. This means that if an error is found in a document line, only that line is rolled back (not submitted to Purchasing), and you can find the error in the PO_INTERFACE_ERRORS table. The error records in the interface tables must be updated before the re-run of the import program. Because the Purchasing Documents Open Interface saves or errors out line by line, it can accept partial documents. Assumption for importing purchase orders into the Distributed system is that the required reference data such as item, supplier (or vendor), supplier site, buyer information, UOM, organization, subinventories, locators must already be set up in the Distributed system. Please refer to Oracle Purchasing Open Interfaces and APIs manual for detailed information for importing new purchase orders. 3.1.4 Receipt of Material in the Warehouse When material is physically received in the warehouse, it is received against the purchase order (or the ASN) in the distributed warehouse. Users can configure the put away rules using WMS rules engine to direct the users to put away the material to appropriate locations based on the business constraints. Please refer to Oracle Warehouse Management Users Guide for detailed information on how to perform receiving transactions. 3.1.5 Populate Receiving Open Interface in the Host System Once material is received in the warehouse, Distributed system will provide a mechanism such that the host system can update its inventory system with the receipts, procurement system for the purchase order (or ASN) against which receipt is made, and the accounts payable for the value of the material received. The host system may also use receipt and inspection information to monitor supplier compliance. Historical information about the receipts made and results of quality inspection etc. are stored in RCV_TRANSACTIONS (RT) table in Oracle Purchasing. Distributed solution will provide a view RCV_RECEIPT_CONFIRMATION_V which will contain all the detailed information about the receipt transactions that have been Delivered and that affect the On-Hand. The view will contain information about the following transaction types PO Receipt, Return to Receiving, Corrections, RMA Receipt, Internal Requisition Intransit Receipt, and Inventory Intransit Receipt. Only those transactions which affect on hand will be Oracle Corporation Confidential Page 10 of 46

Oracle Distributed WMS Solution retrieved by the view and therefore Return to Receiving will be played back as Return to Vendor or Return to Customer in the host system based on source document type. It will not have information on lines that have only been received and/or inspected but not delivered. Some of the key columns in RCV_RECEIPT_CONFIRMATION_V are: Column RECEIPT DOCUMENT_TYPE DOCUMENT_NUMBER DOCUMENT_LINE_NUMBER SHIPMENT ITEM TRANSACTION_TYPE PRIMARY_QUANTITY PRIMARY_UOM LOT Mapping Receipt number of the receiving transaction Document type e.g. PO, RMA Document number against which the receiving transaction was done Document line number Shipment number Transacted item Type of transaction e.g. DELIVER, CORRECT Transacted quantity Transacted UOM Lot number (If there are multiple lots for the transaction, there will be multiple records in the view corresponding for each lot) Lot quantity Serial number (If there are multiple serials for the transaction, there will be multiple records in the view corresponding for each serial)

LOT_QUANTITY SERIAL

System Integrators can query this view directly to fetch all the new receipts for which confirmation has not been sent to the host system. They can then convert this information into appropriate format to populate the receiving interface tables of the host system. This can be achieved in either of the following ways As an implementation step, using published APIs or views create and schedule a concurrent program or Create and configure ODI maps. For more details on how to create and configure an ODI map, please refer to Distributed WMS Integrations white paper.

A new column RECEIPT_CONFIRMATION_EXTRACTED has been created in the RCV_TRANSACTIONS table, which can be updated to indicate the status if the receipt confirmation has been sent to the host system or not. This column maps to RC_EXTRACTED column in the RCV_RECEIPT_CONFIRMATION_V view. Once the confirmation is successfully sent to the host system, a new public API INV_STANDALONE_SYNC_PUB.Update_RC_Extracted() will allow the users to update RECEIPT_CONFIRMATION_EXTRACTED flag in the RT table. Customers can decide and update the flag with the any of the values, which can indicate any of the following statuses NULL Receipt confirmation not sent to the host system

Oracle Corporation

Confidential

Page 11 of 46

Oracle Distributed WMS Solution Sent Pending Confirmation Receipt confirmation sent to the host system but awaiting confirmation from host. Sent Confirmed - Receipt confirmation successfully received by the host system. 3.1.6 Process Receipt Information in Host System The host system should process the receipt information obtained from the Distributed system and update its inventory records, procurement system for the purchase order (or ASN) against which receipt is made, and the accounts payable for the value of the material received. If the host system is an Oracle E-Business Suite, then the information can directly be written into the Receiving Documents Open Interface of the host system. This involves populating the key tables RCV_HEADERS_INTERFACE and RCV_TRANSACTIONS_INTERFACE. System integrator should load the receipt information of Distributed system in the receiving interface tables of the host system. Once the receipts have been imported into Receiving Documents Open Interface, one can periodically schedule the Receiving Transaction Processor to process these transactions and create receipts in the host system. This will update the Receiving and Material Transaction tables in the host system. For transactions involving Lot and Serial controlled items, the tables MTL_TRANSACTION_LOTS_INTERFACE and MTL_SERIAL_NUMBERS_INTERFACE have to be populated with the corresponding lot and serial information. In the case of Lot controlled items, one record for each lot number with the corresponding quantity needs to be populated. In the case of Serial controlled items, one record indicating the From serial number to To serial number range needs to be populated. In case the range is not continuous or needs to be broken, multiple records may be required. Some of the key columns in RCV_HEADERS_INTERFACE are: Column HEADER_INTERFACE_ID GROUP_ID PROCESSING_STATUS_CODE RECEIPT_SOURCE_CODE Mapping Rcv_Headers_Interface_ S.Nextval Rcv_Interface_Groups_S.Nextval PENDING for newly inserted unprocessed transactions Specifies the source of the transaction e.g. VENDOR for Purchase orders, CUSTOMER for RMAs Host systems Organization Receipt number from the distributed system

SHIP_TO_ORGANIZATION_CODE RECEIPT_NUM

Some of the key columns in RCV_TRANSACTIONS_INTERFACE are: Column INTERFACE_TRANSACTION_ID HEADER_INTERFACE_ID GROUP_ID PROCESSING_STATUS_CODE Oracle Corporation Confidential Mapping Rcv_Transactions_Interface_S.Nextval Rcv_Headers_Interface_ S.Nextval Rcv_Interface_Groups_S.Nextval PENDING for newly inserted Page 12 of 46

Oracle Distributed WMS Solution unprocessed transactions Specifies the source of the transaction e.g. VENDOR for Purchase orders, CUSTOMER for RMAs Type of document in the transaction e.g. PO, RMA Document number against which the transaction was performed in the distributed system Document line number against which the transaction was performed in the distributed system Shipment number in the case of transactions related to ASNs, etc. in the distributed system Receiving transaction type e.g. RECEIVE, CORRECT, etc. Automatic transaction creation code that is used to specify the level at which the transaction records will be created e.g. Shipment line, receipt or deliver. Transacted quantity Item identifier Host systems organization Subinventory where the material has delivered Locator identifier where the material has been delivered

RECEIPT_SOURCE_CODE

SOURCE_DOCUMENT_CODE DOCUMENT_NUMBER

DOCUMENT_LINE_NUMBER

SHIPMENT

TRANSACTION_TYPE AUTO_TRANSACT_CODE:

PRIMARY_QUANTITY ITEM_ID TO_ORGANIZATION_CODE SUBINVENTORY LOCATOR_ID

To create the RECEIVE and DELIVER transactions in distributed system for the corresponding Purchase orders DELIVER transaction in the host system: RCV_TRANSACTIONS_INTERFACE.TRANSACTION_TYPE should be set as RECEIVE RCV_TRANSACTIONS_INTERFACE.AUTO_TRANSACT_CODE should be set as DELIVER RCV_TRANSACTIONS_INTERFACE.DESTINATION_TYPE_CODE should be set as INVENTORY RCV_TRANSACTIONS_INTERFACE.RECEIPT_SOURCE_CODE should be set as VENDOR RCV_HEADERS_INTERFACE.RECEIPT_SOURCE_CODE should be set as VENDOR VALIDATION_FLAG column in RCV_TRANSACTIONS_INTERFACE and RCV_HEADERS_INTERFACE tables should be set as Y To create the RETURN TO RECEIVING transaction in distributed system for corresponding RETURN TO RECEIVING transaction in the host system: RCV_TRANSACTIONS_INTERFACE.TRANSACTION_TYPE should be set RETURN TO RECEIVING RCV_TRANSACTIONS_INTERFACE.PARENT_TRANSACTION_ID should set as transaction_id of the DELIVER transaction RCV_TRANSACTIONS_INTERFACE.DESTINATION_TYPE_CODE should set as INVENTORY RCV_TRANSACTION_INTERFACE should have a positive quantity Oracle Corporation Confidential Page 13 of 46 the as be be

Oracle Distributed WMS Solution RCV_HEADERS_INTERFACE does not need to be populated for Returns.

To create the CORRECT on a DELIVER transaction in distributed system for the corresponding CORRECT on a DELIVER transaction in the host system: RCV_TRANSACTIONS_INTERFACE.TRANSACTION_TYPE should be set as CORRECT RCV_TRANSACTIONS_INTERFACE.PARENT_TRANSACTION_ID should be set as transaction_id of the DELIVER transaction RCV_TRANSACTIONS_INTERFACE.DESTINATION_TYPE_CODE should be set as INVENTORY RCV_TRANSACTION_INTERFACE should have a positive quantity for Positive corrections and a negative quantity for Negative corrections. However MTL_TRANSACTION_LOTS_INTERFACE quantity will always be positive for all types of corrections RCV_HEADERS_INTERFACE does not need to be populated for Corrections Please refer to Oracle Purchasing Open Interfaces and APIs manual for detailed information on how to make use of Receiving Documents Open Interface to update receipt information in the host system. Please refer to the following Metalink Notes for ROI functionality and scripts: 290489.1: New Receiving Open Interface (ROI) Functionality in Procurement Family Pack J/11.5.10. 559956.1: Receiving Open Interface: Description of Features and Sample Scripts. 245334.1: Sample Receiving Open Interface Script (ezROI) 368811.1: 11.5.10 / R12 ROI How To Perform Purchase Order Receipt For Lot and Serial Controlled Item 335699.1: 11.5.10 / R12 ROI How to Correct Receiving Transaction with Receiving Open Interface 360340.1: 11.5.10 / R12 ROI How to Return Receiving Transaction with Receiving Open Interface 3.1.7 Other Considerations Change Management - Purchase Order Changes and Cancellations If the host system has modified or cancelled the purchase order after it has been downloaded in the Distributed system, such changes can be transmitted to the Distributed system using the public APIs. The B2B or integration layer will be responsible for transmitting and populating the change data or calling the appropriate APIs. The Purchase Order Change and Cancel APIs are public APIs that enable one to apply changes or cancellations to the standard purchase orders that exist in the Purchasing tables. They perform all the necessary validations before updating the changes. The Purchase Order Change API (PO_CHANGE_API1_S.Update_PO) allows one to update the quantity, price, need by date and promise date on standard purchase orders. The key inputs for the API relevant for this transaction are: P_ORG_ID X_PO_NUMBER X_LINE_NUMBER NEW_QUANTITY NEW_PRICE Oracle Corporation Confidential Page 14 of 46

Oracle Distributed WMS Solution NEW_PROMISED_DATE NEW_NEED_BY_DATE

The API will return 1 if the purchase order was updated successfully. If there are any errors, it will return 0 and populate the output parameter X_API_ERRORS. The Purchase Order Cancel API (PO_DOCUMENT_CONTROL_PUB.Control_Document) allows one to cancel the standard purchase order. The key inputs for the API relevant for this transaction are: P_ORG_ID P_DOC_TYPE (PO for standard purchase order) P_DOC_SUBTYPE (STANDARD for standard purchase order) P_DOC_ID P_DOC_NUM P_DOC_LINE_ID P_DOC_LINE_NUM P_ACTION (CANCEL) P_CANCEL_REASON The API will populate the output parameter X_RETURN_STATUS with S (if the cancellation completed successfully), E (if the cancellation resulted in an error) or U (if the cancellation resulted in an unexpected error). Please refer to Oracle Purchasing Open Interfaces and APIs manual and the Integration Repository for detailed information on how to invoke purchase order change and cancellation APIs. Import ASNs Supplier will send the ASNs to the Distributed system. One can import ASNs into Oracle Distributed System by passing the data in the form of ASC X12 856 EDI or its equivalent XML transaction. For the EDI/XML import to successfully go through suppliers and supplier sites should be defined as trading partners and Oracle e-commerce gateway should be appropriately set up. Once all the setups are complete, one can run the Oracle e-commerce gateway import program to process the transactions. Supplier can also send the ASNs to the host system from where they can be imported into the Distributed System by a variety of methods I-Supplier portal, EDI, or XML. If the required data is not provided in the transaction, the Oracle e-Commerce Gateway import process fails the transaction. Then an exception message is displayed in the View Staged Documents window. If the trading partner is valid and the transaction is enabled, the import process proceeds to validate the transaction using the user-defined column rules. If no process or column rule exceptions are detected, the Oracle e-Commerce Gateway import program will write the transaction to the Receiving Open Interface tables to be processed by the Receiving Open Interface API. ASNs can also be created manually using the iSupplier Portal and this will create the necessary information in the Receiving Open Interface tables. The system integrators can also write the ASN information in the Receiving Open Interface tables directly using the public APIs. To successfully import ASNs into Oracle Purchasing, one must run the Receiving Transaction Manager.

Oracle Corporation

Confidential

Page 15 of 46

Oracle Distributed WMS Solution Please refer to E-commerce PO Implementation guide for detail information on how to import new ASNs. Purchase Order Visibility and Status The Distributed system will allow the users to query the purchase orders created against the receipt advice sent by the host system using the Purchase Order and Purchase Order summary form. The assumption is that the purchase order will be created in the Distributed system with the same number as the purchase order number in the host system. So in the Distributed system, users can directly query the purchase order using the host systems purchase order number. The Purchase order form can also be utilized to manually create a purchase order in the Distributed system when the integration layer is down and receipt advice cannot be sent or received. The purchase order number in the Distributed system should be same as purchase order number in the host system. Reverse Logistics Distributed system users can perform a Return to Receiving transaction to initiate a return to vendor. Once the Return to Receiving transaction is done in the Distributed system, the goods will move from inventory to receiving and on hand will get decremented. The Receipt confirmation view will pick these transactions and once the host interface tables are updated, the Return to vendor transaction will be created in the host system even if the Distributed system has performed only Return to Receiving transaction. This is necessary for inventory synchronization. If for some reason, Distributed system decides to put the material back into Inventory (Deliver transaction) ater performing Return to receiving, then the system integrator will have to post a correction on the Return to Vendor trasnaction and then post a deliver transaction in the host system. Assumptions Some of the key assumptions for the inbound flow described above are summarized again 1) All the required reference data must be created in advance in the Distributed system before purchase order is sent. 2) There should be one to one mapping of purchase orders between host and Distributed system i.e. for every PO in the host system, a corresponding PO will be created in the Distributed system. 3) The purchase order in the Distributed system should be created in approved status and its number should be same as purchase order number in the host system. 4) If the host system wants specific receiving controls on a given PO line, then the receiving controls must be passed to the Distributed system along with the PO information. Otherwise system will default the receiving controls from the Receiving Parameters defined in the Distributed system. For simplicity it is recommended that receipt routing for PO in the host system be Direct Delivery while it can be Standard or Inspection Required in the Distributed system based on the requirements.

Oracle Corporation

Confidential

Page 16 of 46

Oracle Distributed WMS Solution

3.2

Outbound Material Flow


The steps involved in implementing information flow between the host system and the Distributed system for material outbound from the warehouse are described below -

O utbound P rocess Flow

Host (EBS 11.5.10)

C reate and book S ales O rder.

Invoice for m aterial shipped

G enerate shipm ent batches.

Process shipm ent advice

Transfer shipm ent request to standalone instance.

Im port shipm ent advice

Distributed (EBS 12.1.1)

P rocess shipm ent request to create shipm ent

P ick and stage m aterial

S hip m aterial

Im plem entation step

O ut of the box

Figure 3: Outbound Process Flow In the above figure the host is assumed to be EBS 11.5.10 and the Distributed system is EBS 12.1.1. However the host system can be any other version of EBS, other ERP or legacy system. Steps described below are applicable only for an EBS host and may change for a different ERP or legacy system. Customers can transfer the shipment data from the host system to Distributed system and shipment advice from Distributed system to the host system using any of the following ways 1) Using Oracle Data Integrator (ODI) (Recommended approach) Customers can configure the ODI maps to send shipment request to the Distributed system and process the shipment advice extracted from the Distributed system. 2) Using Oracle Open Interfaces and Public Application Programming Interfaces (APIs) To insert shipment data into interface tables of the Distributed system and to process the shipment advice extracted from the Distributed system. 3) Using XML Gateway - Oracle XML gateway can be configured to insert the shipment data passed from host system into shipping interface tables of the Distributed system and invoke appropriate program to process this data. We will discuss each of these methods for data transfer while describing the steps for the above flow. We can break down the above flow in the following steps 1) Create and book Sales Order in the host system Oracle Corporation Confidential Page 17 of 46

Oracle Distributed WMS Solution 2) Run concurrent program Create Shipment Batches for Fulfillment to group delivery details into Shipment Request batches. 3) Transfer and insert shipment batches into interface tables of Distributed system. 4) Process shipment request in Distributed system. 5) Pick, pack and ship the sales order in the Distributed system. For this customer can use the latest features available in WMS in Oracle 12.1.1 like wave planning, advanced replenishment to replenish your forward pick area, mobile personalization to personalize the mobile screens, WMS-OTM integration for dock synchronization and scheduling, rules engine to configure business rules, advance material status etc. 6) Generate the shipment advice message in the Distributed system (If using XML Gateway) 7) Use ODI maps or schedule published APIs to extract shipment advice data from Distributed system 8) Process shipment advices to ship confirm the corresponding SO lines in the host system. 9) Create invoice against the fulfilled SO in the host system 3.2.1 Create and Book Sales Order in Host System The host system creates and books the sales orders for customer order fulfilment. If the host system is an Oracle EBS system, sales orders can be created using forms, EDI transactions or Order Import open interface. The organization in the host system should enable the Distributed Organization flag in Organization parameters, which will enable the Third Party Warehousing (TPW) functionality. This will prevent Orders from getting Pick Released on the host instance and reduce the efforts (steps) when the shipment advice is received from the Distributed system and played back in the host system. Please refer to Oracle Order Management Users Guide for detailed information on how to create new sales orders. 3.2.2 Run Concurrent Program to Generate Shipment Batches The host system should identify the SO lines to be shipped from Distributed warehouse. Based on the parameters entered, a new concurrent program Create Shipment Batches for Fulfillment will create batches for each group of eligible lines not already assigned to a shipment batch. These lines will be grouped by customer, bill-to location, ship-to location, freight terms and FOB. Each group will represent a shipment request. 3.2.3 Transfer Shipment Request to Distributed System The shipment request can be sent to the Distributed system in any of the following ways Using ODI maps - Customers can create and configure ODI maps to extract the data from shipment views and insert into shipping interface tables of the Distributed system. Please refer to Distributed Warehouse Management System Integrations white paper for more details on how to create and configure ODI maps. Directly populate the data into shipping interface tables on the Distributed system using public API WSH_SHIPMENT_REQUEST_PUB.Shipment_Request. This API allows the user to query, create, update and delete a shipment request and this can be accomplished by passing an input parameter p_action_code with valid values: QUERY,CREATE,UPDATE and DELETE.

Oracle Corporation

Confidential

Page 18 of 46

Oracle Distributed WMS Solution The attributes pertaining to a shipment request are passed as an input record structure p_shipment_request_info and any errors during the processing are returned via an output table of records x_interface_errors_tab. The complete signature of the API is as follows: WSH_SHIPMEMT_REQUEST_PUB.Shipment_Request ( p_api_version_number IN NUMBER, p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_TRUE, p_action_code IN VARCHAR2 DEFAULT NULL, p_shipment_request_info IN OUT NOCOPY Shipment_Request_Rec_Type, x_interface_errors_info OUT NOCOPY Interface_Errors_Rec_Tab, p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE, x_return_status OUT NOCOPY VARCHAR2, x_msg_count OUT NOCOPY NUMBER, x_msg_data OUT NOCOPY VARCHAR2) As an XML message If Distributed instance is configured with Oracle XML Gateway, customer can generate an XML message for shipment request batches and post it to XML Gateway. Oracle XML gateway will insert the data into shipping interface tables in the Distributed system and invoke appropriate programs to process it. This shipment request XML message should be generated based on a new XML map (WSH_STNDI_OAG721_IN), which has been created, based on OAG 161_show_shipment_005.dtd to process the shipment request received from the host system.

Please refer to Oracle XML Gateway manual for detailed information on how to set up XML gateway to import shipment into Oracle Shipping Execution. 3.2.4 Process Shipment Request in Distributed System If the host system sends the shipment request as an XML message then Oracle XML gateway must be installed and configured on Oracle Distributed system. The Distributed system organizations must be defined as a trading partner within the XML gateway. Once the XML message is received from the host system, it is parsed in the XML gateway for format and validity of the information. XML gateway also takes care of any code conversion and mapping required to populate the shipping interface tables within the Distributed system based on the seeded schema. XML gateway will load data into interface tables and will trigger shipment request processing Alternately if XML gateway is not used then customers can use ODI or create a concurrent program to fetch the shipment request data from shipment views and directly populate the information in the shipping interface tables of the Distributed system using the public APIs. Once the records are loaded into the shipping interface tables, they can be processed in any of the following ways Using the Process Shipment Requests' concurrent program Using the public WSH_SHIPMENT_REQUEST_PUB.Process_Shipment_Request.

API

This API allows processes shipment requests based on a certain input criteria that can include shipment request status, from and to shipment request numbers, from and to shipment request dates and transaction_id. The process can also be submitted in CONCURRENT or ONLINE mode.

Oracle Corporation

Confidential

Page 19 of 46

Oracle Distributed WMS Solution

The complete signature of the API is as follows: WSH_SHIPMENT_REQUEST_PUB.Process_Shipment_Request ( p_api_version_number IN NUMBER, p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_TRUE, p_process_mode IN VARCHAR2 DEFAULT 'CONCURRENT', p_criteria_info IN Criteria_Rec_Type, p_log_level IN NUMBER DEFAULT 0, p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE, x_request_id OUT NOCOPY NUMBER, x_return_status OUT NOCOPY VARCHAR2, x_msg_count OUT NOCOPY NUMBER, x_msg_data OUT NOCOPY VARCHAR2) All the required reference data like customer, ship-to and Bill-to locations, customer contacts, items, UOMs, ship methods, carriers, freight terms, FOB, organization, sub inventories and locators must be already set up in the Distributed system before the shipment request is received and processed. If not, the received shipment requests will error out. However Distributed system can create customer, customer addresses and contacts on the fly if the customer data does not already exist in the Distributed system and is sent in the shipment request. Any interface error records can be viewed and corrected in the Shipment Message Corrections UI. Once the records are corrected, they can be re-submitted for processing. Once the shipment request is processed successfully, delivery details are created or modified in the Distributed system. Additionally if you use XML gateway to process the shipment request data then a confirmation Business Object Document (BOD) can be sent to the host system. The confirmation BOD will be sent to the host system only if the trading partner is set up to send the confirmation BOD. The shipment request will contain header and detail level information. The host system should provide a unique document number (DocumentID in XML schema) in the shipment request header and a unique document line number (TXN_SRC_LINE_NUMBER in XML schema) for each shipment request line. The hos system can choose to use the shipment batch number if they feel that this will help to simplify the mapping between the batch in the host system and the shipment request in the distributed system. The shipment request processing will automatically create a sales order in the Distributed system and the sales order number in the Distributed system will be same as this document number. The host system sales order and sales order line number will be stored as reference number and reference line number attribute in the delivery details of the Distributed system. The Distributed system will maintain the reference of the shipment request number and shipment request line number and use it when sending the shipment confirmation to the host system. Please refer to Oracle XML Gateway manual for detailed information on how to set up XML gateway to import shipment into Oracle Shipping Execution. 3.2.5 Pick, Pack and Ship Material against Shipment Request in Distributed System Orders are released, tasks are created, and material is picked, packed, and shipped from the warehouse for the shipment requests. The host systems sales order and line number information is stored in the delivery details in the Distributed system. When the shipment is done from the Distributed system, all the shipping documents like packing slip or customer labels generated, will contain the host system sales order number.

Oracle Corporation

Confidential

Page 20 of 46

Oracle Distributed WMS Solution If required, the Distributed system can send shipment information to the customer in the form of EDI 856. This EDI document can be generated in Oracle Distributed System, once the order has been ship confirmed. Please refer to Oracle Warehouse Management User guide for detailed information on how to process and ship a sales order using Oracle EBS WMS and refer to Oracle ECommerce Shipping Implementation Guide for detailed information on how to generate and send ASNs (EDI 856) to the customers. 3.2.6 Generate Shipment Advice XML Message in the Distributed System (If using XML Gateway) Shipment advice can be generated in the Distributed system as an XML message when XML gateway is used. XML shipment advice message can be generated using XML transaction Shipment_Advice that is equivalent to EDI transaction 945 outbound. Oracle XML gateway must be installed to generate the XML messages. A new XML map (WSH_STNDO_OAG721_OUT) has been created based on OAG 161_show_shipment_005 dtd to generate the shipment advice from the Distributed system. The Distributed system organization must be defined as trading partner and transaction must be enabled in XML gateway for generating the shipment advice. A shipment advice will contain information like the document number received in the shipment request, item, quantity, customer, ship to address etc. Shipment advice can be generated once the delivery is in Closed or In-transit status in the Distributed system. The Distributed system can initiate the XML shipment advice in either of the following ways Using the Send Outbound Message action in the Shipment Transaction Form (Navigation: Shipping Transaction form > Delivery tab > Actions > Send Outbound Message > Select Send Shipment Advice). This can be used if confirmation is to be generated for an individual delivery. Using the Automated Shipment Request / Shipment Advice concurrent program for batch processing. Based on the parameters entered in the above concurrent program, the system will look for all the transactions for which shipment confirmation has not been sent and will create a shipment advice for each of the deliveries shipped.

3.2.7

Import Shipment Advice in the Host System Periodically the host system should extract the shipment information from the Distributed system. This is required so that the host system can update its inventory system with the shipments, Order management system with the sales order shipped, and the accounts receivables for the value of the material shipped. As an implementation step, system integrator can configure ODI maps or using published APIs, create a concurrent program to read the shipment advice XML generated by a Distributed system using XML gateway. If XML gateway is not installed, then using the existing shipping views, implementers can extract the required delivery and delivery details data from the Distributed system. The program should also update the transaction status to Sent in WSH_TRANSACTIONS_HISTORY table in the Distributed system. The shipment advice data should be populated in the shipping interface of the host system.

Oracle Corporation

Confidential

Page 21 of 46

Oracle Distributed WMS Solution 3.2.8 Process Shipment Advice in the Host System Customer can schedule to run Process Shipment Advices concurrent program, which will validate the imported data. For this the value of profile option WSH: Distributed Source Entity should be set to Fulfillment Batch. If there are any errors with the interface data, then Shipping 'Interface Message Corrections' form can be used to correct and resubmit the error records. Above program will then group the lines for each delivery created in the distributed system and for each delivery it will Create a delivery in the host system using the public APIs. Ship confirm the delivery using public APIs

The above process assumes that the organization in the host system is Distributed organization. This will enable to directly create and ship confirm the delivery without having to call the APIs to reserve and pick release the delivery in the host system, which can be a significant overhead in terms of processing the transactions. You must ensure that on hand quantities are synchronized between the host and Distributed system before you playback the shipment advice in the host system. For simplicity, negative balances can be allowed in the organization in the host system and a negative balance will be an indicator or warning that the inventory has not been synchronized between the two systems. If negative balances are not allowed in the organization and sufficient inventory is not available, it will error out the shipment process in the host system and on hand balances must be synchronized before transactions are re-processed. Once the sales orders are shipped in the host system, it can generate invoices for the fulfilled orders. Please refer to Oracle Order Management Open Interfaces, APIs and Electronic Messaging guide for detailed information on how to use interface and APIs to update shipment information in the host system. 3.2.9 Other Considerations Reservations - If the host system would like the Distributed system to ship specific material (lot) from a specific location then it can be done in either of the following ways They can pass this information in the shipment request XML. When the orders are pick released in the Distributed system, inventory will honour this information when move orders/tasks are created. Directly populate the reservation information into the reservation interface tables (MTL_RESERVATIONS_INTERFACE) of the Distributed system. The reservation information should contain a reference to the shipment request number and other mandatory inventory details like lot numbers, location etc. Once populated, Inventorys Reservations Interface Manager program should be run to validate and create the reservations. If item is serial controlled item, then reservations can only be created through the reservations interfaces in the Distributed system. Sales Order Visibility and Status The Distributed system will allow the users to query the sales order created against the shipment request sent by the host system using the Sales Order and Order Organizer form. Distributed system can provide the information to the host system using the host systems shipment request number. The shipment request number of the host is the sales order number in the Distributed system. The Distributed system can also provide the status of an order based on host systems sales order

Oracle Corporation

Confidential

Page 22 of 46

Oracle Distributed WMS Solution number and sales order line number using the Shipping Transaction Form. Host system sales order number and sales order line number will be stored as reference number and reference line number in the delivery details of the Distributed system and will be available in the shipment transaction form as query parameters. The Sales order form can also be utilized to manually create a sales order in the Distributed system when the integration layer is down and shipment request cannot be sent or received. However it is recommended not to create orders manually in the Distributed system unless it is very critical since data will need to be reconciled between manually created order in the Distributed system and shipment request data generated in the host, when systems are back up and running. This reconciliation might require significant effort and update of data in the Distributed and host system. Change Management - Shipment Request Changes or Cancellations A shipment request can be cancelled or changed in the distributed system by populating the shipping interface tables with the changed data and processing it using the public APIs. If the host system has modified or cancelled the shipment request (sales order/delivery) after it has been sent to the distributed system, such changes can also be communicated as an XML message using the XML gateway. When the XML message is received the distributed system will verify if the document number already exists. If there are multiple shipment requests for a given document number then the document number with the latest or maximum revision will be processed and workflow for the previous revisions will be closed. A shipment request can be cancelled provided none of the delivery details are already ship confirmed. If the host system is an EBS system and the organization is a Distributed organization, then in order to reduce an order line quantity, the quantity should first be reduced in the distributed system. Then, the WSH_SHIPMENT_BATCH_PUB.Cancel_Line public api can be used to unassign the reduced quantity from the shipment request. Thereafter, the order line quantity can be reduced in the host system. If any other attribute in the SO line is to be changed or the SO line is to be cancelled (assuming its not already shipped) then the line should first be cancelled in the distributed system. It should then be unassigned from the shipment request in the host system and once the changes are done then it can be assigned to a new shipment request. Please refer to Oracle Order Management Open Interfaces, APIs and Electronic Messaging guide for detailed information on how to process the shipping interface data. Integration with Oracle Transportation Management (OTM) The Distributed system can integrate with OTM so that customers can plan the trips and create dock appointments in OTM and send the information back to Distributed WMS. You define the dock doors in WMS and with 12.1.1 you can synchronize the dock door information between WMS and OTM systems. You can also create deliveries in Shipping and interface the information to OTM using a concurrent request. OTM can then perform transportation planning and schedule a dock appointment. The information is then sent back to the WMS system to create the trip and dock assignment. For more details please refer to EBS Release 12.1 documentation on Oracle Metalink (www.metalink.oracle.com).

Oracle Corporation

Confidential

Page 23 of 46

Oracle Distributed WMS Solution Assumptions Some of the key assumptions for the outbound flow described above are summarized again 1) All the required reference data must be created in advance in the Distributed system before shipment request is sent. 2) The organization in the host system is a Distributed organization. 3) The lines identified for shipment in the host system must be in Ready to Release line status. 4) The shipment request number sent to the distributed system must be a unique number. 5) The SO lines for the shipment request in the host system will be identified and extracted using a seeded concurrent program based on criteria like customer, schedule ship dates etc. The resulting lines will be grouped by Customer, Bill-to location, Ship-to location, Freight terms and FOB. Each group will represent one shipment request and must be identified by a unique number. 6) If the host system wants the Distributed system to ship specific material (lot) from a specific location, they can provide the information in the shipment request XML. However - For serial controlled items, reservation interface needs to be used. - Separate lines need to be created for each lot or locator. If for example host system wants to ship 5 different lots for the same SO line, then each lot has to be sent separately in the shipment request XML. This means there will be 5 delivery lines (1 for each lot) created in the Distributed system each referring to same SO and SO line of the host system. 7) On hand balances must be synchronized between the two systems before the shipment advice data is imported and played back in the host system.

Oracle Corporation

Confidential

Page 24 of 46

Oracle Distributed WMS Solution

3.3

Internal Material Transfer


Internal orders can be mapped using the inbound and outbound flows described in the section 3.1 and 3.2. Figure below provides an overview of the steps involved in internal material transfer process.
Internal Transfer Process Flow
Create internal requisition and internal orders Generate shipment batches Process shipment advice Transfer shipment request to standalone shipping instance. Transform shipment request into equivalent PO and populate PO interface on standalone receiving instance. Process the receipt transactions

Host (EBS 11.5.10)

Import shipment advice

Populate the receiving open interface

Distributed Shipping Instance (EBS 12.1)

Process shipment request to create shipment

Pick and stage material

Ship material to receiving instance and generate DSNO Optional Flow

Close shipment request

Distributed Receiving Instance (EBS12.1)

Process interface data to create PO

Populate receiving interface with ASN information..

Receive and create ASN

Receive and putaway the products received

-- -- -- Optional Flow

Implementation Step

Out of the box

Figure 4: Overview of Internal Material Transfer Process In the above figures the host is assumed to be EBS 11.5.10 and the Distributed system is EBS 12.1.1. However the host system can be any other version of EBS, other ERP or legacy system. Steps described below are applicable only for an EBS host and may change for a different ERP or legacy system. The internal transfer process can be achieved using a combination of outbound and inbound flow described in earlier sections. This flow assumes that both the shipping and receiving organization are on separate Distributed instance. 1) 2) We can break down the internal order flow in the following steps Create and approve internal requisition/internal order in the host system. Run Create Shipment Batches for Fulfillment concurrent program to group details and create shipment batches. Confidential Page 25 of 46

Oracle Corporation

Oracle Distributed WMS Solution 3) Using ODI maps or published APIs extract the shipment batch information and insert it as a shipment request into shipping interface tables of Distributed shipping instance. Insert the internal order data into purchasing interface tables of the Distributed receiving instance to create an equivalent purchase order. Import shipment request and ship confirm the material from Distributed shipping instance. Use ODI maps or using published APIs create and schedule a concurrent program to import shipment confirmation data from Distributed shipping system and ship confirm the corresponding internal order lines in the host instance Import and process purchase order in the Distributed receiving instance. Receive the material in the Distributed receiving instance. Use ODI maps or using published APIs, create and schedule a concurrent program to import and transform the PO receipt information from Distributed receiving instance and receive corresponding intransit shipment lines in the host system Create and Approve Internal Requisition/Internal Orders in Host System The internal requisition or internal order will be created in the host instance. If the host system is an Oracle EBS system, internal orders can be created using forms or Order Import open interfaces. Please refer to Oracle Purchasing Users Guide for detailed information on how to create internal sales orders. 3.3.2 Run Concurrent Program to Generate Shipment Batches The host system should select the internal order lines to be shipped from shipping warehouse and create shipment batches by running the Create Shipment Batches for Fulfillment concurrent program. The Include Internal Order flag must be checked to include internal orders for shipment request generation. Please refer to the Outbound Material Flow section 3.2.2 to get more details on how to create shipment request and insert the data into Distributed system. 3.3.3 Transfer Shipment Request to Distributed Shipping Instance and Purchase Order Data to Receiving Distributed Instance The shipment request can be inserted into shipping interface tables of the shipping Distributed instance using any of the following ways Using ODI maps. Please refer to Distributed Warehouse Management System Integrations white paper for more details on how to create and configure ODI maps. Directly populate the data into shipping interface tables within the Distributed shipping instance using public APIs. If XML gateway is installed then using some XML tool convert the data from shipping views into XML message and send it to XML gateway.

4) 5)

6) 7) 8)

3.3.1

The shipment data from the host system should also be converted to populate the PO interface tables of the Distributed instance representing receiving organization to create an equivalent purchase order. The purchase order number in the Distributed receiving instance should be kept same as internal sales order number in the host system to maintain the reference between two systems. The shipping organization must be defined as a supplier in the Distributed receiving instance to facilitate the creation of PO. Please refer to the inbound flow section 3.1 to get more details on the steps to send PO information to a Distributed system. Oracle Corporation Confidential Page 26 of 46

Oracle Distributed WMS Solution 3.3.4 Import Shipment Request and Ship Material from Distributed Shipping Instance Shipment request data can be imported using XML gateway (if installed) or by directly populating the shipping interface tables of the Distributed shipping instance. Once the interface data is populated, users can run the Process Shipment Requests program or use public APIs to process the data. For more details please refer to Outbound Material Flow section 3.2.4. To facilitate creation of sales order in shipping Distributed instance, the receiving organization must be defined as a customer. Orders are released, tasks are created, and material is picked, packed, and shipped from the warehouse to the destination organization. Optionally the shipping instance can also send an ASN to the receiving organization. Please refer to Oracle Warehouse Management User guide for detailed information on how to process and ship a sales order using Oracle EBS WMS and refer to Oracle ECommerce Shipping Implementation Guide for detailed information on how to generate and send ASNs (EDI 856) to the customers. 3.3.5 Import and Process Shipment Advice in the Host System Periodically the host system should extract the shipment information from the shipping Distributed system. As an implementation step, system integrator can extract the shipment data from the shipping Distributed instance and insert it into shipping interface tables of the host system in any of the following ways Using published APIs and views, create a concurrent program to read the shipment advice generated (if using XML gateway) by shipping instance else the shipment data be extracted from the existing shipping views. The data should then be inserted into shipping interface tables of the host system. Using ODI maps. Please refer to Distributed Warehouse Management System Integrations white paper for more details on how to create and configure ODI maps.

Once the data is loaded into the shipping interface tables of the host system, it can be processed by scheduling the standard concurrent program, which will create, and ship confirm the deliveries. For more details please refer to the Outbound Material Flow section 3.2.7 and 3.2.8 3.3.6 Import and Process PO in Distributed Receiving Instance Once the interface tables have been loaded as explained in section 3.1.3, the Import Standard Purchase Order program must be run in the Distributed receiving instance to import the data from the interface tables into Oracle Purchasing. The Purchasing Documents Open Interface uses Application Program Interfaces (APIs) to process the data and create a purchase order. For more details please refer to Inbound Material Flow section 3.1.3. The shipping organization must be defined as a supplier to facilitate the creation of PO in receiving instance. Please refer to Oracle Purchasing Open Interfaces and APIs manual for detailed information on what fields to populate for importing new purchase orders 3.3.7 Receipt of Material in the Receiving Warehouse When material is physically received in the warehouse, it is received against the purchase order (or the ASN). Users can configure the put away rules using WMS rules engine to direct the users to put away the material to appropriate locations based on the business constraints. Confidential Page 27 of 46

Oracle Corporation

Oracle Distributed WMS Solution

Please refer to Oracle Warehouse Management Users Guide for detailed information on how to perform receiving transactions. 3.3.8 Populate Receiving Interface and Process Receipt Confirmation in Host System As an implementation step, system integrators can query the Receipt Confirmation view directly to fetch all the new receipts for which confirmation has not been sent to the host system. They will then need to convert the PO receipt of the receiving instance into an equivalent internal order receipt and insert the data into receiving interface tables of the host system. This can be done using the dummy supplier setup as explained in step 3.3.3 so that any PO receipts of this supplier can be separated from normal PO receipt and converted into internal order receipt. The data can be sent from the receiving instance to the host system using any of the following ways As an implementation step, using published APIs or views create and schedule a concurrent program which extracts the receipt data from the receiving instance and populate the interface tables on the host system or Create and configure ODI maps. For more details on how to create and configure an ODI map, please refer to Distributed WMS Integrations white paper

For the ROI related tables and interfaces, please refer to the section Process Receipt Information in Host System under the Inbound Flow section. To create the RECEIVE and DELIVER transactions in distributed system for the corresponding Internal Material transfer type Purchase orders DELIVER transaction in the host system: Identify whether the DELIVER transaction of the Purchase order is linked to Internal Material transfer and find the corresponding Internal requisition from the host instance RCV_TRANSACTIONS_INTERFACE.RECEIPT_SOURCE_CODE should be set as INTERNAL ORDER RCV_HEADERS_INTERFACE.RECEIPT_SOURCE_CODE should be set as INTERNAL ORDER RCV_TRANSACTIONS_INTERFACE.SOURCE_DOCUMENT_TYPE should be set as REQ RCV_TRANSACTIONS_INTERFACE.TRANSACTION_TYPE should be set as RECEIVE RCV_TRANSACTIONS_INTERFACE.AUTO_TRANSACT_CODE should be set as DELIVER The host system should process the receipt information obtained from the Distributed system and update its inventory records so that the internal requisition or order can be closed. For more details on how to receive and process receipt information in the host system, please refer to Inbound Material Flow section 3.1.5 and 3.1.6. Assumptions Some of the key assumptions for the internal order flow described above are summarized again: 1) All the required reference data must be created in advance in the distributed system before purchase order is sent. Oracle Corporation Confidential Page 28 of 46

Oracle Distributed WMS Solution 2) The purchase order number in the distributed receiving system should be same as internal requisition number in the host system to maintain the reference between two systems. The customer should ensure that PO number sequence should not conflict with the sequence for internal requisition of host as internal requisition number of host will become PO number in the receiving instance. Document number entry method can be set as Manual so that PO can be set programmatically to be same as internal requisition number of the host system. 3.3.9 Other Considerations Multiple Organizations in Single Distributed Instance The above flow assumed that the shipping and receiving organizations were on separate distributed instances. Customers can also configure the distributed instance such that multiple warehouses could be on a single distributed instance. In this scenario, the internal order flow can be achieved using the following steps: 1) The host system creates the internal requisition and internal order. 2) You do not need to create an external order and purchase order as both the shipping and receiving organization are on the same distributed instance. Therefore the internal orders should not be included in the Create Shipment batches program i.e. Include Internal Orders flag should be set to No. As an implementation step, the system integrator can extract the internal requisition data and populate the requisition interface tables to create an internal requisition in the distributed instance. The internal requisition number in the distributed instance should be same as in the host system to maintain the reference. The internal requisition line number in the distributed instance should be same as in the host system to maintain the reference. 3) Internal order is created in the distributed instance and the shipping organization will ship the material against the internal order. 4) After the material is shipped, the system integrator can extract the shipment data for internal orders using published APIs. Using the IR number, it will determine the corresponding ISO number and order type in the host system and insert the records in the interface table of the host system against the host ISO number. 5) The host system should run the standard program to process the shipment. For an internal order this program should not validate the data against the shipment request. Instead it should be validated against the internal requisition and internal order in the host system. 6) After the material reaches the destination, the receiving organization will receive the material against the internal requisition. The internal requisition intransit receipt information can then be extracted using the receipt confirmation view from the distributed system. 7) Using the published APIs, the system integrator can insert the data into receiving interface tables of the host system. 8) Process the receipt transaction in the host system to update the inventory and close the internal requisition. If the host system decides to update the ISO after the requisition data has been sent to the distributed instance, then the ISO and IR in the distributed system should be first cancelled. The changes can be made in the host system and IR data should be sent again to the distributed system.

Oracle Corporation

Confidential

Page 29 of 46

Oracle Distributed WMS Solution

3.4

Return Material Authorization (RMA)

The steps involved in implementing information flow between the host system and the Distributed system for material returned from customer and inbound to the warehouse are described below
R M A P ro c e s s F lo w

Host (EBS 11.5.10)

C r e a te a n d B o o k R e tu rn M a te r ia l A u th o r iz a tio n (R M A )

P r o c e s s th e R M A r e c e ip t tra n s a c tio n s

P o p u la te o r d e r im p o rt in te r fa c e o n s ta n d a lo n e s y s te m

P o p u la te th e re c e iv in g o p e n in te rfa c e

(EBS 12.1.1)

Standalone

P ro c e s s in te r fa c e re c o rd s to c re a te RM A

R e c e iv e a n d P u ta w a y th e m a te r ia l

Im p le m e n ta tio n S te p

O u t o f th e b o x

Figure 5: RMA Process Flow In the above figure the host is assumed to be EBS 11.5.10 and the Distributed system is EBS 12.1.1. However the host system can be any other version of EBS, other ERP or legacy system. Steps described below are applicable only for an EBS host and may change for a different ERP or legacy system. We can break down the above flow in the following steps 1) Create and book RMA in the host system 2) Use ODI maps or using published APIs create and schedule concurrent program to extract the RMA lines to be received from the host system and insert into order interface of Distributed system. 3) Process interface data to create RMA in the Distributed system. 4) Receive and putaway the material in the warehouse. 5) Use ODI maps or using published APIs or views, create and schedule a concurrent program to import receipt information from Distributed system 6) Process to receive corresponding RMA lines in the host system. 3.4.1 Create and Book RMA in Host System The host system creates and books the Return Material Authorization (RMA). If the host system is an Oracle EBS system, RMA can be created using forms or EDI transactions or order import open interfaces. Please refer to Oracle Order Management Implementation Guide for detailed information on how to create RMAs.

Oracle Corporation

Confidential

Page 30 of 46

Oracle Distributed WMS Solution 3.4.2 Populate Order Interface on Distributed System As an implementation step, the system integrator will need to extract the RMA data and insert into the interface tables of the Distributed system. For simplicity and reference, the RMA number in the Distributed system should be same as RMA number in the host system. This can be done in either of following ways Using the public APIs, create and schedule a concurrent program, which will extract the RMA data from the host system and populate the interface tables on Distributed system. Using Oracle Data Integrator (ODI). For more details on how to create and configure an ODI map, please refer to Distributed WMS Integrations white paper.

New RMAs can be imported into distributed warehouse by using Order import open interface. Order import is an Order Management open interface that consists of open interface tables and a set of APIs. Order import can import new and change completed RMAs from other applications. The Order import open interface uses Application Program Interfaces (APIs) to process the data in the Oracle Applications interface tables to ensure that it is valid before importing it into Oracle Order management. One must write a custom program or script using SQL loader or some other programming language to convert data from the host system into the standard data format that order import expects and load it into the order import interface tables. The following interface tables are used by order import process OE_HEADERS_IFACE_ALL OE_LINES_IFACE_ALL OE_CUSTOMER_INFO_IFACE_ALL Some of the key columns in Order import interface tables are: Column ORDER_NUMBER ORDER_TYPE OPERATION_CODE ORDER_SOURCE_ID INVOICE_CUSTOMER_NUMBER INVOICE_TO_ORG_ID SHIP_TO_ORG_ID SHIP_TO_CUSTOMER_NUMBER SOLD_TO_ORG_ID LINE_NUMBER INVENTORY_ITEM_ID SHIP_FROM_ORG_ID LINE_TYPE_ID RETURN_REASON_CODE Mapping RMA number from the host system Pre-defined Order Type e.g. RMA No Credit INSERT Pre-defined Order Source e.g. Returns Customer and Customer Site information

Line number Item identifier in the distributed system Distributed systems warehouse Line Type Mandatory field for Returns and can be defaulted from one of the seeded return reason codes e.g. DAMAGED PRODUCT

Please refer to Oracle Order Management Open Interfaces and APIs manual for detailed information on how to import orders into Oracle Order management. Oracle Corporation Confidential Page 31 of 46

Oracle Distributed WMS Solution

If the host system has modified or cancelled the sales order after it has been downloaded in the distributed warehouse, such changes can also be transmitted to the distributed warehouse using order import open interface. 3.4.3 Process Interface Data to Create RMA in Distributed System Once the interface tables have been loaded, one must run the Order Import concurrent program to import the data from the interface tables into Oracle Order management. Order import program validates and defaults any missing data. Valid transactions are then converted into orders with lines, reservations, price adjustments, and sales credits in the base order management tables. If the Order Import program finds errors in the interface tables, such as incomplete information, the record identification number and the details of the error are stored. One can use the Order Import Corrections UI to determine if the data failed the import process. For importing RMAs into distributed warehouse, reference data such as item and Bill of materials must already be set up in the distributed warehouse; though order import provides the capability to add a new customer, address and contacts using order Import. This can be accomplished by populating OE_CUSTOMER_INFO_IFACE_ALL and order import program adds a new customer based on the data in this table and OE_HEADERS_IFACE_ALL. This table can also be used to import a new address only or contact information of an existing customer. Please refer to Oracle Order Management Open Interfaces and APIs manual for detailed information on how to import orders into Oracle Order management. 3.4.4 Receipt of Material in the Warehouse When material is physically received in the warehouse, it is received against the RMA in the distributed warehouse. Users can configure the put away rules using WMS rules engine to direct the users to put away the material to appropriate locations. Please refer to Oracle Warehouse Management Users Guide for detailed information on how to perform RMA receiving transactions 3.4.5 Extract RMA Receipt Data from Distributed and Import into Host System The system integrator can query all the RMA receipts from the Receipt Confirmation view (RCV_RECEIPT_CONFIRMATION_V) for which confirmation has not been sent to the host system. They can then convert this information into appropriate format to populate the receiving interface tables of the host system. This can be achieved in either of the following ways As an implementation step, using published APIs or views create and schedule a concurrent program which will extract the RMA receipt data from Distributed system and populate the receiving interface tables on host system or Create and configure ODI maps. For more details on how to create and configure an ODI map, please refer to Distributed WMS Integrations white paper.

For more details on how to utilize Receipt Confirmation view please refer to Inbound Material Flow section 3.1.5.

Oracle Corporation

Confidential

Page 32 of 46

Oracle Distributed WMS Solution 3.4.6 Process RMA Receipt in the Host System Once the receiving interface tables are populated with RMA receipt data, the receipt information can be processed in the host system. If the host system is an Oracle EBusiness Suite, then the information can directly be written into the Receiving Documents Open Interface of the host system. System integrator should load the receipt information of Distributed system in the receiving interface tables of the host system. Once the receipts have been imported into Receiving Documents Open Interface, one can schedule the Receiving Transaction Processor to process these transactions and create receipts in the host system. For the ROI related tables and interfaces, please refer to the section Process Receipt Information in Host System under the Inbound Flow section. To create the RMA transaction in distributed system for the corresponding RMA transaction in the host system: RCV_TRANSACTIONS_INTERFACE.RECEIPT_SOURCE_CODE should be set as CUSTOMER RCV_HEADERS_INTERFACE.RECEIPT_SOURCE_CODE should be set as CUSTOMER RCV_TRANSACTIONS_INTERFACE.SOURCE_DOCUMENT_TYPE should be set as RMA RCV_TRANSACTIONS_INTERFACE.TRANSACTION_TYPE should be set as RECEIVE RCV_TRANSACTIONS_INTERFACE.AUTO_TRANSACT_CODE should be set as DELIVER VALIDATION_FLAG column in both RCV_HEADERS_INTERFACE and RCV_TRANSACTIONS_INTERFACE should be set as Y. Assumptions Some of the assumptions for the above flow are re-summarized 1) All the required reference data must be created in advance in the Distributed system before the RMA is sent. 2) There will be one to one mapping of RMAs between host and Distributed system i.e. for every RMA in the host system, a corresponding RMA will be created in the Distributed system. 3) The RMA number in the Distributed system should be same as RMA number in the host system.

Oracle Corporation

Confidential

Page 33 of 46

Oracle Distributed WMS Solution

3.5

Manufacturing to Distribution Center Material Flow


In a typical manufacturing environment, goods are manufactured in the plants and are stored and distributed through finished goods (FG) warehouses or distribution centers (DC). The customer demand is fulfilled through these FG warehouses or DC, which in turn drives the planning, and production in the plants. The customers can model this in various ways a. The manufacturing plant may operate on a legacy system while planning and other functions are maintained in a central ERP or host system. Warehouse is a separate organization using the Distributed WMS solution and once the finished goods are manufactured in the plant, they are transferred to warehouse or DC. The warehouse may also store raw materials and supply it to the manufacturing plant. b. When the finished goods are manufactured and stored in a dedicated storage area for finished goods (subinventory within same organization or a separate warehouse). In such a case customer may want to upgrade the storage area to Distributed WMS so that they can utilize the latest features of the EBS WMS and will need a mechanism to bring the finished goods inventory into Distributed WMS system.
Mfg to DC Transfer Process Flow

Legacy Mfg System

Process interface records to create work order

Complete work order and send goods to warehouse

Host (EBS 11.5.10)

Populate WIP Interface on Mfg system

Create Inter org transfer to move goods from plant to warehouse/DC

Complete work order Process the receipt transactions

Create Job Order Transform intransit shipment to equivalent purchase order and populate PO interface on standalone instance Transform PO receipt into intransit receipt and populate receiving open interface.

Distributed WMS (EBS 12.1)

Process PO interface record to create PO

Receive and putaway the product from manufacturing

Implementation Step

Out of the box

Figure 6: Overview of Manufacturing to DC Process Flow when Manufacturing operates on a Legacy System The figure above displays how manufacturing to DC material flow can be mapped for scenario A. In the figure the host is assumed to be EBS 11.5.10 and the Distributed system is EBS 12.1.1. However the host system can be any other version of EBS, other ERP or legacy system. Oracle Corporation Confidential Page 34 of 46

Oracle Distributed WMS Solution

We can break down the flow in the following steps 1) Create and approve job order in the host system and send job information to legacy manufacturing system. 2) Receive job completion information from legacy manufacturing system and create an inter org transfer to move material from plant to DC. 3) Use ODI maps or using published APIs, schedule a concurrent program to convert intransit shipment into an equivalent PO and insert into receiving interface tables of distributed system. 4) Import and process purchase order in the distributed system. 5) Receive and put away the material in the distributed system. 6) Use ODI maps or using published APIs create and schedule a concurrent program to import and convert PO receipt information from distributed system into intransit shipment receipt and receive corresponding shipment lines in the host system 3.5.1 Create and Approve Job order in Host System A manufacturing job order will be created in the host system. If host is an EBS system, job orders can be created through forms or using WIP open interfaces. The job order is sent to manufacturing system Please refer to Oracle Work in Process Users Guide for detailed information on how to create job orders. 3.5.2 Create and Approve Intransit Shipment in Host System When the job is completed in the legacy manufacturing system, the host needs to complete the job order and create an inter org transfer to move the finished goods from plant to warehouse or DC. Transform Intransit Shipment into Equivalent PO and Populate PO Interface Tables of Distributed System. As an implementation step, the system integrator needs to convert the inter org transfer shipment data into an equivalent purchase order against which distributed warehouse can receive the finished goods when it is received from the manufacturing plant. This can be achieved by: Using published APIs/Views - System integrator can create and schedule a concurrent request to extract shipment data for inter org data from material transaction. The data should then be transformed into an equivalent purchase order against which distributed system can receive the material. Using ODI Maps - For more details on how to create and configure an ODI map, please refer to Distributed WMS Integrations white paper

3.5.3

The data will be inserted into purchasing interface tables of the distributed system. The PO number should be same as the intransit shipment number to maintain the reference between the two systems. 3.5.4 Import and Process PO in Distributed System Please refer to Inbound Material Flow Section 3.1.3 to get details on how to import and process PO in a Distributed system. Receipt of Material in the Warehouse When material is physically received in the warehouse, it is received against the purchase order in the distributed warehouse. Users can configure the put away rules Confidential Page 35 of 46

3.5.5

Oracle Corporation

Oracle Distributed WMS Solution using WMS rules engine to direct the users to put away the material to appropriate locations based on the business constraints. Please refer to Oracle Warehouse Management Users Guide for detailed information on how to perform receiving transactions. 3.5.6 Import Receipt Confirmation in Host System As an implementation step, system integrators can query the Receipt Confirmation view directly to fetch all the new receipts for which confirmation has not been sent to the host system. They will then need to convert the PO receipt of the Distributed instance into an equivalent intransit shipment receipt and insert the data into receiving interface tables of the host system. This can be achieved by Using ODI Maps - For more details on how to create and configure an ODI map, please refer to Distributed WMS Integrations white paper Using published APIs - System integrator can create and schedule a concurrent request to extract the receipt data from Distributed system and insert into receiving interface tables of the host system.

The host system should process the receipt information obtained from the distributed system and update its inventory. Also the program distinguishes these PO receipts from other supplier PO receipts, which will be processed as PO receipts in the host system. You can use the supplier to distinguish the receipts, which are done for finished goods received from the plant. These receipts will be played back as intransit shipment receipt in the host system. For this you can either create a dummy supplier or setup plant as a supplier. Any PO receipts queried from the view against this dummy supplier will then be played back as intransit shipment receipt in the host system. 3.5.7 Other Considerations 1. The distributed warehouse may also store and supply the raw material to the plant. For this the host will create an internal requisition to move the raw material from DC or warehouse to manufacturing plant. Since the distributed system will not support any manufacturing transactions, the plant organization will not be mapped into a distributed instance. An internal order can be sent as a shipment request to the distributed instance using the Create Shipment Batches program. Once the shipment is done from the warehouse a shipment advice will be sent which can be played back in the host system 2. For model B described above, if the dedicated storage area is a separate warehouse then it will be an inter-org transfer in the host system. This inter org intransit receipt should be received as an Alias receipt in the distributed instance to bring the inventory into the distributed instance. 3. For model B described above, if the dedicated storage area is a subinventory within the plant organization, then it will be a subinventory transfer process where finished goods are transferred to the dedicated subinventory after the job is completed. As an implementation step, system integrators can create program to perform Alias or Miscellaneous receipt into the finished goods subinventory in the distributed system for all the subinventory transfers, which happen between shop floor and finished goods area in the host system.

Oracle Corporation

Confidential

Page 36 of 46

Oracle Distributed WMS Solution Assumptions Some of the key assumptions for the manufacturing to DC material flow described above are summarized again 1) All the required reference data must be created in advance in the distributed system before shipment request is sent. 2) The PO number in the receiving instance is same as the intransit shipment number of the host system. 3) The manufacturing plant must be defined as supplier in the distributed system.

Oracle Corporation

Confidential

Page 37 of 46

Oracle Distributed WMS Solution

3.6

Inventory Management
3.6.1 Inventory Adjustments In case of a distributed warehouse, the host system needs to track inventory of material at different warehouses so that it can plan and source material. Apart from receipts and shipments, there are some other processes, which can update inventory in a warehouse. This includes adjustments due to cycle counts, miscellaneous receipts and miscellaneous issues etc. The warehouse needs to send such inventory adjustments to the host system. The following figure below gives an overview of the steps involved in synchronizing inventory between the host system and the Distributed warehouse system. The Distributed solution will provide a view (MTL_ADJUSTMENT_TXN_SYNC_V), which will provide all the detailed information for the following transactions cycle count and physical inventory adjustments, miscellaneous issue and receipts, account alias issue and receipts, sub inventory transfers, move order transactions, staging transfer transactions. The view will extract the information for all the adjustment transactions for which confirmation has not been sent. As an implementation step, system integrators will need to extract the adjustment information from this view and transform it to populate the material transaction interface (MTI) table in the host system. This can be done by either of the following ways Using ODI Maps - For more details on how to create and configure an ODI map, please refer to Distributed WMS Integrations white paper Using published APIs - System integrator can create and schedule a concurrent request to extract the adjustment data from Distributed system and insert into interface tables of the host system.

Some of the key columns in this view are Column TRANSACTION_DATE WAREHOUSE ITEM SUBINVENTORY/LOCATOR/LPN TRANSFER_SUBINVENTORY/ TRANSFER_LOCATOR/ TRANSFER_LPN TRANSACTION_QUANTITY TRANSACTION_TYPE TRANSACTION_SOURCE TRANSACTION_EXTRACTED Mapping Date of transaction Distributed warehouse Item Name SKU of the transaction Destination SKU for the transfer type transaction

Quantity transacted Type of transaction based on lookup codes Source of transaction based on lookup codes Flag to indicate if this transaction has been sent to the host system

A new flag (TRANSACTION_EXTRACTED) in MTL_MATERIAL_TRANSACTIONS (MMT) table has been created, which can be updated using public API INV_STANDALONE_SYNC_PUB.Sync_Adjustment_Transactions() to indicate the status if the adjustment confirmation has been sent to the host system or not. Customers can update the flag with any of the following values, which can indicate any of the following statuses NULL Adjustment confirmation not sent to the host system Oracle Corporation Confidential Page 38 of 46

Oracle Distributed WMS Solution Sent But Pending Confirmation Adjustment confirmation sent to the host system but awaiting confirmation if host system received it successfully or not. Sent Confirmed - Adjustment confirmation successfully received by the host system. For simplicity, it is recommended that the host system creates an alias receipt or issues against the adjustments done in the Distributed system, e.g. creating an alias issue/receipt for cycle count or physical inventory adjustments in warehouse. For greater control and visibility, the host system can also have a one to one mapping of the adjustment transactions e.g. populating the cycle count interface of the host with cycle count adjustments done in warehouse and then processing these interface records. In order to maintain a reference of adjustment transactions in the host system, it is recommended to populate the transaction reference field in Material Transaction Interface (MTI) of the host system with the transaction ID field of the MMT in the Distributed system for all the adjustment transactions, which have been sent and successfully received in the host system.

Inventory Adjustments
Process the adjustment transactions

Host System

Populate adjustment information into material transaction interface

Distributed System

Perform adjustment transactions e.g. Cycle count adjustment

Please refer to Standalone WMS ODI white paper for more details on how to use ODIs.

Implementation Step

Out of the box

Figure 7: Overview of Inventory Adjustments Synchronization 3.6.2 On Hand Balances The host system needs to track accurate on hand balances in the Distributed system. This is required for order fulfilment and planning purposes. The Distributed solution will provide a view MTL_ONHAND_SYNC_UP_V that will provide the details about the on hand quantity of items like total on hand quantity, lot and serial details, snapshot date etc. As an implementation step, system integrators can extract the information from this view and create a report to compare with on hand balances in the host system on a periodic basis. On hand balance can be in the form of a flat file or XML file depending on the best method that the host system can make use of. Any mismatch between the host and

Oracle Corporation

Confidential

Page 39 of 46

Oracle Distributed WMS Solution Distributed will indicate that transactions are not reconciled between the two systems and can serve as a trigger to initiate the synchronization process. Some of the key columns in this view are Column WAREHOUSE ITEM SUBINVENTORY/LOCATOR/LPN PRIMARY_QUANTITY SNAPSHOT_DATE ONHAND_STATUS Mapping Distributed warehouse Item available on hand SKU information of the material Quantity available in the SKU Date and time when the snapshot was taken Status of the material involved

The view information is based on MTL_ONHAND_QUANTITIES_DETAIL table for all items other than serial controlled items. For serial controlled items, the information is retrieved from MTL_SERIAL_NUMBERS table. If the on hand balances between the two systems are not same then users need to make sure that all the receipt and shipment confirmations have been sent to the host along with any adjustments transactions. If the discrepancies still persist then they might need to compare the transactions history between the two systems and take appropriate actions for the missing transactions. The remedial actions could be: Subinventory Transfer: If the material resides in a different SKU Miscellaneous Receipt: If the material is in deficit in the SKU Miscellaneous Issue: If the material is in excess in the SKU

Oracle Corporation

Confidential

Page 40 of 46

Oracle Distributed WMS Solution

3.7

Synchronization of Reference Data


In order to execute above flows, reference data such as item, customers, and vendors (or suppliers) needs to be synchronized between the host system and the Distributed system. Figure below gives an overview of the steps involved in synchronizing reference data between the host system and the Distributed system. It should be noted that the host system is the owner of reference data. Customers can use Oracle Data Integrator (ODI) for all data related integrations i.e. to synchronize the reference data as well as transactional data like Purchase and sales order from the host system to Distributed and receipt confirmations and shipment advices from the Distributed to host system. ODI can be used as data transfer tool since ODI is designed for migrating and transforming data across database instances ODI has the ability to migrate data across different database technologies. This means Distributed instance and ERP do not need to be of identical Applications version or RDBMS release. ODI has the ability to directly invoke web services if the customer wants to bypass the open interface and perform the transactions in real time. ODI has a Journalizing capability that discovers which transaction records are new. This needs to be used to facilitate incremental synchronization.

For more details on ODI mappings and configurations in Distributed WMS, please refer to Distributed WMS Integrations white paper.

Oracle Corporation

Confidential

Page 41 of 46

Oracle Distributed WMS Solution

Host System
Interface for the host system

Use Oracle ODI B2B or Integration Layer or Create program to extract item,

supplier and customer data from the host system and insert into Oracle Distributed WMS open interfaces

Insert records in Oracle distributed system open interface

Oracle Distributed WMS Open Interfaces


Customer Open Interface Item Open Interface Supplier Open Interface

APIs

Oracle Distributed WMS System

Figure 8: Overview of reference data transfer from legacy system to oracle Distributed system 3.7.1 Import Item Information One can import items from any source into Oracle Distributed System using the item open interfaces. It allows you to convert inventory Items from another inventory system, migrate assembly and component items from a legacy manufacturing system, convert purchased items from a custom purchasing system, and import new items from a Product Data Management package. You can also import item category assignments. This can be Oracle Corporation Confidential Page 42 of 46

Oracle Distributed WMS Solution done simultaneously with process of importing items, or as a separate task of importing item category assignments only. When items are imported through the item open interface in Distributed system, it can create new item in item master organization, update existing item, or assign existing item to additional organizations. You can specify values for all the item attributes, or you can specify just a few attributes and let the remainder default or remain null. The Item Interface also lets you import revision details, including past and future revisions and effectivity dates. Item Category assignments can also be imported simultaneously with the process of importing items, or later as a separate task. System Integrators must extract item information from the host system and inserts the records into the item and item category interface tables of distributed system. A simple flow to achieve this is as follows: Write a custom program that extracts item information from the host system. Inserts the records into the MTL_SYSTEM_ITEM_INTERFACE table in the distributed system. If you want to include revision details, you must also insert into MTL_ITEMS_REVISIONS_INTERFACE To assign items to specific categories, you can insert records into MTL_ITEM_CATEGORIES_INTERFACE. After you load item, revision, and item category assignment records into the above interface tables, you can run the Import Items concurrent program to import the data. The Item Interface assigns defaults values to missing data, validates the data you inserted and then imports the new items or modifies existing items. Some of the key columns and their recommended values are mentioned below: Column SEGMENTn Mapping Segments used should correspond to the System Items key flexfield segments that were defined for the item and used to identify the items in Inventory Warehouse Organization that the item belongs to and either one of these columns needs to be populated Item description CREATE to import new items Set as Y

ORGANIZATION_ID ORGANIZATION_CODE DESCRIPTION TRANSACTION_TYPE SHIPPABLE_ITEM_FLAG PURCHASING_ITEM_FLAG PURCHASING_ENABLED_FLAG CUSTOMER_ORDER_FLAG INVENTORY_ITEM_FLAG SO_TRANSACTIONS_FLAG MTL_TRANSACTIONS_ENABLED_FLAG INVOICEABLE_ITEM_FLAG INVOICE_ENABLED_FLAG COSTING_ENABLED_FLAG SUBINVENTORY/LOCATOR/LPN

Set as N or not populated (default is N) as items are not costed in the distributed system SKU information of the material

Oracle Corporation

Confidential

Page 43 of 46

Oracle Distributed WMS Solution Another method to import items is to use an Oracle Public API EGO_ITEM_PUB.PROCESS_ITEMS. You can use this API to create and/or update multiple items. For more details on how to use this API, please refer to Oracles Integration Repository that is shipped as part of Release 12.1 Oracle E-business Suite. For ease and simplicity, it is recommended to define the items as plain item and maintain inventory at aggregate (subinventory) level in the host system while maintain specific inventory controls like lot or serial control for the item in the distributed system. In certain scenarios, if the host system wants to maintain the exact details then the item and location controls can be same in the host and distributed system. . Please refer to Oracle Inventorys Open Interfaces and APIs manual for information on how to use Item Open Interfaces to update item information in Distributed system. 3.7.2 Import Supplier Information One can import suppliers, supplier sites and their contacts into Oracle Distributed System using the Suppliers open interface. A simple flow to achieve this is as follows: Write a custom program to extract supplier information from the host system. Inserts the records into the AP_SUPPLIERS_INT, AP_SUPPLIER_SITES_INT, and AP_SUP_SITE_CONTACT_INT tables for suppliers, supplier sites and supplier contacts respectively in the distributed system. After you load records into these interface tables, you can run the Suppliers Open Interface Import, Supplier Sites Open Interface Import and Supplier Contacts Open Interface Import concurrent programs to import the data. The Supplier Open Interface programs assigns defaults the missing data, validates the data you included, and then imports the new suppliers or modifies existing suppliers and related data. When all validations are passed, records are inserted into PO_VENDORS, PO_VENDOR_SITES_ALL and PO_VENDOR_CONTACTS respectively. Please refer to Oracle Payables Reference Guide for detailed information on how to make use of Supplier Open Interface to update Supplier information the warehouse system. 3.7.3 Import Customer Information One can import customers from any source into Oracle Distributed system using the Customer open Interface. With this interface, you can create new customers or update existing customers. A simple flow to achieve this is as follows: Write a custom program that converts data from the host system into a standard data format that Oracle Customer Interface can read. For example, you can use SQL*Loader, SQL*Report, PL/SQL, or C to write an import program to import data from a nonOracle system. You can also write a conversion program to import historical data from your original customer database. Regardless of the type of import program you write, the output should be in a standard data format that Oracle Customer Interface program can use to import the information into Oracle Receivables. Oracle Corporation Confidential Page 44 of 46

Oracle Distributed WMS Solution The data can then be transferred into RA_CONTACT_PHONES_INTERFACE, RA_CUSTOMER_PROFILES_INTERFACE, RA_CUSTOMER_INTERFACE, RA_CUSTOMER_BANKS_INTERFACE and RA_CUST_PAY_METHOD_INTERFACE tables. Once the import data is loaded into the interface tables, you can run the Customer Interface concurrent program to import the data. This will assigns defaults values to missing data, validates the data you inserted and then import the new customers into Receivables base customer tables.

Please refer to Oracle Trading Community Architecture User Guide for detailed information on how to make use of Customer Open Interface to update Customer information in the warehouse system.

Oracle Corporation

Confidential

Page 45 of 46

Oracle Distributed WMS Solution

Oracle Distributed WMS July 2009 Author: Dinesh Ramamoorthy, Karun Jain, Shreejit Mitra, Mitesh Gupta

Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A.

Worldwide Inquiries: Phone: +1.650.506.7000 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 2002 Oracle Corporation All rights reserved.

Oracle Corporation

Confidential

Page 46 of 46

You might also like