But moving data is
only half the battle. For architects, the real challenge is ensuring that "Virtual" inventory—the numbers in your
ERP—always matches the "Physical" inventory—the
boxes on your warehouse shelves. By utilizing Oracle Integration Cloud (OIC) as
the brain and Autonomous Data Warehouse (ADW) as
the intelligent auditor, we can automate this entire lifecycle, ensuring no
invoice is sent until the goods have physically departed.
A global enterprise manages thousands of Sales Orders daily within Oracle Fusion SCM. These orders must be seamlessly transmitted to Oracle WMS Cloud for physical execution. The solution must:
- Prevent Duplicate Processing: Use ADW logic to ensure no shipment is interfaced twice.
- Maintain Real-time Accuracy: Capture LPN (License Plate Number) and tracking data during packing.
- Automate Revenue Recognition: Trigger billing in Fusion only after physical ship-confirmation in WMS.
The journey of a Sales Order from demand to delivery follows a strict seven-step technical sequence:
- Demand Capture: The Sales Order is booked and scheduled in Fusion Order Management.
- Logical Reservation: Fusion SCM runs "Pick Release" to earmark inventory.
- Data Handover: OIC captures the shipment event and pushes the order to WMS Cloud.
- Warehouse Intake: WMS Cloud validates the data and prepares for the "Wave."
- Physical Execution: Warehouse staff pick, pack, and manifest the order.
- Ship Confirmation: WMS generates the "Outbound Shipment Message" (OSM) containing actuals.
- Financial Handshake: OIC triggers the final SCM jobs to close the shipment and initiate billing.
3. Step-by-Step Technical Breakdown : Other than ADW rest is Part of Oracle OOB solution
Step 1: Demand & Reservation (Fusion SCM)
The process starts when a Sales Order moves to
a "Scheduled" status and user triggered ESS Job Release
Sales Orders for Picking, on execution this job creates Shipment Lines and
reserves inventory at the Organization level. It moves the order status
to "Released to Warehouse."
Step 2: The Integration Trigger
Once pick released is completed , we need to package this data for the outside world. Use ESS job the Generate Shipment Request scheduled process for sending shipment lines to external systems (WMS)- ESS Job Name: Generate Shipment Request.
- Business Event : OutboundShipment Request.
- Steps to Run ESS Job: Generate Shipment Request.
- Navigate to work area.
- Click Schedule New Process and search for Generate Shipment Request.
- Specify the appropriate values and then run the scheduled process.
- The event will be published when the process completes
- OIC Role: OIC "listens" for this business event. Before proceeding to push data to WMS , we have added a CUSTOM step to calls a custom PL/SQL API in ADW to log the Request ID and perform a de-duplication check, ensuring the warehouse never receives a duplicate order.
Once OIC job triggered by business event (in Step#2) , it uses the Oracle ERP Cloud Adapter to fetch the full shipment payload and maps it to the WMS Cloud REST API (/v1/order/ , Operation POST) and
creates an Outbound (OB) Order. The order is now visible to the Warehouse Manager and ready for "Waving."Step 4: Warehouse
Execution (Pick, Pack, & LPN)
This is where the physical work happens.
Packing Station: Items are brought to a station where they are scanned into shipping cartons.
LPN Generation: WMS generates a License Plate Number (LPN) for each box and captures the carrier Tracking Number.
When the truck is loaded, the manager/user clicks "Ship Confirm" in WMS.
Ship confirm job in WMS send Outbound Shipment Message (OSM) via WMS Output Interface to the integration layer. This JSON/XML payload contains the Actuals—exactly how many units were shipped, which LPNs they are in, and the tracking numbers.
OIC once received the OSM , Map message details to the shipmentTransactionRequests REST service and calls the Fusion ShipmentService to record the LPN and tracking data.
User need to run ESS Job Perform Shipping Transactions & Interface Sales Order Signals.( if these are not scheduled) . ESS Job Perform Shipping Transactions officially reduces the "On-Hand" inventory in Fusion , and ESS Job Interface Sales Order Signals tells Order Management to move the line to "Shipped" and trigger Auto-Invoice.
4. Technical Summary
Table
|
Phase |
Oracle Component |
Technical Identifier / Name |
|
Outbound |
Business Event |
OutboundShipment Request |
|
Outbound |
ESS Job |
Generate Shipment Request |
|
OIC OOB Job |
Integration Recipe |
Oracle Fusion SCM to WMS Cloud - Sales Order
Integration |
|
Warehouse |
REST API |
POST /v1/order/ |
|
Inbound |
WMS Message |
OSM (Outbound Shipment
Message) |
|
Inbound |
ESS Job |
Perform Shipping Transactions |
|
Finance |
ESS Job |
Interface Sales Order Signals |
5. Exception Handling & Resilience
In a production
environment, "Happy Path" isn't enough. Our architecture
leverages ADW for proactive error
management:
- Inventory
Mismatch: If WMS picks fewer items than SCM
reserved (a "Short Ship"), OIC detects the discrepancy during the OSM
processing and triggers an alert in the ADW dashboard.
- Job
Status Monitoring: OIC doesn't just
"fire and forget" the Perform Shipping Transactions job. It uses a callback pattern to
check the ESS Job status. If the job fails (e.g., due to a closed accounting
period), OIC logs the error in ADW and sends an automated notification to the
Shipping Manager.
Test Case: Standard Fulfillment
Scenario: Customer orders 50 Units.
Fusion: Order booked. Pick Release run; status moves to Released to Warehouse.
Integration: OIC captures the event, validates against ADW, and creates the order in WMS.
WMS: Worker picks 50 units. At the Packing Station, they are packed into 2 LPNs (25 units each).
Shipping: Load is closed. WMS sends the OSM with 2 LPNs and 2 Tracking Numbers.
Closure: OIC triggers Perform Shipping Transactions. Fusion inventory drops by 50.
Billing: Interface Sales Order Signals runs. Sales Order status changes to Shipped. Customer is invoiced.
