M3 Reference
PPS200MI
APIPurchase order API — creates, reads, and maintains purchase orders programmatically
Tables vs APIs
This MI API program works over the tables below. For analytics at scale, land the raw tables — the SQL further down reads them directly, joined on their keys and CONO. When to land tables vs call MI APIs →
Notes
Get/List transactions confirmed to exist; the full transaction list is verified in Phase 2.
Boilerplate SQL
Databricks SQLStarting point for reading the tables behind PPS200MI from landed data — the backing tables joined on their keys and CONO. Set your Unity Catalog location, company, and filter values below.
Query parameters
-- ============================================================
-- Program: PPS200MI — Purchase order API — creates, reads, and maintains purchase orders programmatically
-- Purpose: Read the tables behind API program PPS200MI — auto-generated from program-table-map
-- Grain : MPHEAD × MPLINE — 1:N joins yield one row per line
-- Tables : MPHEAD, MPLINE
-- Notes : Auto-generated skeleton for Infor Data Lake-landed M3 data. Dates are numeric YYYYMMDD (0 = none, mapped to NULL); status ladders decoded inline where verified; company-partitioned tables are joined on CONO to prevent cross-company fan-out. Audit columns (RGDT/RGTM/LMDT/CHNO/CHID) omitted — see the quirks guide.
-- ============================================================
SELECT
ph.IACONO AS "Company",
ph.IAPUNO AS "Purchase order number — the key order lines join on",
pl.IBPNLI AS "Purchase order line number",
pl.IBPNLS AS "Line subnumber — subdivides a line across deliveries",
pl.IBITNO AS "Item ordered",
pl.IBORQA AS "Ordered quantity in the purchase unit"
FROM <catalog>.<schema>.MPHEAD ph
LEFT JOIN <catalog>.<schema>.MPLINE pl
ON pl.IBPUNO = ph.IAPUNO
AND pl.IBCONO = ph.IACONO
WHERE
ph.IACONO = <company>
ORDER BY ph.IAPUNO;3 parameters not filled: <catalog>, <schema>, <company>
Backing Tables
How these tables connect. Nodes are clickable.