SAP functional issueObjectRouting not selected for the production orderModulePP_M2D

Production Order Created Without a Routing

The production order is created with no operations, or with only a single dummy operation, because the system found no valid routing for the material and plant combination at order creation. This is almost always a routing master data or selection logic issue: missing routing, wrong status, expired validity, lot size range mismatch, or a production version pointing to a routing group and counter that no longer exists.

This page covers the failure where a production order is created without picking up a routing, leaving it without operations, work centres, or standard values. It walks through the routing selection logic SAP uses at order creation, the master data conditions that most commonly break it, and how to distinguish a data problem from a configuration problem before touching the order.

Published 16 Sept 2026· 1,126 words

The business symptom

Planning or shop floor reports that a production order 'has no steps' or 'nobody knows what work centre to confirm against'. Sometimes it surfaces as costing complaining there is no operation to cost, or as capacity planning showing the order simply does not appear in the work centre load, because there is no operation to load it against. Confirmation staff say the order will not let them post a yield because there is nothing in the operation overview to confirm. Occasionally the order does get created but with a single generic operation that clearly does not match what is actually done on the shop floor, and the team assumes 'the system picked the wrong routing' when in fact it picked none and defaulted.

The configuration behind it

  • No routing exists for the material and plant combination at all, or one exists for a different plant and was never extended to the plant where the order was created.
  • A routing exists but its status is not set to a released status; routings sitting in created or blocked status are invisible to order selection even though they display fine in the routing transaction.
  • The routing's usage indicator in the header does not include production orders as an allowed usage, so order selection logic filters it out even though costing or another usage can still see it.
  • The routing's validity period, valid-from and valid-to dates, does not cover the order's scheduled start date, most often after a routing change was transported with a future valid-from that nobody flagged to production.
  • The order quantity falls outside the lot size range defined on the routing header or operation, so the routing is technically valid but excluded for this specific order size.
  • The production version referenced by the order, or defaulted by MRP, points to a routing group and group counter that has since been deleted, renumbered, or never released, breaking the link even though the version itself looks fine on the surface.
  • Multiple valid routings exist for the same material with overlapping validity and no clear priority or selection ID set in the order type dependent parameters, so the system cannot deterministically pick one and defaults to none.
  • The routing type does not match what the order type is configured to look for, for example a rate routing exists but the order type's task list type sequence only searches for standard routings.

What to check

  • Display the order in CO03 and check the operation overview; confirm whether it is genuinely empty or holds only a default single operation.
  • Check the material's assigned production version in the material master work scheduling view or in the production version transaction, and note the routing group and group counter it points to.
  • Display that exact routing group and counter in CA03; verify plant, status, usage indicator, validity dates, and lot size range against the order's plant, date, and quantity.
  • If no production version is involved, check whether more than one routing exists for the material in CA03's overview screen and look for overlapping validity.
  • Check the order type dependent parameters for the plant and order type, looking specifically at the task list selection ID and type sequence used at order creation.
  • Re-run order creation for a test quantity inside the routing's lot size range to confirm the lot size range is the blocking factor rather than status or validity.

How to prove it in the data

Pull an order list report filtered by material and plant for a date range spanning the suspected break, and check the operation count column; orders with zero operations or a single generic operation cluster tightly around the date a routing status or validity change went live, which points straight at the change rather than a random data quality issue. Cross-checking that date against the routing's change history in CA03 usually confirms the exact transport or manual edit responsible.

Resolution path

If no routing exists, this is a master data gap, not a config problem: create and release the routing in CA01, or extend an existing one to the missing plant, and reprocess or manually reassign the routing to the stuck order. If the routing exists but is unreleased, unauthorized for production usage, or outside its validity window, correcting the status, usage indicator, or dates in CA02 is a data fix and does not require transport, though it should still go through whatever change control the site uses for master data. If the production version points to a stale or deleted routing group and counter, correct the production version's routing reference; this is also a data fix. If the real cause is selection logic, an ambiguous priority between overlapping routings, or a mismatched task list type sequence, that lives in the order type dependent parameters and is genuine customizing, which needs to move through a transport and cannot be corrected order by order. Orders already created without a routing before the fix need their operations rebuilt or the order deleted and recreated once the routing is fixed, since simply changing the routing afterward does not retroactively populate operations on an order that already exists.

The fix people try first (and why it fails)

The reflex fix is to open the stuck order in CO02 and manually type in operations, work centre, and standard values by hand to get the shop floor moving. This clears the immediate blockage but leaves the routing selection problem untouched, so every subsequent order for that material fails the same way. It also breaks the link between the order and the released routing used for standard cost estimates, so cost comparison and variance analysis on that order will not reconcile against the plan, and nobody remembers six months later why that one order's costing looks wrong.

Whose problem this is

Routing master data and its usage, status, and validity settings belong to production planning master data maintenance; the order type dependent parameters and selection ID logic belong to PP configuration. The handover note should name the material, plant, routing group and counter, the order numbers affected, the exact date orders started failing, and whether the fix requires a data correction only or a transported configuration change.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-functional-issues/routing-not-selected-for-the-production-orderERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.