How-toOracle JD Edwards EnterpriseOneShop Floor Management / Work Order Routing

JDE Work Order Routing: The F3112 Routing File and How It Attaches to a Work Order

Question
jde work order routing

Also searched as

  • work order routing file jd edwards
  • work order routing in jde
  • jde work order routing table
  • jde f3112 table

Short answer

In JD Edwards EnterpriseOne, the work order routing lives in table F3112 (Work Order Routing). When a work order is created, the standard routing from the Routing Master (F3003) is copied onto the order as rows in F3112, keyed by order number and operation sequence, so later changes to the master do not silently alter work already released.

Applies to: JD Edwards EnterpriseOne Manufacturing (Shop Floor Management) 9.x. Table and field names are as shipped; verify in your data dictionary if customised.

Set up so routing attaches to work orders

  1. 1Create the work centers (Work Center Revisions) and rate and capacity data that operations will reference.
  2. 2Create the routing in Routing Revisions for the manufactured item and branch/plant. This writes to the Routing Master, F3003, one row per operation sequence.
  3. 3Confirm the item branch data (Item Branch/Plant) has manufacturing values consistent with the routing, such as the standard lot size and the leadtime basis.
  4. 4In the Work Order Entry (Work Order Revisions) version, set the processing options so the routing and parts list attach when the order is created or when you run the attach step.
  5. 5Enter a work order for the item. On attach, F3112 rows are written for the order number (DOCO) with one row per operation sequence (OPSQ).
  6. 6Open Work Order Routing from the Row or Form menu on the order to review and change operations for this order only.
  7. 7Run a SQL check against F3112 for the order to confirm the operations, work centers and hours landed as expected.

Master routing versus work order routing

F3003 holds the standard routing, the planned way to make an item. F3112 holds the routing for one specific work order. Copying at order creation is deliberate: it freezes the instructions that shop floor and costing will use, and lets planners tweak a single order without touching the master.

The consequence is the most common question in support threads: you updated the routing and existing work orders did not change. They will not. You must either edit the order routing directly or re-attach, depending on order status and your processing options. Check that you are allowed to detach and re-attach after release.

Inspecting F3112 with SQL

A read-only SQL query against the business data schema is the fastest way to see what a work order actually carries. Join to the work order master F4801 to filter by item and status, and to the routing master to compare against the standard.

Column names follow the JDE alias pattern with a two-letter table prefix, such as the order number and operation sequence columns on F3112. Look up the exact columns in the data dictionary or by describing the table in your database, since versions and local additions can differ.

-- list the routing for a work order (schema and column names vary by install)
SELECT * FROM PRODDTA.F3112 WHERE WLDOCO = 123456 ORDER BY WLOPSQ
-- compare order routing to the master for an item
SELECT * FROM PRODDTA.F3003 WHERE IRKIT = (SELECT WAITM FROM PRODDTA.F4801 WHERE WADOCO = 123456)

How routing feeds time, cost and scheduling

Operations in F3112 drive scheduling (start and request dates per operation), shop floor time reporting, and the labor and machine cost roll-up when the work order is costed and closed. If hours or work centers are wrong on the order routing, the variance report downstream will be wrong too.

Changing routing after time has been reported is risky. Prefer adding an operation over deleting one that already has hours, and review your processing options for what is allowed after the order passes certain statuses.

Try it here, free

JD Edwards F4801 Work Order SQL Generator

Open full tool

Build SQL for open JDE work orders by branch plant, status and date, plus the parts list for one work order.

Common pitfalls

  • !Expecting changes to the master routing in F3003 to flow into existing work orders.
  • !Editing F3112 rows directly with SQL instead of through the application, which skips scheduling and cost logic.
  • !Mismatched branch/plant between routing, item branch data and work order so no routing attaches.
  • !Forgetting that the routing type and effective dates decide which routing version is picked up.
  • !Deleting an operation that already has reported time, leaving orphaned labor transactions.

How an ERP-grounded AI assistant handles this

A grounded assistant over your JDE database can answer questions like which open work orders for this item carry an operation that no longer exists on the master routing, by reading F3112, F3003 and F4801 and showing the query. ERPray runs read-only, respects JDE security, and can be deployed on-prem next to the Enterprise Server and database.

Frequently asked questions

What table stores the work order routing in JD Edwards?

F3112, Work Order Routing, stores the operations for each work order, one row per operation sequence. The standard routing it is copied from is in the Routing Master, F3003, and the work order header is in F4801.

Why did my routing change not show on existing work orders?

Because the routing is copied to the order when it is created or attached. Later edits to the master do not propagate. Edit the order routing directly or re-attach the routing if your status and processing options allow it.

Which program do I use to view or edit a work order routing?

Use the Work Order Routing function reached from Work Order Revisions, or the shop floor work order routing program on your Manufacturing menu. Menu numbers differ by release and local setup, so search the menu with the Fast Path for routing.

Can I load routings into F3003 in bulk?

Yes, through supported routes such as the routing batch upload (Z-file) interface, an Orchestrator flow or a processing-option driven upload. Avoid direct SQL inserts, which bypass validation.

Related

How-to

How to set data selection and processing options in JD Edwards

Data selection controls which rows a UBE's underlying business view reads (a filter, stored per version in F9210/F9211), while processing options control how the program behaves once it has that data (a settings template stored per version in F983051/F983052). They are configured from the same Version Detail screen but are separate, unrelated mechanisms that new users routinely confuse.

How-to

How to set up JD Edwards Orchestrator (step by step)

An EnterpriseOne orchestration chains one or more requests (form requests that drive an interactive application, or service requests that call a BSFN, business service, or SQL) plus optional rules and notifications, then exposes the whole thing as a callable REST endpoint via the AIS (Application Interface Services) server. The setup work happens in Orchestrator Studio, not the Fat Client.

How-to

JD Edwards table conversion: how it works and how to run one

Table conversion (TC) is the EnterpriseOne mechanism that updates a table's physical structure and converts its existing data whenever a table's definition changes in Object Librarian, most commonly running automatically as part of a package build. Simple field additions or size changes convert automatically; more complex changes such as splitting a field or transforming values need a custom conversion routine attached to the table object.

Error fix

JD Edwards Inventory: On-Hand and Commitments Out of Sync

When JD Edwards on-hand or committed quantities look wrong, compare the Item Location balance (F41021) with the sum of the Item Ledger (F4111) for on-hand, and with open sales and work order lines for commitments. Differences are normally fixed by running the inventory integrity reports in proof mode first, then final mode, never by editing balances with SQL.

Error fix

JDE UBE failed (status E): how to read jde.log and jdedebug.log

A UBE (batch report/program) that ends with status E in Work With Submitted Jobs tells you almost nothing on its own. The real error is in jde.log on the enterprise server, in the job's own PDF/log subdirectory (jdedebug.log if you turned on debug), and in the work directory for that job number under PrintQueue or the OS temp path.

Error fix

JD Edwards: record is being used by another user (record reservation)

EnterpriseOne places a soft record reservation lock when a user opens a record for edit, tracked in the F00165 table, and releases it when the user saves, cancels, or the session ends cleanly. A stuck lock almost always means a session died abnormally (browser crash, network drop, kiosk timeout) without triggering the release, and it must be cleared by an admin, not by the original user retrying.

AI for ERP

AI for JD Edwards EnterpriseOne Manufacturing, Without Leaving the F-Tables Exposed

Grounded AI over JD Edwards EnterpriseOne Manufacturing: work orders, routings, and Orchestrator data, answered on-prem without sending F-table data to a public model.

AI for ERP

AI for JD Edwards EnterpriseOne, Built on Orchestrator and AIS

Add 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.

Stuck on Oracle JD Edwards EnterpriseOne?

Talk to engineers who work inside Oracle JD Edwards EnterpriseOne every week, and who build private AI that answers these questions from your own ERP data.

Keep exploring

Free tools

ERP fixes and how-tos

Runs with your ERP

Guides

AI on your ERP

Integrations

Software