JD Edwards F4211 and F42119 Tables: Sales Order Detail and History Columns
This reference lists the columns you actually use in the JD Edwards EnterpriseOne 9.2 sales order tables: F4201 header, F4211 detail, F42119 and F42019 history and the F42199 detail ledger. Search by alias, column name or description and export the list to Excel for your report or interface spec.
| Table | Column | Alias | Description | Key part | Data type | Notes |
|---|---|---|---|---|---|---|
F4211 | SDKCOO | KCOO | Order Company (Order Number) | Y | String | Part of the primary key (KCOO, DOCO, DCTO, LNID). Always include it in joins, order numbers can repeat across order companies. |
F4211 | SDDOCO | DOCO | Document (Order No, Invoice etc.) | Y | Numeric | The sales order number. Part of the primary key. |
F4211 | SDDCTO | DCTO | Order Type | Y | String | UDC 00/DT, e.g. SO. Part of the primary key. |
F4211 | SDLNID | LNID | Line Number | Y | Math numeric, 3 implied decimals | Stored x1000: line 1.000 is stored as 1000, line 2.500 as 2500. Divide by 1000 for display. |
F4211 | SDSFXO | SFXO | Order Suffix | String | Not part of the primary key in 9.2. | |
F4211 | SDMCU | MCU | Business Unit (detail branch/plant) | String | Business unit values are right justified with leading spaces (12 chars). Use LTRIM or pad when filtering. | |
F4211 | SDEMCU | EMCU | Business Unit - Header | String | Header business unit copied to each line. | |
F4211 | SDCO | CO | Company | String | Company of the selling branch, drives AAI and currency lookups. | |
F4211 | SDAN8 | AN8 | Address Number (sold to) | Numeric | Join to F0101.ABAN8 and F03012.AIAN8. | |
F4211 | SDSHAN | SHAN | Address Number - Ship To | Numeric | Join to F0101.ABAN8 for the ship-to name. | |
F4211 | SDITM | ITM | Item Number - Short | Numeric | Internal short item number. Join to F4101.IMITM and F4102.IBITM on ITM, not on LITM. | |
F4211 | SDLITM | LITM | 2nd Item Number | String | The item number users normally see and type. Text, may change if the item is renumbered. | |
F4211 | SDAITM | AITM | 3rd Item Number | String | Third item identifier, often a catalogue or drawing number. | |
F4211 | SDLOCN | LOCN | Location | String | Storage location the line is committed or shipped from. Blank on lines not yet assigned. | |
F4211 | SDLOTN | LOTN | Lot/Serial Number | String | Join with ITM, MCU and LOCN to F41021 for on hand. | |
F4211 | SDLNTY | LNTY | Line Type | String | Line type from F40205 (e.g. S stock). Activity rules in F40203 are keyed by DCTO plus LNTY. | |
F4211 | SDNXTR | NXTR | Status Code - Next | String | Next step from the order activity rules (UDC 40/AT). 999 means closed. | |
F4211 | SDLTTR | LTTR | Status Code - Last | String | Last completed step. Use LTTR plus NXTR to see where a line is stuck. | |
F4211 | SDUOM | UOM | Unit of Measure as Input | String | Quantities are in this UOM. Convert with F41002 when summing across UOMs. | |
F4211 | SDUORG | UORG | Units - Order/Transaction Quantity | Math numeric, implied decimals | Ordered quantity. Implied decimals follow the data dictionary display decimals for UORG at your site. | |
F4211 | SDSOQS | SOQS | Quantity Shipped | Math numeric, implied decimals | Set at ship confirmation. | |
F4211 | SDSOBK | SOBK | Units - Qty Backordered/Held | Math numeric, implied decimals | Backordered or held quantity on the line. | |
F4211 | SDSOCN | SOCN | Units - Quantity Canceled/Scrapped | Math numeric, implied decimals | Canceled quantity. | |
F4211 | SDUPRC | UPRC | Amount - Price per Unit | Math numeric, 4 decimals in the table definition | Domestic unit price. Stored without the decimal point. | |
F4211 | SDAEXP | AEXP | Amount - Extended Price | Math numeric, 2 decimals in the table definition | Domestic extended price. Currency amounts follow the currency decimals of the record when multi-currency is on (check P0013 for 0 or 3 decimal currencies). | |
F4211 | SDUNCS | UNCS | Amount - Unit Cost | Math numeric, 4 decimals in the table definition | Unit cost from F4105 at entry, updated at ship confirm or sales update. | |
F4211 | SDECST | ECST | Amount - Extended Cost | Math numeric, 2 decimals in the table definition | Use with AEXP for line margin. | |
F4211 | SDCRCD | CRCD | Currency Code - From | String | Transaction currency. Decides the decimals of the foreign amounts. | |
F4211 | SDFUP | FUP | Amount - Foreign Price per Unit | Math numeric, implied decimals | Foreign unit price, populated when the order is entered in a foreign currency. | |
F4211 | SDFEA | FEA | Amount - Foreign Extended Price | Math numeric, implied decimals | Foreign extended price. Sum FEA, not AEXP, when reporting in transaction currency. | |
F4211 | SDTRDJ | TRDJ | Date - Order/Transaction | Julian date | CYYDDD: 126295 is 22 Oct 2026 (C=1 for 2000s, YY=26, DDD=295). 0 means blank. | |
F4211 | SDDRQJ | DRQJ | Date - Requested | Julian date | Customer requested date, CYYDDD. | |
F4211 | SDPDDJ | PDDJ | Date - Scheduled Pick | Julian date | Scheduled pick date, CYYDDD. | |
F4211 | SDPPDJ | PPDJ | Date - Promised Shipment | Julian date | Promised ship date, CYYDDD. | |
F4211 | SDRSDJ | RSDJ | Date - Promised Delivery | Julian date | Promised delivery date, CYYDDD. | |
F4211 | SDADDJ | ADDJ | Date - Actual Ship Date | Julian date | Set at ship confirmation. | |
F4211 | SDIVD | IVD | Date - Invoice | Julian date | Set when the invoice is printed. | |
F4211 | SDDOC | DOC | Document (Voucher, Invoice etc.) | Numeric | Invoice number. With SDDCT and SDKCO it joins to F03B11 (RPDOC, RPDCT, RPKCO). | |
F4211 | SDDCT | DCT | Document Type | String | Invoice document type, commonly RI for sales invoices. | |
F4211 | SDKCO | KCO | Document Company | String | Company of the invoice document, not the order company. | |
F4211 | SDVR01 | VR01 | Reference | String | Often holds the customer PO number. | |
F4211 | SDUSER / SDPID / SDUPMJ / SDTDAY | USER, PID, UPMJ, TDAY | User ID, Program ID, Date - Updated, Time of Day | String, String, Julian date, Numeric (HHMMSS) | Audit stamp of the last change. TDAY is stored as HHMMSS without separators. | |
F4201 | SHDOCO / SHDCTO / SHKCOO | DOCO, DCTO, KCOO | Order number, order type, order company | Y | Numeric, String, String | Header key. Join F4211 on SDDOCO=SHDOCO, SDDCTO=SHDCTO, SDKCOO=SHKCOO. |
F4201 | SHAN8 / SHSHAN | AN8, SHAN | Sold to and ship to address numbers | Numeric | Header defaults; lines can override the ship to. | |
F4201 | SHTRDJ | TRDJ | Date - Order/Transaction | Julian date | Order date, CYYDDD. | |
F4201 | SHOTOT | OTOT | Amount - Order Gross | Math numeric, implied decimals | Header gross amount. Recompute from F4211 lines when lines have been canceled or moved. | |
F4201 | SHHOLD | HOLD | Hold Orders Code | String | Non-blank means the order is on hold (credit, margin etc.). | |
F42119 | SD* (same column list) | Same as F4211 | Sales Order History File | Y (DOCO, DCTO, KCOO, LNID) | Same as F4211 | Identical layout and SD prefix to F4211. Lines arrive here when Sales Update (R42800) or Purge Detail to History (R42996) moves closed lines. |
F42019 | SH* columns | Same as F4201 | Sales Order Header History File | Y | Same as F4201 | Header moves here only when no open detail lines remain in F4211 for that order number and type. |
F42199 | SL* (same column list) | Same aliases as F4211 | S.O. Detail Ledger File | Y (DOCO, DCTO, KCOO, LNID, UPMJ, TDAY) | Same as F4211 | Same columns as F4211 with SL prefix (SLDOCO, SLNXTR...). One row per ledger write, written at the statuses where Write Ledger (FSWRTH) is Y in F40203. The key adds UPMJ and TDAY so each write is kept. |
Built from the JD Edwards EnterpriseOne 9.2 table definitions. For full order history, UNION ALL F4211 and F42119 (same column list) and dedupe on KCOO, DOCO, DCTO, LNID, because a line lives in only one of the two tables at a time. Divide LNID by 1000, convert Julian CYYDDD dates, and apply implied decimals before showing amounts.
Get this mapped to your 9.2 release
Send us your Applications update and custom columns and we will check the list against your own F4211 and F42119 definitions.
Optional. The tool and every export work without this. No spam.
Where this lives in JD Edwards
Sales Order Entry (P4210) writes the header to F4201 and the lines to F4211. Lines stay in F4211 through pick, ship confirm and invoice. Sales Update (R42800) posts sales and, depending on its processing options, copies closed lines from F4211 to F42119 and deletes them from F4211. A separate option does the same for headers into F42019, but only when no open lines remain for that order number and type. Purge Detail to History (R42996) can move status 999 lines on its own. F42199 is written whenever a line passes a status whose activity rule has Write Ledger set to Y.
- F4211 and F42119 share the same column list and the SD prefix
- F42199 uses the SL prefix with the same columns
- Primary key is DOCO, DCTO, KCOO, LNID in F4211 and F42119
Storage conventions that break reports
Three conventions cause most wrong numbers. First, math numeric columns are stored without the decimal point: SDLNID uses three implied decimals, so line 1.000 is 1000, and amounts follow the decimals in the table definition or the record's currency. Second, dates are Julian CYYDDD, where C is the century offset from 1900, YY the year and DDD the day of year, so 126001 is 1 January 2026 and 0 means no date. Third, SDITM is the internal short item number; SDLITM and SDAITM are the 2nd and 3rd item numbers people see. Join to F4101 and F4102 on ITM.
Worked example: one order across tables
Order 104512 SO in order company 00200 has three lines. Line 1.000 (SDLNID 1000) shipped and invoiced and was moved by R42800, so it is now in F42119 with SDNXTR 999. Line 2.000 is backordered at status 904 and is still in F4211. The header stays in F4201 because line 2.000 is open. A query against F4211 alone shows one line and understates the order. Union F4211 and F42119 on the same column list, filter SDKCOO = '00200', SDDOCO = 104512, SDDCTO = 'SO', and you get the full picture. F42199 shows each status change of each line, keyed by update date and time.
Version differences and gotchas
Column counts grow with Applications updates, so check your own table definition in OMW or the data dictionary before hard-coding SELECT lists. SDMCU is right justified in a 12 character field, so WHERE SDMCU = 'M30' returns nothing; compare against the padded value or trim. If the R42800 version is set not to move lines to history, closed lines stay in F4211 and F42119 may be empty. Ledger rows in F42199 only exist for statuses with Write Ledger set, so do not use it as a complete audit trail unless you have checked F40203.
Frequently Asked Questions
What is the difference between F4211 and F42119 in JDE?
F4211 holds open and recently closed sales order lines. F42119 is the history table with exactly the same columns and SD prefix. Sales Update (R42800) or Purge Detail to History (R42996) copies closed lines into F42119 and deletes them from F4211, so a line is in one table or the other, never both.
What are the key fields of F4211?
The primary unique index is SDDOCO (order number), SDDCTO (order type), SDKCOO (order company) and SDLNID (line number). The order suffix SDSFXO is not part of the primary key. Always join on all four columns, because the same order number can exist in different order companies or order types.
Why does SDLNID show 1000 instead of 1?
LNID is a math numeric data item with three display decimals, and JD Edwards stores numbers without the decimal point. Line 1.000 is stored as 1000 and line 1.500 as 1500. Divide by 1000 in SQL or reports, and do the same for other implied decimal fields according to their data dictionary decimals.
What is F42199 used for?
F42199 is the S.O. Detail Ledger File. It has the same columns as F4211 with an SL prefix and stores a copy of a line each time it passes a status where the order activity rule has Write Ledger set to Y. Its key adds update date and time, so you can see how a line changed over time.
If you want planners and customer service to ask JD Edwards order questions in plain English, with the query shown and run on your own servers, we can set that up over F4211 and F42119.
Related Tools
JD Edwards Sales Order Status Codes and Order Activity Rules Reference (F40203)
The typical SO / S status flow in JDE 9.2, the program that advances each step, special statuses such as 904 and 914, and the F40203 columns behind the rules.
OracleJD Edwards Inventory Tables Reference (F41021, F4111, F4105, F4108, F4100)
Reference for the JDE 9.2 inventory tables with key columns, the programs that maintain them, joins, and one row per F41021 quantity bucket explaining what drives it.
OracleJD Edwards AP and AR Ledger Tables Reference (F0411, F0413, F0414, F03B11, F03B13, F03B14)
Keys and working columns for the JDE 9.2 payables and receivables ledgers, payment and receipt tables, batch input tables and the supplier and customer contact tables.
OracleJD Edwards Julian Date Converter
Turn a calendar date into the CYYDDD Julian number JDE stores in tables such as F0911 and F4801, with leap years handled.
OracleJD Edwards Table Reference (F4211, F4311, F0101, F4101, F4102)
Quick lookup of common JD Edwards tables with description, module, column prefix and the key fields you join on.
More Oracle tools
See all- JD Edwards EnterpriseOne Private AI Layer Blueprint Generator
- JD Edwards EnterpriseOne AI Assistant Sizing and Value Calculator
- JD Edwards EnterpriseOne System and Object Librarian Tables Reference
- JD Edwards EnterpriseOne 9.2 Tools Release History Reference
- JD Edwards AAI and DMAAI Reference (F0012, F4095)
- JD Edwards Security Tables and Security Types Reference (F00950, F95921, F9312)
- JD Edwards EnterpriseOne 9.2 Upgrade Retrofit Effort Calculator
- JD Edwards Orchestrator Error Handling and Production Readiness Checklist
- JD Edwards EnterpriseOne 9.0 / 9.1 to 9.2 Application Upgrade Checklist
Keep exploring
Free tools
- JD Edwards EnterpriseOne 9.2 Tools Release History ReferenceTools releases of EnterpriseOne 9.2 with their Release 22 to 26 names, update months, headline tools features and certifications, plus how to check which tools release you run.
- JD Edwards Table Reference (F4211, F4311, F0101, F4101, F4102)Quick lookup of common JD Edwards tables with description, module, column prefix and the key fields you join on.
- JD Edwards EnterpriseOne Core Table ReferenceSearchable list of the JD Edwards EnterpriseOne tables you query most often, with column prefix and the key fields to filter on.
ERP fixes and how-tos
- How to Add a Private AI Layer to JD Edwards EnterpriseOne On-PremAdd a private AI layer to JD Edwards EnterpriseOne: AIS data service, Orchestrator, Security Workbench mapping, a local model and human approval.
- How to Release a Sales Order on Hold in JD EdwardsFind why a JD Edwards sales order is held, release credit, margin or manual holds with Release Held Orders, and tune hold codes so fewer orders get stuck.
- How to set data selection and processing options in JD EdwardsHow data selection and processing options actually work on a JD Edwards version, how they differ, and how to set them up correctly for a report or batch program.
Runs with your ERP
- Oracle CPQ and JD Edwards EnterpriseOne: quote to sales orderHow Oracle CPQ integrates with JD Edwards EnterpriseOne: customer data into quotes, sales orders created from quotes, and status back, with setup and pitfalls.
- Vertex Tax Connectors with JD Edwards EnterpriseOneHow Vertex calculates sales, use and VAT tax for JD Edwards EnterpriseOne and World, plus Oracle EBS and Cloud ERP: integration model, flows, setup, pitfalls.
- Avalara AvaTax with JD Edwards EnterpriseOne: automated sales and use taxHow Avalara AvaTax calculates sales, use and VAT tax in JD Edwards EnterpriseOne order-to-cash and procure-to-pay: connector, setup, pitfalls and AI help.
AI on your ERP
- AI for JD Edwards EnterpriseOne, Built on Orchestrator and AISAdd AI to JD Edwards E1 9.2 using Orchestrator, AIS, and BSSV rather than screen-scraping. Ground a private LLM on F4211, F4111, and F0411 data.
- AI for JD Edwards Inventory Management and Shop Floor ManufacturingAI on JD Edwards EnterpriseOne inventory and manufacturing: item ledger, work orders, MRP messages and cost variances, answered in plain English on your own servers.
Integrations
- How to add AI agents to JD Edwards EnterpriseOneHow to add AI agents to JD Edwards EnterpriseOne: Orchestrator and AIS as the tool layer, read-only first, human approval on writes, on-prem models.
- How to use ChatGPT with JD Edwards EnterpriseOneHow to use ChatGPT with JD Edwards EnterpriseOne: custom GPT actions over AIS, exports versus live access, enterprise data controls, and private alternatives.