Skip to content
M3 Reference

OOLINE

Prefix: OBtransaction

The 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

Module: Customer OrdersCompany-partitioned (CONO)Header: OOHEAD
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.

Header & line

OOLINE lines join back to their header OOHEAD — and the CONO — so a line never fans out across companies.

Fields

14 fields · 4 key

14 fields.

Table fields: key flag, field name, column alias, description, data type, length, and decode flags. 14 fields.
KeyFieldAliasDescriptionTypeLengthFlags
KeyOBCONOCONOCompanynumeric
KeyOBORNOORNOCustomer order numberalphanumeric
KeyOBPONRPONROrder line numbernumeric
KeyOBPOSXPOSXLine suffix — subdivides a line when it is split (e.g. partial deliveries)numeric
OBORSTORSTLine status — two independent numerals, lowest and furthest degree of processing, so mixed pairs like 46 mean partly picked, partly deliveredalphanumeric
OBITNOITNOItem orderedalphanumeric
OBORQTORQTOrdered quantity in the basic unitnumeric
OBDLQTDLQTDelivered quantity so farnumeric
OBIVQTIVQTInvoiced quantity so farnumeric
OBSAPRSAPRSales price per price unit on the linenumeric
OBWHLOWHLOWarehouse the line ships fromalphanumeric
OBDWDTDWDTPlanned delivery date for the linenumeric
OBORQAORQAOrdered quantity in the alternate (order) unit of measure — the basic-unit figure sits in ORQT alongside itnumeric
OBSAAMSAAMLine sales amount — divided by the ordered quantity it yields the unit base pricenumeric

Field provenance: hand-curated.

Boilerplate SQL

Starting point for reading OOLINE 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  : OOLINE — The 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
-- Purpose: Column-selected read of OOLINE — auto-generated from field metadata
-- Grain  : One row per company (CONO) + OBORNO + OBPONR + OBPOSX
-- 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
  ol.OBCONO AS "Company",
  ol.OBORNO AS "Customer order number",
  ol.OBPONR AS "Order line number",
  ol.OBPOSX AS "Line suffix — subdivides a line when it is split (e.g. partial deliveries)",
  CASE ol.OBORST WHEN '05' THEN 'Quotation' WHEN '10' THEN 'Preliminary' 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 '99' THEN 'Completed without delivery' ELSE ol.OBORST END AS "Line status — two independent numerals, lowest and furthest degree of processing, so mixed pairs like 46 mean partly picked, partly delivered",  -- status: ORST_LINE (all 18 curated values)
  ol.OBITNO AS "Item ordered",
  ol.OBORQT AS "Ordered quantity in the basic unit",
  ol.OBDLQT AS "Delivered quantity so far",
  ol.OBIVQT AS "Invoiced quantity so far",
  ol.OBSAPR AS "Sales price per price unit on the line",
  ol.OBWHLO AS "Warehouse the line ships from",
  CASE WHEN ol.OBDWDT = 0 THEN NULL ELSE TO_DATE(CAST(CAST(ol.OBDWDT AS BIGINT) AS STRING), 'yyyyMMdd') END AS "Planned delivery date for the line",  -- YYYYMMDD, 0 → NULL
  ol.OBORQA AS "Ordered quantity in the alternate (order) unit of measure — the basic-unit figure sits in ORQT alongside it",
  ol.OBSAAM AS "Line sales amount — divided by the ordered quantity it yields the unit base price"
FROM <catalog>.<schema>.OOLINE ol
WHERE
  ol.OBCONO = <company>
  -- AND ol.OBORNO = '<ORNO>'
  -- AND ol.OBDWDT >= <DATE_FROM>  -- yyyyMMdd numeric
  -- AND ol.OBDWDT <= <DATE_TO>  -- yyyyMMdd numeric
ORDER BY ol.OBORNO;

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
  • OOLINEMITMASforeign key · N:1
    -- Uses this catalog's prefixed M3 column names; map raw Data Lake properties through Data Catalog first. ON OOLINE.OBITNO = MITMAS.MMITNO AND OOLINE.OBCONO = MITMAS.MMCONO
  • OOLINEMITWHLforeign key · N:1
    -- Uses this catalog's prefixed M3 column names; map raw Data Lake properties through Data Catalog first. ON OOLINE.OBWHLO = MITWHL.MWWHLO AND OOLINE.OBCONO = MITWHL.MWCONO

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.