Skip to content
JDE Reference

F3411

transactionAlso in JDE World

MRP action messages — one row per recommendation the planning run generates (order, expedite, defer, cancel, increase, decrease) for an item/branch; planners work this queue after each run

Notes

Regenerated by each MPS/MRP/DRP run for the items planned — unprocessed messages for a replanned item are cleared and rewritten, so message counts by type (34/MT) are a point-in-time signal of plan nervousness, not durable history. Snapshot it for trend analysis.

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.
Used in the library
Dashboard patterns

Fields

24 fields · 1 key

24 fields.

Table fields: key flag, field name, DD alias, description, data type, length, and quirk flags (Julian date, implied decimals, padded string, UDC decode). 24 fields.
KeyFieldAliasDescriptionTypeLengthFlags
Primary keyMMUKIDUKIDInternal unique key — single-column primary key with no business meaningNumeric15
MMITMITMShort item number the message applies toNumeric8
MMMCUMCUBranch/plant the message was generated for — right-justified 12-characterString12
MMMMCUMMCUSupplying/demand branch on transfer-type messages — right-justified 12-characterString12
MMMSGTMSGTMessage type — the recommended action (order, expedite, defer, cancel, increase, decrease); the main slicer for message analyticsCharacter1
MMMSGAMSGAMessage action/control flag — whether the message has been processed, held, or clearedCharacter1
MMHCLDHCLDHold code on the messageCharacter1
MMKCOOKCOOOrder company of the referenced orderString5
MMDOCODOCOOrder number the message refers to — the WO or PO to expedite/defer/cancel; blank on new-order messages until processedNumeric8
MMDCTODCTOOrder type of the referenced orderString2
MMLNIDLNIDLine number of the referenced order line; 3 implied decimalsNumeric6
MMDSC1DSC1Message text shown to the plannerString30
MMTRQTTRQTQuantity the message recommends ordering or changingNumeric15
MMVENDVENDSuggested supplier for purchase-type messagesNumeric8
MMDRQJDRQJRequested/need date of the recommendation (Julian CYYDDD)Numeric (DD type: Date)6
MMSTRTSTRTStart date of the current order the message refers to (Julian CYYDDD)Numeric (DD type: Date)6
MMRSTJRSTJRecommended start date (Julian CYYDDD) — what the plan wants the order moved toNumeric (DD type: Date)6
MMRRQJRRQJRecommended completion date (Julian CYYDDD) — difference vs. the order's current date quantifies expedite/defer magnitudeNumeric (DD type: Date)6
MMREDJREDJRecommended effective date (Julian CYYDDD)Numeric (DD type: Date)6
MMOEDJOEDJOriginal effective date of the order being changed (Julian CYYDDD)Numeric (DD type: Date)6
MMLINELINEProduction line/cell for rate-based messagesString12
MMLOTNLOTNLot/serial number when the message is lot-specificString30
MMPNSPNSProduction number short — ties the message to production-number-controlled demandNumeric10
MMPMPNPMPNProduction number (long form)String30

Field provenance: hand-curated.

Boilerplate SQL

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

4 parameters not filled: <catalog>, <schema_data>, <DRQJ_FROM>, <DRQJ_TO>

-- ============================================================
-- Table  : F3411 MRP action messages — one row per recommendation the planning run generates (order, expedite, defer, cancel, increase, decrease) for an item/branch; planners work this queue after each run
-- Purpose: Column-selected read of F3411 — auto-generated from field metadata
-- Grain  : One row per MMUKID
-- 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
  f.MMUKID AS "Internal unique key — single-column primary key with no business meaning",
  f.MMITM AS "Short item number the message applies to",
  TRIM(f.MMMCU) AS "Branch/plant the message was generated for — right-justified 12-character",
  TRIM(f.MMMMCU) AS "Supplying/demand branch on transfer-type messages — right-justified 12-character",
  f.MMMSGT AS "Message type — the recommended action (order, expedite, defer, cancel, increase, decrease); the main slicer for message analytics",
  f.MMMSGA AS "Message action/control flag — whether the message has been processed, held, or cleared",
  f.MMHCLD AS "Hold code on the message",
  f.MMKCOO AS "Order company of the referenced order",
  f.MMDOCO AS "Order number the message refers to — the WO or PO to expedite/defer/cancel; blank on new-order messages until processed",
  f.MMDCTO AS "Order type of the referenced order",
  f.MMLNID / POWER(10, 3) AS "Line number of the referenced order line; 3 implied decimals",  -- implied decimals: 3 (verify in F9210)
  f.MMDSC1 AS "Message text shown to the planner",
  f.MMTRQT AS "Quantity the message recommends ordering or changing",
  f.MMVEND AS "Suggested supplier for purchase-type messages",
  CASE WHEN f.MMDRQJ IS NULL OR f.MMDRQJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.MMDRQJ AS INT) DIV 1000, 1, 1), CAST(f.MMDRQJ AS INT) % 1000 - 1) END AS "Requested/need date of the recommendation (Julian CYYDDD)",  -- CYYDDD Julian → DATE
  CASE WHEN f.MMSTRT IS NULL OR f.MMSTRT = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.MMSTRT AS INT) DIV 1000, 1, 1), CAST(f.MMSTRT AS INT) % 1000 - 1) END AS "Start date of the current order the message refers to (Julian CYYDDD)",  -- CYYDDD Julian → DATE
  CASE WHEN f.MMRSTJ IS NULL OR f.MMRSTJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.MMRSTJ AS INT) DIV 1000, 1, 1), CAST(f.MMRSTJ AS INT) % 1000 - 1) END AS "Recommended start date (Julian CYYDDD) — what the plan wants the order moved to",  -- CYYDDD Julian → DATE
  CASE WHEN f.MMRRQJ IS NULL OR f.MMRRQJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.MMRRQJ AS INT) DIV 1000, 1, 1), CAST(f.MMRRQJ AS INT) % 1000 - 1) END AS "Recommended completion date (Julian CYYDDD) — difference vs. the order's current date quantifies expedite/defer magnitude",  -- CYYDDD Julian → DATE
  CASE WHEN f.MMREDJ IS NULL OR f.MMREDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.MMREDJ AS INT) DIV 1000, 1, 1), CAST(f.MMREDJ AS INT) % 1000 - 1) END AS "Recommended effective date (Julian CYYDDD)",  -- CYYDDD Julian → DATE
  CASE WHEN f.MMOEDJ IS NULL OR f.MMOEDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.MMOEDJ AS INT) DIV 1000, 1, 1), CAST(f.MMOEDJ AS INT) % 1000 - 1) END AS "Original effective date of the order being changed (Julian CYYDDD)",  -- CYYDDD Julian → DATE
  f.MMLINE AS "Production line/cell for rate-based messages",
  f.MMLOTN AS "Lot/serial number when the message is lot-specific",
  f.MMPNS AS "Production number short — ties the message to production-number-controlled demand",
  f.MMPMPN AS "Production number (long form)"
FROM <catalog>.<schema_data>.f3411 f
WHERE
  f.MMDRQJ >= <DRQJ_FROM>  -- Julian CYYDDD, e.g. 126001
  -- AND f.MMDRQJ <= <DRQJ_TO>  -- Julian CYYDDD, e.g. 126365
ORDER BY f.MMUKID;

Verified September 2026

Relationships

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

Join details

  • F3411F4801foreign key · N:1
    ON f3411.MMDOCO = f4801.WADOCO
  • F3411F4311foreign key · N:1
    ON f3411.MMDOCO = f4311.PDDOCO
  • F3411F0005UDC decode · N:1
    ON f0005.DRSY = '34' AND f0005.DRRT = 'MT' AND TRIM(f0005.DRKY) = TRIM(f3411.MMMSGT)

Programs That Use This Table

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

Primary programs

More Requirements Planning 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.