EDI & Order Transmission: How RMS Talks to Suppliers
Approving a Purchase Order in RMS doesn't magically alert the supplier. Orders must be extracted, formatted, and transmitted electronically. Learn how the EDI 850 outbound batch process works, the role of the EDI_ORD_DTT staging table, and how ASNs (EDI 856) flow back into the system.
In the modern retail supply chain, calling suppliers or faxing orders is obsolete. High-volume purchasing relies entirely on Electronic Data Interchange (EDI)—a standardized method for exchanging business documents between systems.
When a Purchase Order is approved in Oracle RMS, it must be extracted and transformed into an EDI 850 format. This guide breaks down the outbound order transmission architecture, the batch programs involved, and how inbound shipping data (EDI 856) flows back.
1. The Outbound EDI 850 Workflow
When a buyer clicks "Approve" on a PO, RMS sets ORDHEAD.STATUS = 'A'. However, the supplier is completely unaware of the order until the EDI transmission runs.
The edidlord Batch
The extraction of POs is handled by an RMS Pro*C batch program called edidlord.pc (EDI Download Orders).
- Selection:
edidlordqueriesORDHEADfor all orders whereSTATUS = 'A'and the supplier is configured to receive EDI (checked viaSUP_TRAITS.EDI_ORDER_IND = 'Y'). - Translation: It gathers header data (
ORDHEAD), location quantities (ORDLOC), item details (ORDSKU), and cost components. - Staging: Instead of writing directly to a flat file, it populates intermediate staging tables (like
EDI_ORD_DTTandEDI_ORD_HEAD). - File Generation: A secondary translation tool (like Oracle B2B or a third-party EDI VAN) reads these staging tables, converts the data into the strict X12 EDI 850 format, and transmits it to the supplier.
First-Time Transmission vs. Revisions
If a PO is un-approved, revised, and re-approved, edidlord runs again. However, it sends an EDI 860 (Order Change) rather than a fresh 850. It does this by checking the REV_NO. If REV_NO > 0, it knows the supplier already has the base order and only sends the deltas.
2. EDI Staging Tables
Because strict EDI X12 formats are complex and vary slightly by region (e.g., EDIFACT in Europe), RMS does not hardcode the final output. Instead, it extracts the relational data into a flattened, easy-to-parse set of staging tables.
The Flatted View
The EDI_ORD_DTT (EDI Order Detail) table acts as a denormalized view of the PO. It contains the item, the location, the quantity, the unit cost, and the supplier's internal item number (VPN)—everything an external system needs to build a line item on an EDI 850.
3. Inbound ASNs (EDI 856)
Once the supplier packs the goods onto a truck, they transmit an Advance Shipment Notice (ASN) back to the retailer. This is the EDI 856 document.
An ASN tells RMS exactly what is on the truck, down to the specific carton barcode (SSCC-18).
The Inbound Flow
- The supplier's EDI VAN sends the EDI 856.
- A translation layer converts the 856 into the RIB payload format (e.g.,
ASNInDesc). - The RIB publishes the message to RMS.
- RMS consumes the ASN and creates an Inbound Shipment record (
SHIPMENTandSHIPSKUtables). - The warehouse management system (WMS) now has visibility to the incoming truck, allowing them to schedule dock doors and prepare for receiving.
Blind Receiving
If an ASN is delayed or fails to process, the warehouse must perform "Blind Receiving"—manually scanning and counting every item on the truck because they don't have the electronic packing slip. This drastically slows down warehouse operations.
4. Core Tables Reference
EDI Order Staging (EDI_ORD_DTT)
| Column | Type | Description |
|---|---|---|
ORDER_NO | NUMBER(12) | The RMS purchase order number. |
ITEM | VARCHAR2(25) | The RMS item number. |
VPN | VARCHAR2(30) | The Vendor Product Number (crucial for the supplier to identify the item). |
LOCATION | NUMBER(10) | The destination location. |
QTY_ORDERED | NUMBER(12,4) | The quantity to be shipped. |
UNIT_COST | NUMBER(20,4) | The agreed-upon unit cost for the EDI transmission. |
5. SQL Deep Dives
Checking if a PO has been Staged for EDI
When a buyer complains that a supplier "never got the order," the first troubleshooting step is checking if RMS actually staged it.
Finding ASNs Linked to a PO
To see if the supplier has notified RMS that the goods are in transit:
6. Common Gotchas
Important Gotchas
- !
Approving orders for Non-EDI Suppliers. If
SUP_TRAITS.EDI_ORDER_IND = 'N', theedidlordbatch will ignore the Approved PO completely. The PO will sit in RMS forever unless someone manually emails a PDF copy to the supplier. - !
Missing VPNs (Vendor Product Numbers). RMS knows the item as
10012345, but the supplier knows it asXY-999. If theITEM_SUPPLIERtable is missing the VPN, the EDI 850 goes out with a blank identifier, and the supplier's ERP system will reject the order. - !
ASN Quantity Mismatches. If the supplier transmits an ASN for 500 units, but the PO only has 400 units of
STOCK_ON_ORDERleft, the ASN message will fail in the RIB and drop to the hospital tables. Tolerances must be configured correctly to handle slight overages.
7. Key Takeaways
Key Takeaways
- Approving a PO in RMS is only half the battle. The
edidlordbatch must extract the order and stage it for transmission via EDI 850. - RMS uses staging tables like
EDI_ORD_HEADandEDI_ORD_DTTto denormalize the PO data, making it easy for external EDI translation software to generate the strict X12 files. - Inbound ASNs (EDI 856) are critical for warehouse efficiency. They create
SHIPMENTrecords in RMS, providing visibility into exactly what is on the inbound truck before it arrives. - Supplier configuration is paramount. If
EDI_ORDER_INDis 'N', or if Vendor Product Numbers (VPNs) are missing, the electronic supply chain breaks down immediately.
8. Official Oracle Resources
For further reading, consult the official Oracle documentation:


