JDE Reference
F4311
transactionAlso in JDE WorldPurchase order detail - one row per PO line with item, branch, quantities, unit/extended costs, and the status flow
Fields
48 fields · 5 key
| Key | Field | Alias | Description | Type | Length | Flags |
|---|---|---|---|---|---|---|
| Primary key | PDKCOO | KCOO | Company that owns the order-number sequence; part of the composite order key | String | 5 | |
| Primary key | PDDOCO | DOCO | Order number | Numeric | 8 | |
| Primary key | PDDCTO | DCTO | Order document type (e.g. OP purchase order, SO sales order) | String | 2 | |
| Primary key | PDSFXO | SFXO | Order suffix distinguishing multiple documents under one order number | String | 3 | |
| Primary key | PDLNID | LNID | Order line number (3 implied decimals, e.g. 1.000) | Numeric | 6 | |
| PDMCU | MCU | Branch/plant business unit; right-justified, space-padded to 12 | String | 12 | ||
| PDCO | CO | Company code | String | 5 | ||
| PDOKCO | OKCO | Company key of the originating order | String | 5 | ||
| PDOORN | OORN | Order number of the originating document this record came from | String | 8 | ||
| PDOCTO | OCTO | Document type of the originating order | String | 2 | ||
| PDRKCO | RKCO | Company key of the related order | String | 5 | ||
| PDRORN | RORN | Cross-referenced related order number (PO, SO, or work order) | String | 8 | ||
| PDRCTO | RCTO | Document type of the related order | String | 2 | ||
| PDAN8 | AN8 | Supplier address book number | Numeric | 8 | ||
| PDSHAN | SHAN | Ship-to address book number | Numeric | 8 | ||
| PDANBY | ANBY | Buyer address book number | Numeric | 8 | ||
| PDITM | ITM | Short internal item number - joins to F4101/F4102 | Numeric | 8 | ||
| PDLITM | LITM | Second item number, the long code users normally key | String | 25 | ||
| PDAITM | AITM | Third item number (catalog or alternate identifier) | String | 25 | ||
| PDLOCN | LOCN | Warehouse storage location | String | 20 | ||
| PDLOTN | LOTN | Lot or serial number | String | 30 | ||
| PDDSC1 | DSC1 | Line description | String | 30 | ||
| PDLNTY | LNTY | Line type controlling G/L, inventory, and A/P-A/R interfaces | String | 2 | ||
| PDLTTR | LTTR | Last completed status in the order activity flow | String | 3 | ||
| PDNXTR | NXTR | Next expected status in the order activity flow | String | 3 | ||
| PDTRDJ | TRDJ | Order/transaction date | Numeric | 6 | ||
| PDDRQJ | DRQJ | Requested date | Numeric | 6 | ||
| PDPDDJ | PDDJ | Scheduled/promised delivery date | Numeric | 6 | ||
| PDOPDJ | OPDJ | Original promised delivery date | Numeric | 6 | ||
| PDADDJ | ADDJ | Actual date goods shipped or were delivered | Numeric | 6 | ||
| PDDGL | DGL | General ledger date the transaction posts to | Numeric | 6 | ||
| PDUOM | UOM | Transaction unit of measure | String | 2 | ||
| PDUORG | UORG | Ordered quantity in the transaction unit of measure | Numeric | 15 | ||
| PDUOPN | UOPN | Open quantity not yet received or shipped | Numeric | 15 | ||
| PDUREC | UREC | Quantity received to date | Numeric | 15 | ||
| PDUCHG | UCHG | Quantity currently on hold | Numeric | 15 | ||
| PDPRRC | PRRC | Unit cost in domestic currency (4 implied decimals) | Numeric | 15 | ||
| PDAEXP | AEXP | Extended price of the line in domestic currency | Numeric | 15 | ||
| PDAOPN | AOPN | Open amount remaining on the line | Numeric | 15 | ||
| PDAREC | AREC | Amount received to date | Numeric | 15 | ||
| PDACHG | ACHG | Amount on hold | Numeric | 15 | ||
| PDECST | ECST | Extended cost (quantity x unit cost) in domestic currency | Numeric | 15 | ||
| PDCRCD | CRCD | Transaction currency code | String | 3 | ||
| PDCRR | CRR | Currency conversion spot rate; implied decimals vary by setup | Numeric | 15 | ||
| PDFRRC | FRRC | Unit cost in foreign currency | Numeric | 15 | ||
| PDFEC | FEC | Extended cost in foreign currency | Numeric | 15 | ||
| PDGLC | GLC | G/L offset class used to derive distribution accounts | String | 4 | ||
| PDCORD | CORD | Change order sequence number | Numeric | 3 |
Field provenance: hand-curated.
Boilerplate SQL
Starting point for reading F4311on Databricks — Julian dates, implied decimals, and padded strings are already converted. Set your Unity Catalog location and filter values below; they’re substituted into the SQL and the copy button.
Query parameters
-- ============================================================
-- Table : F4311 Purchase order detail - one row per PO line with item, branch, quantities, unit/extended costs, and the status flow
-- Purpose: Column-selected read of F4311 — auto-generated from field metadata
-- Grain : One row per PDKCOO + PDDOCO + PDDCTO + PDSFXO + PDLNID
-- Notes : Auto-generated skeleton. Julian dates (CYYDDD) are converted to DATE and implied-decimal amounts are scaled (verify decimals in F9210); padded business-unit/UDC keys are TRIMmed. Audit columns (…USER/…PID/…UPMJ) are omitted — see the quirks guide. Set catalog/schema to your Unity Catalog location; fill remaining placeholders (<...>) for your tenant.
-- ============================================================
SELECT
d.PDKCOO AS "Company that owns the order-number sequence; part of the composite order key",
d.PDDOCO AS "Order number",
d.PDDCTO AS "Order document type (e.g. OP purchase order, SO sales order)",
d.PDSFXO AS "Order suffix distinguishing multiple documents under one order number",
d.PDLNID / POWER(10, 3) AS "Order line number (3 implied decimals, e.g. 1.000)", -- implied decimals: 3 (verify in F9210)
TRIM(d.PDMCU) AS "Branch/plant business unit; right-justified, space-padded to 12",
d.PDCO AS "Company code",
d.PDOKCO AS "Company key of the originating order",
d.PDOORN AS "Order number of the originating document this record came from",
d.PDOCTO AS "Document type of the originating order",
d.PDRKCO AS "Company key of the related order",
d.PDRORN AS "Cross-referenced related order number (PO, SO, or work order)",
d.PDRCTO AS "Document type of the related order",
d.PDAN8 AS "Supplier address book number",
d.PDSHAN AS "Ship-to address book number",
d.PDANBY AS "Buyer address book number",
d.PDITM AS "Short internal item number - joins to F4101/F4102",
d.PDLITM AS "Second item number, the long code users normally key",
d.PDAITM AS "Third item number (catalog or alternate identifier)",
d.PDLOCN AS "Warehouse storage location",
d.PDLOTN AS "Lot or serial number",
d.PDDSC1 AS "Line description",
d.PDLNTY AS "Line type controlling G/L, inventory, and A/P-A/R interfaces",
d.PDLTTR AS "Last completed status in the order activity flow",
d.PDNXTR AS "Next expected status in the order activity flow",
CASE WHEN d.PDTRDJ IS NULL OR d.PDTRDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(d.PDTRDJ AS INT) DIV 1000, 1, 1), CAST(d.PDTRDJ AS INT) % 1000 - 1) END AS "Order/transaction date", -- CYYDDD Julian → DATE
CASE WHEN d.PDDRQJ IS NULL OR d.PDDRQJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(d.PDDRQJ AS INT) DIV 1000, 1, 1), CAST(d.PDDRQJ AS INT) % 1000 - 1) END AS "Requested date", -- CYYDDD Julian → DATE
CASE WHEN d.PDPDDJ IS NULL OR d.PDPDDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(d.PDPDDJ AS INT) DIV 1000, 1, 1), CAST(d.PDPDDJ AS INT) % 1000 - 1) END AS "Scheduled/promised delivery date", -- CYYDDD Julian → DATE
CASE WHEN d.PDOPDJ IS NULL OR d.PDOPDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(d.PDOPDJ AS INT) DIV 1000, 1, 1), CAST(d.PDOPDJ AS INT) % 1000 - 1) END AS "Original promised delivery date", -- CYYDDD Julian → DATE
CASE WHEN d.PDADDJ IS NULL OR d.PDADDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(d.PDADDJ AS INT) DIV 1000, 1, 1), CAST(d.PDADDJ AS INT) % 1000 - 1) END AS "Actual date goods shipped or were delivered", -- CYYDDD Julian → DATE
CASE WHEN d.PDDGL IS NULL OR d.PDDGL = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(d.PDDGL AS INT) DIV 1000, 1, 1), CAST(d.PDDGL AS INT) % 1000 - 1) END AS "General ledger date the transaction posts to", -- CYYDDD Julian → DATE
d.PDUOM AS "Transaction unit of measure",
d.PDUORG AS "Ordered quantity in the transaction unit of measure",
d.PDUOPN AS "Open quantity not yet received or shipped",
d.PDUREC AS "Quantity received to date",
d.PDUCHG AS "Quantity currently on hold",
d.PDPRRC / POWER(10, 4) AS "Unit cost in domestic currency (4 implied decimals)", -- implied decimals: 4 (verify in F9210)
d.PDAEXP / POWER(10, 2) AS "Extended price of the line in domestic currency", -- implied decimals: 2 (verify in F9210)
d.PDAOPN / POWER(10, 2) AS "Open amount remaining on the line", -- implied decimals: 2 (verify in F9210)
d.PDAREC / POWER(10, 2) AS "Amount received to date" -- implied decimals: 2 (verify in F9210)
-- … plus 8 more columns — full list in the Fields section above
FROM <catalog>.<schema_data>.f4311 d
WHERE
d.PDKCOO = '<KCOO>'
-- AND d.PDDOCO = <DOCO>
-- AND d.PDDCTO = '<DCTO>'
-- AND d.PDTRDJ >= <TRDJ_FROM> -- Julian CYYDDD, e.g. 126001
-- AND d.PDTRDJ <= <TRDJ_TO> -- Julian CYYDDD, e.g. 126365
ORDER BY d.PDKCOO;7 parameters not filled: <catalog>, <schema_data>, <KCOO>, <DOCO>, <DCTO>, <TRDJ_FROM>, <TRDJ_TO>
Relationships
1-hop neighbors — click a table to navigate there. UDC decode edges point coded fields at their F0005 lookup.
Join details
ON f4301.PHDOCO = f4311.PDDOCOON f4311.PDDOCO = f43199.OLDOCOON f43121.PRDOCO = f4311.PDDOCOON f4311.PDAN8 = f0401.A6AN8ON f4311.PDITM = f4101.IMITMON f4311.PDAN8 = f0101.ABAN8ON f4311.PDDCTO = f0005.DRKYON f4311.PDLTTR = f0005.DRKY
Programs That Use This Table
Primary programs
Secondary programs
- P4312PO Receipts — record receipt of goods against purchase orders, updating on-hand inventory and creating receiver recordsRead/write accessInteractive
- P4314Voucher Match — match supplier invoices to purchase order receipts (two- or three-way match) to create A/P vouchersRead/write accessInteractive
- P43214Purchase Receipts Inquiry — review open and historical receipt records and reverse receipts when neededRead/write accessInteractive