SAP tableObjectPLKOModulePP_M2D

PLKO table — Task List Header Table PLKO

PLKO is the header table for task lists in Plant Maintenance and Production Planning, covering routings, rate routings, reference operation sets, standard routings and inspection plans. One row is one group counter of one task list group: it carries usage, status, deletion flag, plant and lot size validity range. It holds no operation detail, times, or work centers; those live in PLPO.

This page covers PLKO, the header table behind routings and other task list types in PP and PM, and how it fits with the operation, sequence and material-assignment tables around it. It focuses on the joins consultants actually write and the recurring mistakes made when reading group, group counter and status fields.

Published 16 Sept 2026· 1,143 words

What it stores

PLKO stores one row per task list header, meaning one combination of task list type, group and group counter. A task list type (PLNTY) distinguishes routings, rate routings, reference operation sets, standard routings, equipment task lists and inspection plans, all of which share the same underlying data model and the same table. The group (PLNNR) identifies the task list itself, and the group counter (PLNAL) identifies a specific alternative or lot-size-dependent version of that group. PLKO carries the administrative and control data for that header: plant, usage, status, deletion indicator, planner group, and the lot size range for which the counter is valid. It does not contain the operations themselves, their times, or the assigned work centers. Those details sit in child tables joined through the same three-part key.

Key fields

  • MANDT - client
  • PLNTY - task list type, for example N for routings, or the types used for rate routings, reference operation sets, standard routings and inspection plans
  • PLNNR - task list group, the internal key identifying the task list
  • PLNAL - group counter, distinguishing alternative versions of the same group
  • WERKS - plant the task list belongs to
  • VERWE - task list usage, controlling where the task list can be selected from (production order, network, and so on)
  • STATU - status of the task list header, driving whether it can be used depending on status control settings
  • LOEKZ - deletion indicator for the header
  • LOSVN and LOSBS - lot size from and to, defining the validity range of this group counter
  • VAGRP - planner or scheduler group
  • AENNR - change number, populated when the header is maintained through engineering change management

How it joins the data model

  • PLKO-PLNTY/PLNNR/PLNAL = PLPO-PLNTY/PLNNR/PLNAL, header to the operations that make up the task list
  • PLKO-PLNTY/PLNNR/PLNAL = PLAS-PLNTY/PLNNR/PLNAL, header to the sequence and operation selection used for standard routings and reference operation sets
  • PLKO-PLNTY/PLNNR/PLNAL = PLFL-PLNTY/PLNNR/PLNAL, header to the sequence structure of the task list
  • MAPL-PLNTY/PLNNR/PLNAL = PLKO-PLNTY/PLNNR/PLNAL, material and plant assignment linking a material to a specific task list group counter
  • AFKO-PLNTY/PLNNR/PLNAL = PLKO-PLNTY/PLNNR/PLNAL, the production order header records the group and counter it was created from

How to read it safely

Always restrict by MANDT and PLNTY first. PLNNR is not globally unique across task list types, the same number range is reused for routings, reference operation sets and inspection plans, so a lookup by group number alone across types returns unrelated rows. Restrict by WERKS as well when the task list type is plant-specific, since group numbers can repeat across plants. The table itself is not large by transactional standards, but joins through PLPO or MAPL can fan out quickly if the type and plant filters are missing. LOEKZ does not remove the row; deleted headers stay in the table and must be filtered explicitly in any query used to prove current state.

How to prove it in the data

Symptom: a production order picked a routing counter that looks wrong for the order quantity. Look up MAPL by material and plant to get the assigned PLNTY, PLNNR and PLNAL, then select PLKO on that exact key. Check LOSVN and LOSBS against the order quantity; if the quantity falls outside that range, the counter would not have been eligible, which explains why a different counter or an error was returned during order creation. Check STATU alongside the status control configuration before concluding the header was blocked.

ECC vs S/4HANA

PLKO remains a transparent table in S/4HANA and is still written by the same routing and task list maintenance transactions used in ECC. The task list data model was not restructured the way the BOM and costing areas were, so the header, operation, sequence and material assignment tables keep their classic shapes. Consultants should still check the specific release for any compatibility view exposed for reporting purposes, since read access patterns for routing data have shifted toward CDS-based extraction in some newer tools even though the underlying table is unchanged.

Common pitfalls

  • Treating PLNNR as globally unique. It is only meaningful together with PLNTY, and the same number can exist under a different type with completely different content.
  • Reading group counter (PLNAL) as a time-based revision. Counters usually represent lot-size or usage alternatives that coexist, not a version history; time-based changes are tracked through AENNR and validity dates, not through incrementing counters.
  • Assuming STATU alone blocks or allows use in production. Status control is configuration-driven; a header in a status that looks unreleased may still be selectable depending on how status control was set up for that task list type.
  • Forgetting LOEKZ. Deleted headers remain physically present and will show up in joins unless explicitly excluded, which inflates counts and produces false matches during data investigations.
  • Expecting operation text, standard values, or work center data in PLKO. None of that exists at header level; every question about what the task list actually does requires PLPO.
  • Assuming a change to the routing header retroactively affects existing orders. A production order stores the PLNTY, PLNNR and PLNAL it used at creation in AFKO; later changes to that header or the creation of a new counter do not change orders already created.
  • Browsing PLKO without a plant filter and drawing conclusions about how many task lists exist for a material. The count is meaningless until WERKS and PLNTY are both fixed.

Whose problem this is

Routing and task list master data is owned by the production planning master data team for manufacturing routings, and by the plant maintenance or quality team when the task list type is an equipment task list or inspection plan. Any question about why a specific counter was selected or why a header shows a given status belongs with whoever maintains task lists through the standard routing transactions, not with the order processing team.

Related SAP objects

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

Source: ERPClimb — https://erpclimb.com/sap-tables/plkoERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.