OOHEAD
Prefix: OAtransactionThe customer order header — one row per order, carrying the customer, order type, dates, and currency, plus the pair of status fields (lowest and highest line status) that summarize where the order's lines stand
What the badges mean
- Prefix: MM
- Prefix: the table’s 2-character physical-column prefix (e.g.
MMonMITMAS) — every field alias on the table carries it. Join by matching aliases across tables, not full column names (see the quirks guide). - master
- Data class: what the table holds — master data, balances, transaction documents, code/reference tables, or history.
- Shared across companies
- The table carries no
CONO— rows aren’t partitioned per company (see the quirks guide). - Division-level
- The table carries
DIVI— rows are scoped below company to a division, one layer more granular thanCONOalone (see the quirks guide).
Header & line
OOHEAD is the header for its lines in OOLINE.
Fields
15 fields · 2 key
15 fields.
| Key | Field | Alias | Description | Type | Length | Flags |
|---|---|---|---|---|---|---|
| Key | OACONO | CONO | Company | numeric | ||
| Key | OAORNO | ORNO | Customer order number — the key order lines join on | alphanumeric | ||
| OAORSL | ORSL | Lowest line status on the order — with the highest status, brackets where the order's lines stand | alphanumeric | |||
| OAORST | ORST | Highest line status on the order | alphanumeric | |||
| OAORTP | ORTP | Customer order type — the code that drives the order's process flow | alphanumeric | |||
| OACUNO | CUNO | Customer the order belongs to | alphanumeric | |||
| OACUOR | CUOR | Customer's own order reference | alphanumeric | |||
| OAORDT | ORDT | Order date | numeric | |||
| OARLDT | RLDT | Requested delivery date at the header level | numeric | |||
| OACUCD | CUCD | Order currency | alphanumeric | |||
| OAFACI | FACI | Facility the order is processed in | alphanumeric | |||
| OAWHLO | WHLO | Default warehouse for the order's lines | alphanumeric | |||
| OATEDL | TEDL | Delivery terms — the Incoterms-style code the order ships under, inherited from the customer | alphanumeric | |||
| OAMODL | MODL | Delivery method for the order — how the goods travel | alphanumeric | |||
| OAINRC | INRC | Invoice recipient — the bill-to party when it differs from the orderer | alphanumeric |
Field provenance: hand-curated.
Boilerplate SQL
Starting point for reading OOHEAD on Databricks — numeric YYYYMMDD dates are wrapped to NULL, verified status ladders are decoded, and the CONO anchor is in place. Set your Unity Catalog location, company, and filter values below; they’re substituted into the SQL and the copy button.
6 parameters not filled: <catalog>, <schema>, <company>, <ORNO>, <DATE_FROM>, <DATE_TO>
-- ============================================================
-- Table : OOHEAD — The customer order header — one row per order, carrying the customer, order type, dates, and currency, plus the pair of status fields (lowest and highest line status) that summarize where the order's lines stand
-- Purpose: Column-selected read of OOHEAD — auto-generated from field metadata
-- Grain : One row per company (CONO) + OAORNO
-- Notes : Auto-generated skeleton for a prefixed physical M3 schema or a landing schema normalized to the prefixed names in this catalog. Raw Data Lake property names vary with the published object: map them through Data Catalog before running this SQL. Dates are numeric YYYYMMDD (0 = none, mapped to NULL); all curated status values are decoded inline. Audit columns (RGDT/RGTM/LMDT/CHNO/CHID) omitted — see the quirks guide.
-- ============================================================
SELECT
oh.OACONO AS "Company",
oh.OAORNO AS "Customer order number — the key order lines join on",
CASE oh.OAORSL WHEN '00' THEN 'Entry in progress (no order lines)' WHEN '05' THEN 'Quotation' WHEN '10' THEN 'Preliminary' WHEN '20' THEN 'Final (released)' WHEN '22' THEN 'Left to allocate' WHEN '23' THEN 'Partially allocated' WHEN '24' THEN 'Partly to allocate, partly on printed picking list' WHEN '26' THEN 'Partly to allocate, partly delivered' WHEN '27' THEN 'Partly to allocate, partly invoiced' WHEN '33' THEN 'Allocated' WHEN '34' THEN 'Allocated, partly on printed picking list' WHEN '36' THEN 'Allocated, partly delivered' WHEN '37' THEN 'Allocated, partly invoiced' WHEN '44' THEN 'Picking list printed' WHEN '46' THEN 'Picking list printed, partly delivered' WHEN '47' THEN 'Picking list printed, partly invoiced' WHEN '66' THEN 'Delivered' WHEN '67' THEN 'Delivered, partly invoiced' WHEN '77' THEN 'Invoiced' WHEN '90' THEN 'Deleted (no open order lines)' WHEN '99' THEN 'Completed without delivery' ELSE oh.OAORSL END AS "Lowest line status on the order — with the highest status, brackets where the order's lines stand", -- status: ORST_HEAD (all 21 curated values)
CASE oh.OAORST WHEN '00' THEN 'Entry in progress (no order lines)' WHEN '05' THEN 'Quotation' WHEN '10' THEN 'Preliminary' WHEN '20' THEN 'Final (released)' WHEN '22' THEN 'Left to allocate' WHEN '23' THEN 'Partially allocated' WHEN '24' THEN 'Partly to allocate, partly on printed picking list' WHEN '26' THEN 'Partly to allocate, partly delivered' WHEN '27' THEN 'Partly to allocate, partly invoiced' WHEN '33' THEN 'Allocated' WHEN '34' THEN 'Allocated, partly on printed picking list' WHEN '36' THEN 'Allocated, partly delivered' WHEN '37' THEN 'Allocated, partly invoiced' WHEN '44' THEN 'Picking list printed' WHEN '46' THEN 'Picking list printed, partly delivered' WHEN '47' THEN 'Picking list printed, partly invoiced' WHEN '66' THEN 'Delivered' WHEN '67' THEN 'Delivered, partly invoiced' WHEN '77' THEN 'Invoiced' WHEN '90' THEN 'Deleted (no open order lines)' WHEN '99' THEN 'Completed without delivery' ELSE oh.OAORST END AS "Highest line status on the order", -- status: ORST_HEAD (all 21 curated values)
oh.OAORTP AS "Customer order type — the code that drives the order's process flow",
oh.OACUNO AS "Customer the order belongs to",
oh.OACUOR AS "Customer's own order reference",
CASE WHEN oh.OAORDT = 0 THEN NULL ELSE TO_DATE(CAST(CAST(oh.OAORDT AS BIGINT) AS STRING), 'yyyyMMdd') END AS "Order date", -- YYYYMMDD, 0 → NULL
CASE WHEN oh.OARLDT = 0 THEN NULL ELSE TO_DATE(CAST(CAST(oh.OARLDT AS BIGINT) AS STRING), 'yyyyMMdd') END AS "Requested delivery date at the header level", -- YYYYMMDD, 0 → NULL
oh.OACUCD AS "Order currency",
oh.OAFACI AS "Facility the order is processed in",
oh.OAWHLO AS "Default warehouse for the order's lines",
oh.OATEDL AS "Delivery terms — the Incoterms-style code the order ships under, inherited from the customer",
oh.OAMODL AS "Delivery method for the order — how the goods travel",
oh.OAINRC AS "Invoice recipient — the bill-to party when it differs from the orderer"
FROM <catalog>.<schema>.OOHEAD oh
WHERE
oh.OACONO = <company>
-- AND oh.OAORNO = '<ORNO>'
-- AND oh.OAORDT >= <DATE_FROM> -- yyyyMMdd numeric
-- AND oh.OAORDT <= <DATE_TO> -- yyyyMMdd numeric
ORDER BY oh.OAORNO;Verified September 2026
Relationships
Diagram of 1-hop neighbors — join details below. CSYTAB decode edges are highlighted; they’re the joins newcomers most often get wrong.
Join details
-- Uses this catalog's prefixed M3 column names; map raw Data Lake properties through Data Catalog first. ON OOHEAD.OAORNO = OOLINE.OBORNO AND OOHEAD.OACONO = OOLINE.OBCONO-- Uses this catalog's prefixed M3 column names; map raw Data Lake properties through Data Catalog first. ON OOHEAD.OACUNO = OCUSMA.OKCUNO AND OOHEAD.OACONO = OCUSMA.OKCONO-- Uses this catalog's prefixed M3 column names; map raw Data Lake properties through Data Catalog first. ON ODHEAD.UAORNO = OOHEAD.OAORNO AND ODHEAD.UACONO = OOHEAD.OACONO-- Uses this catalog's prefixed M3 column names; map raw Data Lake properties through Data Catalog first. ON OOHEAD.OAFACI = CFACIL.CFFACI AND OOHEAD.OACONO = CFACIL.CFCONO
Programs That Use This Table
- OIS100 — Customer order entry — creates and maintains customer orders, writing the OOHEAD/OOLINE pairPrimary sourceInteractive
- OIS100MI — Customer order API — creates, reads, and maintains customer orders programmaticallyPrimary sourceAPI
- OIS101 — Customer order line entry — the line-level screen reached from OIS100, where the OOLINE rows under an OOHEAD header are entered and changedInteractive
- OIS300 — Customer order overview — the order-book view planners and customer service work fromPrimary sourceInteractive
More Customer Orders tables
- OOLINEThe customer order line — one row per ordered item with quantities across the ordered/delivered/invoiced flow, price, warehouse, and planned delivery date; the core sell-side transaction, joined to its header by ORNO
- OCUSMAThe customer master — one row per customer per company, with name and address, country, currency, and the default payment, delivery, and sales-rep terms new orders inherit