MPLINE
Prefix: IBtransactionThe 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
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
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.
| Key | Field | Alias | Description | Type | Length | Flags |
|---|---|---|---|---|---|---|
| Key | IBCONO | CONO | Company | numeric | ||
| Key | IBPUNO | PUNO | Purchase order number | alphanumeric | ||
| Key | IBPNLI | PNLI | Purchase order line number | numeric | ||
| Key | IBPNLS | PNLS | Line subnumber — subdivides a line across deliveries | numeric | ||
| IBITNO | ITNO | Item ordered | alphanumeric | |||
| IBPUSL | PUSL | 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 | alphanumeric | |||
| IBPUST | PUST | 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 | alphanumeric | |||
| IBORQA | ORQA | Ordered quantity in the purchase unit | numeric | |||
| IBPUPR | PUPR | Purchase price per price unit on the line | numeric | |||
| IBDWDT | DWDT | Planned delivery date for the line | numeric | |||
| IBWHLO | WHLO | Receiving warehouse for the line | alphanumeric |
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.
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
-- 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-- 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-- 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
- PPS200 — Purchase order maintenance — creates and maintains purchase orders, writing the MPHEAD/MPLINE pairInteractive
- PPS200MI — Purchase order API — creates, reads, and maintains purchase orders programmaticallyAPI
- PPS220 — Purchase order line display — line-level review and mass change across the MPLINE lines of the MPHEAD ordersPrimary sourceInteractive
- PPS300 — Purchase order goods receipt — reports receipts against MPLINE lines, driving the line status to 50 — or straight to 75 when direct put-away is configured — and writing the MITTRA stock transactionsPrimary sourceInteractive
More Purchasing tables
- CIDMASThe supplier master — one row per supplier per company with identity, status, and name; purchasing and supplier-ledger records join back to it on SUNO
- MPAGRHThe purchase agreement header — one row per supplier purchase agreement (agreement number), the negotiated terms record purchase-order pricing draws from
- MPHEADThe purchase order header — one row per order, carrying the supplier, order date, currency, receiving warehouse, and the lowest/highest line status pair mirroring the customer-order pattern