Skip to content
M3 Reference

MPLINE

Prefix: IBtransaction

The purchase order line — one row per ordered item with quantity, price, planned delivery date, and the lowest/highest line-status pair; the core buy-side transaction, joined to its header by PUNO

Module: PurchasingCompany-partitioned (CONO)Header: MPHEAD
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

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

Fields

11 fields · 4 key

11 fields.

Table fields: key flag, field name, column alias, description, data type, length, and decode flags. 11 fields.
KeyFieldAliasDescriptionTypeLengthFlags
KeyIBCONOCONOCompanynumeric
KeyIBPUNOPUNOPurchase order numberalphanumeric
KeyIBPNLIPNLIPurchase order line numbernumeric
KeyIBPNLSPNLSLine subnumber — subdivides a line across deliveriesnumeric
IBITNOITNOItem orderedalphanumeric
IBPUSLPUSLLowest line status — the least-processed point any part of the line's quantity still sits at; the line is fully received only when this end reaches the receipt rungsalphanumeric
IBPUSTPUSTHighest line status — the furthest point any part of the line's quantity has reached; on a partially received line this reads ahead of the quantity still outstandingalphanumeric
IBORQAORQAOrdered quantity in the purchase unitnumeric
IBPUPRPUPRPurchase price per price unit on the linenumeric
IBDWDTDWDTPlanned delivery date for the linenumeric
IBWHLOWHLOReceiving warehouse for the linealphanumeric

Field provenance: hand-curated.

Boilerplate SQL

Starting point for reading MPLINE 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>, <PUNO>, <DATE_FROM>, <DATE_TO>

-- ============================================================
-- Table  : MPLINE — The purchase order line — one row per ordered item with quantity, price, planned delivery date, and the lowest/highest line-status pair; the core buy-side transaction, joined to its header by PUNO
-- Purpose: Column-selected read of MPLINE — auto-generated from field metadata
-- Grain  : One row per company (CONO) + IBPUNO + IBPNLI + IBPNLS
-- 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
  pl.IBCONO AS "Company",
  pl.IBPUNO AS "Purchase order number",
  pl.IBPNLI AS "Purchase order line number",
  pl.IBPNLS AS "Line subnumber — subdivides a line across deliveries",
  pl.IBITNO AS "Item ordered",
  CASE pl.IBPUSL WHEN '12' THEN 'Awaiting authorization' WHEN '15' THEN 'Entered — ready for printout' WHEN '20' THEN 'Document printed' WHEN '50' THEN 'Goods received' WHEN '60' THEN 'Quality inspection partially performed' WHEN '64' THEN 'Rejected at inspection — handling not yet decided' WHEN '65' THEN 'Quality inspection completed' WHEN '69' THEN 'Rejected at inspection — handled through the claim routine' WHEN '70' THEN 'Put-away partially completed' WHEN '75' THEN 'Put-away complete' ELSE pl.IBPUSL END AS "Lowest line status — the least-processed point any part of the line's quantity still sits at; the line is fully received only when this end reaches the receipt rungs",  -- status: PUST_LINE (all 10 curated values)
  CASE pl.IBPUST WHEN '12' THEN 'Awaiting authorization' WHEN '15' THEN 'Entered — ready for printout' WHEN '20' THEN 'Document printed' WHEN '50' THEN 'Goods received' WHEN '60' THEN 'Quality inspection partially performed' WHEN '64' THEN 'Rejected at inspection — handling not yet decided' WHEN '65' THEN 'Quality inspection completed' WHEN '69' THEN 'Rejected at inspection — handled through the claim routine' WHEN '70' THEN 'Put-away partially completed' WHEN '75' THEN 'Put-away complete' ELSE pl.IBPUST END AS "Highest line status — the furthest point any part of the line's quantity has reached; on a partially received line this reads ahead of the quantity still outstanding",  -- status: PUST_LINE (all 10 curated values)
  pl.IBORQA AS "Ordered quantity in the purchase unit",
  pl.IBPUPR AS "Purchase price per price unit on the line",
  CASE WHEN pl.IBDWDT = 0 THEN NULL ELSE TO_DATE(CAST(CAST(pl.IBDWDT AS BIGINT) AS STRING), 'yyyyMMdd') END AS "Planned delivery date for the line",  -- YYYYMMDD, 0 → NULL
  pl.IBWHLO AS "Receiving warehouse for the line"
FROM <catalog>.<schema>.MPLINE pl
WHERE
  pl.IBCONO = <company>
  -- AND pl.IBPUNO = '<PUNO>'
  -- AND pl.IBDWDT >= <DATE_FROM>  -- yyyyMMdd numeric
  -- AND pl.IBDWDT <= <DATE_TO>  -- yyyyMMdd numeric
ORDER BY pl.IBPUNO;

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

  • MPHEADMPLINEheader line · 1:N
    -- Uses this catalog's prefixed M3 column names; map raw Data Lake properties through Data Catalog first. ON MPHEAD.IAPUNO = MPLINE.IBPUNO AND MPHEAD.IACONO = MPLINE.IBCONO
  • MPLINEMITMASforeign key · N:1
    -- Uses this catalog's prefixed M3 column names; map raw Data Lake properties through Data Catalog first. ON MPLINE.IBITNO = MITMAS.MMITNO AND MPLINE.IBCONO = MITMAS.MMCONO
  • MPLINEMITWHLforeign key · N:1
    -- Uses this catalog's prefixed M3 column names; map raw Data Lake properties through Data Catalog first. ON MPLINE.IBWHLO = MITWHL.MWWHLO AND MPLINE.IBCONO = MITWHL.MWCONO

Programs That Use This Table

More Purchasing 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.