IP10 — Maintenance Plan Scheduling for a Single Plan
IP10 runs scheduling for one maintenance plan, calculating due dates for its maintenance items based on the assigned strategy or cycle set, and generates the maintenance call (order or notification) when a due date is reached. It is a diagnostic and manual-trigger transaction; production scheduling for the full plan population normally runs as a background job through IP30.
This page covers IP10, the transaction used to schedule or force-call an individual maintenance plan in SAP PM. It focuses on the difference between simulated scheduling and an actual call, and the common causes of plans that appear stuck, skipped, or duplicated.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,177 words
Purpose
IP10 executes the scheduling logic for one maintenance plan: it reads the plan's strategy or single cycle, the cycle counters or time intervals attached to each maintenance item, and computes when the next call is due. If the due date has arrived, it can trigger generation of the associated call object, typically a maintenance order or a notification, depending on how the plan was configured. The structural fact that causes most confusion is that scheduling and calling are two separate events: running IP10 computes and displays due dates as a simulation, but nothing is created in the plant until the call is actually executed, either by the user forcing it inside IP10 or by the background scheduling job picking it up. A plan can look overdue for weeks with nobody noticing because the simulation ran but the call never fired.
When it is used
IP10 sits between maintenance plan configuration (IP01 to IP03 style maintenance for strategies, and IP02 for the plan itself) and the generation of executable work in IW21 to IW38. A consultant reaches for it during plan setup and testing, to verify that a new cycle set or strategy produces sensible due dates before it goes live, and during incident troubleshooting, to check why one specific plan has not called work when the business expects it. For the full population of plans running in production, the mass job is IP30, executed nightly or periodically in background; IP10 is not the tool for volume scheduling, it is the tool for isolating and explaining the behaviour of a single plan.
How to use it in practice
- Call IP10 and enter the maintenance plan number, then execute.
- Review the scheduling overview: last call date, next due date, and cycle counters or time intervals for each maintenance item on the plan.
- If a call is due, either let the system trigger it as part of the run or confirm the call manually depending on the plan's call control settings.
- Check the resulting call: note the order or notification number generated and confirm it landed in the correct planning plant and work center.
- Save. The system updates the plan's call history and advances the counters, which determines when the next due date will fall.
Key data objects
- MPLA - maintenance plan header: plan category, cycle set or strategy assignment, start date, scheduling parameters.
- MPOS - maintenance item: links the plan to the technical object (equipment or functional location), the task list, and the call object type.
- MHIS - maintenance plan call history: one entry per cycle, holding the due date, the actual call date, and counter or time values used to compute the next due date.
- AUFK and the order tables, or QMEL for notifications - the actual call object created when the due date is reached, referenced back from MHIS.
How to prove it in the data
In SE16 open MHIS and filter on the maintenance plan number. Compare the scheduled due date field against the actual call date field for the most recent entries; a due date in the past with no corresponding call date confirms scheduling ran but calling did not happen. Take the order or notification number recorded against the last successful call and look it up in the order or notification table to confirm it exists, is not deleted, and has advanced past created status. If the plan uses a counter-based item, check the counter reading table for the object to see whether a reading was posted after the last call date.
ECC vs S/4HANA
IP10 exists and behaves the same way on S/4HANA; the underlying tables MPLA, MPOS, and MHIS are unchanged in structure and purpose. Mass scheduling for production use still normally runs through IP30 as a background job. Some Fiori monitoring apps for maintenance planning exist for viewing plan status and upcoming calls, but the core scheduling logic and the single-plan transaction itself have not been replaced.
Common pitfalls and how to diagnose them
- Simulated versus actual call: a due date shown in IP10 does not mean an order exists. Check MHIS for a populated call date and a linked order or notification number before assuming the call fired.
- Counter not updating: for performance-based maintenance items, scheduling depends on a counter or measurement reading advancing past the trigger value. If no reading has been posted since the last call, the plan will show the same due date indefinitely regardless of how many times it is run; check the counter reading history on the technical object, not the plan itself.
- Duplicate calls from manual forcing: repeatedly forcing a call in IP10 without completing the prior cycle can generate more than one order for the same due date. Before forcing, confirm the previous call's order or notification has been technically completed.
- Call not advancing because the prior object is open: if the order or notification from the last call has not been technically completed (TECO), the next cycle may not schedule as expected. Check the status of the last generated object before assuming the plan configuration is wrong.
- Plan or item deactivated or deleted: a plan with a deletion flag, a locked status, or an item marked inactive will not schedule at all. Check plan status in IP02 or IP03 before spending time on cycle logic.
- Wrong start date or shift logic: an incorrect start date on the plan header, or a factory calendar mismatch affecting shift of due dates onto working days, produces due dates that look plausible but are systematically off by days or weeks; verify the start date and calendar assignment on MPLA rather than the cycle definition first.
Whose problem this is
This is functional PM/CS territory. The plant maintenance planner or PM consultant owns strategy design, cycle sets, and plan configuration. ABAP involvement is limited to custom logic in call object generation if it has been enhanced. A good handover to Basis, if the issue is background job related, states which job variant runs the mass scheduling and its last successful run time; a handover to functional support should include the plan number, the last MHIS entry, and the status of the last generated order or notification.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/ip10ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.