Skip to content
JDE Reference

F4311

transactionAlso in JDE World

Purchase order detail - one row per PO line with item, branch, quantities, unit/extended costs, and the status flow

What the badges mean
Superseded
Superseded — a newer table has replaced it, but older scripts still read this one.
Also in JDE World
Also present in JDE World A9.x on the same table name.
master
Data class: what the table holds — master data, transaction documents, control/setup values, history, or a workfile.
Read/write access
Access mode: how the paired program reads or writes this table — R (read), W (write), or R/W (both).
No lifecycle badge means the table is current and not documented in JDE World. In field listings, K marks a primary-key field.

Fields

48 fields · 5 key

48 fields.

Table fields: key flag, field name, DD alias, description, data type, length, and quirk flags (Julian date, implied decimals, padded string, UDC decode). 48 fields.
KeyFieldAliasDescriptionTypeLengthFlags
Primary keyPDKCOOKCOOCompany that owns the order-number sequence; part of the composite order keyString5
Primary keyPDDOCODOCOOrder numberNumeric8
Primary keyPDDCTODCTOOrder document type (e.g. OP purchase order, SO sales order)String2
Primary keyPDSFXOSFXOOrder suffix distinguishing multiple documents under one order numberString3
Primary keyPDLNIDLNIDOrder line number (3 implied decimals, e.g. 1.000)Numeric6
PDMCUMCUBranch/plant business unit; right-justified, space-padded to 12String12
PDCOCOCompany codeString5
PDOKCOOKCOCompany key of the originating orderString5
PDOORNOORNOrder number of the originating document this record came fromString8
PDOCTOOCTODocument type of the originating orderString2
PDRKCORKCOCompany key of the related orderString5
PDRORNRORNCross-referenced related order number (PO, SO, or work order)String8
PDRCTORCTODocument type of the related orderString2
PDAN8AN8Supplier address book numberNumeric8
PDSHANSHANShip-to address book numberNumeric8
PDANBYANBYBuyer address book numberNumeric8
PDITMITMShort internal item number - joins to F4101/F4102Numeric8
PDLITMLITMSecond item number, the long code users normally keyString25
PDAITMAITMThird item number (catalog or alternate identifier)String25
PDLOCNLOCNWarehouse storage locationString20
PDLOTNLOTNLot or serial numberString30
PDDSC1DSC1Line descriptionString30
PDLNTYLNTYLine type controlling G/L, inventory, and A/P-A/R interfacesString2
PDLTTRLTTRLast completed status in the order activity flowString3
PDNXTRNXTRNext expected status in the order activity flowString3
PDTRDJTRDJOrder/transaction dateNumeric (DD type: Date)6
PDDRQJDRQJRequested dateNumeric (DD type: Date)6
PDPDDJPDDJScheduled/promised delivery dateNumeric (DD type: Date)6
PDOPDJOPDJOriginal promised delivery dateNumeric (DD type: Date)6
PDADDJADDJActual date goods shipped or were deliveredNumeric (DD type: Date)6
PDDGLDGLGeneral ledger date the transaction posts toNumeric (DD type: Date)6
PDUOMUOMTransaction unit of measureString2
PDUORGUORGOrdered quantity in the transaction unit of measureNumeric15
PDUOPNUOPNOpen quantity not yet received or shippedNumeric15
PDURECURECQuantity received to dateNumeric15
PDUCHGUCHGQuantity currently on holdNumeric15
PDPRRCPRRCUnit cost in domestic currency (4 implied decimals)Numeric15
PDAEXPAEXPExtended price of the line in domestic currencyNumeric15
PDAOPNAOPNOpen amount remaining on the lineNumeric15
PDARECARECAmount received to dateNumeric15
PDACHGACHGAmount on holdNumeric15
PDECSTECSTExtended cost (quantity x unit cost) in domestic currencyNumeric15
PDCRCDCRCDTransaction currency codeString3
PDCRRCRRCurrency conversion spot rate; implied decimals vary by setupNumeric15
PDFRRCFRRCUnit cost in foreign currencyNumeric15
PDFECFECExtended cost in foreign currencyNumeric15
PDGLCGLCG/L offset class used to derive distribution accountsString4
PDCORDCORDChange order sequence numberNumeric3

Field provenance: hand-curated.

Boilerplate SQL

Starting point for reading F4311 on 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

7 parameters not filled: <catalog>, <schema_data>, <KCOO>, <DOCO>, <DCTO>, <TRDJ_FROM>, <TRDJ_TO>

-- ============================================================
-- 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;

Verified September 2026

Relationships

Diagram of 1-hop neighbors — join details below. UDC decode edges point coded fields at their F0005 lookup.

Join details

  • F4301F4311header detail · 1:N
    ON f4301.PHDOCO = f4311.PDDOCO
  • F4311F43199history · 1:N
    ON f4311.PDDOCO = f43199.OLDOCO
  • F43121F4311foreign key · N:1
    ON f43121.PRDOCO = f4311.PDDOCO
  • F4311F0401foreign key · N:1
    ON f4311.PDAN8 = f0401.A6AN8
  • F4311F4101foreign key · N:1
    ON f4311.PDITM = f4101.IMITM
  • F4311F0101foreign key · N:1
    ON f4311.PDAN8 = f0101.ABAN8
  • F4311F0005UDC decode · N:1
    ON f0005.DRSY = '00' AND f0005.DRRT = 'DT' AND TRIM(f0005.DRKY) = TRIM(f4311.PDDCTO)
  • F4311F0005UDC decode · N:1
    ON f0005.DRSY = '40' AND f0005.DRRT = 'AT' AND TRIM(f0005.DRKY) = TRIM(f4311.PDLTTR)
  • F3411F4311foreign key · N:1
    ON f3411.MMDOCO = f4311.PDDOCO
  • F0411F4311foreign key · N:1
    ON CAST(NULLIF(TRIM(f0411.RPPO), '') AS BIGINT) = f4311.PDDOCO
  • F47022F4311foreign key · N:1
    ON f47022.SZDOCO = f4311.PDDOCO

Programs That Use This Table

R read · W write · R/W read + write

Secondary programs

More Procurement 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 Oracle. Oracle, JD Edwards, and EnterpriseOne are registered trademarks of Oracle and/or its affiliates.