Skip to content
M3 Reference

OOHEAD

Prefix: OAtransaction

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

Module: Customer OrdersCompany-partitioned (CONO)
What the badges mean
Prefix: MM
Prefix: the table’s 2-character physical-column prefix (e.g. MM on MITMAS) — 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 than CONO alone (see the quirks guide).
In field listings, K marks a primary-key field.
Used in the library

Header & line

OOHEAD is the header for its lines in OOLINE.

Fields

15 fields · 2 key

15 fields.

Table fields: key flag, field name, column alias, description, data type, length, and decode flags. 15 fields.
KeyFieldAliasDescriptionTypeLengthFlags
KeyOACONOCONOCompanynumeric
KeyOAORNOORNOCustomer order number — the key order lines join onalphanumeric
OAORSLORSLLowest line status on the order — with the highest status, brackets where the order's lines standalphanumeric
OAORSTORSTHighest line status on the orderalphanumeric
OAORTPORTPCustomer order type — the code that drives the order's process flowalphanumeric
OACUNOCUNOCustomer the order belongs toalphanumeric
OACUORCUORCustomer's own order referencealphanumeric
OAORDTORDTOrder datenumeric
OARLDTRLDTRequested delivery date at the header levelnumeric
OACUCDCUCDOrder currencyalphanumeric
OAFACIFACIFacility the order is processed inalphanumeric
OAWHLOWHLODefault warehouse for the order's linesalphanumeric
OATEDLTEDLDelivery terms — the Incoterms-style code the order ships under, inherited from the customeralphanumeric
OAMODLMODLDelivery method for the order — how the goods travelalphanumeric
OAINRCINRCInvoice recipient — the bill-to party when it differs from the ordereralphanumeric

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.

Query parameters

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

  • OOHEADOOLINEheader line · 1:N
    -- 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
  • OOHEADOCUSMAforeign key · N:1
    -- 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
  • ODHEADOOHEADforeign key · N:1
    -- 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
  • OOHEADCFACILforeign key · N:1
    -- 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

More Customer Orders tables

Maintained by Summit Analytics, a supply chain analytics practice. The tools and references are free — the consulting is selective.

Part of the Summit Analytics reference library.

Work with the practice

Not affiliated with or endorsed by Infor. Infor, Infor M3, and Infor CloudSuite are trademarks of Infor and/or its affiliates.