IP30 — Deadline Monitoring for Maintenance Plans
IP30 is the mass deadline monitoring transaction for maintenance plans. It scans a selected group of plans against their cycle or counter parameters and generates the next call object - a maintenance order or notification - for every plan whose due date or reading falls inside the scheduling horizon. It is run in batch, not per plan, which is why a single missing call is usually a parameter problem, not a program error.
This page covers IP30, the transaction used to run scheduling for time-based, performance-based, and multiple counter maintenance plans in mass. It focuses on why plans silently fail to generate a call, how to prove that in the underlying tables, and who should own the fix.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,147 words
Purpose
IP30 executes deadline monitoring across a selection of maintenance plans. For each plan it checks the scheduling parameters - cycle length, counter readings, factory calendar, scheduling indicator - and, where the next due point falls inside the call horizon, creates the call object: a maintenance order, a notification, or both, depending on plan configuration. It also advances the plan's completion/scheduling status and writes the resulting call to the plan's history. The structural fact that causes most confusion is that IP30 always operates on a selection set, never a single plan in isolation. A plan that 'did not generate an order' is almost always a plan excluded from the selection, blocked by status, or not yet due, rather than a defect in the scheduling engine itself.
When it is used
IP30 sits at the operational heart of preventive maintenance. It normally runs as a background job, once daily or per shift, so that due maintenance plans generate their next order automatically without a planner touching the transaction. Consultants reach for it manually in three situations: testing a new maintenance strategy or plan before releasing the background job, investigating why an expected order or notification did not appear on schedule, and forcing a rerun after correcting scheduling parameters or a counter reading. It is not used for single ad hoc work order creation - that goes through IW31 - and it is not a display tool for plan history, which is better reviewed through the plan itself or IH01.
How to use it in practice
- Restrict the selection to the relevant maintenance plan number, plant, planner group, or scheduling group rather than running against the full plan population.
- Set the call horizon and scheduling date so only plans genuinely due in that window are picked up.
- Run in foreground with the detailed log first when troubleshooting, to see per-plan scheduling messages before switching to background.
- Review the result list - next call date, call object created, and any skip or error message per plan.
- Save to commit the scheduling result; without save the run is only a simulation and no order or notification is created.
Key data objects
- MPLA - maintenance plan header, holding cycle length, scheduling indicator, start date, and current completion status of the plan.
- MPOS - maintenance item, linking the plan to the object list (equipment or functional location) and the task list used to build the call.
- MHIS - call history for the plan, one entry per generated or skipped call, including planned date, actual call date, and call status.
- AUFK - order master data for the maintenance order created as the call object when the plan generates a work order.
- VIQMEL - notification header, populated instead of or alongside AUFK when the plan is configured to call a notification.
How to prove it in the data
Start in MHIS filtered on the maintenance plan number, sorted by planned call date descending. Compare the last entry's planned date and status against MPLA for that plan - specifically the scheduling indicator and the next-call date the plan currently carries. If MHIS shows no new row for a date that has passed, the plan was either excluded from the last IP30 selection, deactivated, or blocked by a deletion or completion status on MPLA. Cross-check the generated order in AUFK or notification in VIQMEL by call number to confirm the call object actually exists downstream.
ECC vs S/4HANA
IP30 is unchanged in structure and logic on S/4HANA and remains a classic GUI transaction; there is no full Fiori replacement for the mass scheduling run itself. Fiori apps exist to monitor upcoming and overdue maintenance plans and to review call history, which consultants use to spot scheduling gaps before diving into IP30, but the actual deadline monitoring job configuration and execution still runs through IP30 or its background job variant.
Common pitfalls and how to diagnose them
- Not yet due: the plan's next scheduled date, per MPLA and the cycle definition, simply has not reached the call horizon used in the IP30 selection. Check the plan's scheduling data before assuming a defect.
- Plan blocked or completed: a deletion flag, a locked status, or a completion status on the plan or one of its maintenance items stops scheduling silently with no hard error. Check plan status fields before rerunning.
- Counter not updated: for performance-based or multiple counter plans, if the linked measuring point has not received a new reading, the plan never crosses its threshold and never calls. Verify the measurement document exists and is recent, not just that the counter master record exists.
- Object list or task list missing: if the maintenance item points to a deleted or archived task list, or an empty object list, the call generation step fails for that item even though the plan itself is due. This shows as a skipped item in the detailed log, easy to miss in a mass run.
- Scope too narrow on rerun: rerunning IP30 with a selection that excludes the plant, planner group, or plan group of the affected plan produces a clean run with no errors and no result for the plan in question - mistaken for confirmation that nothing is wrong.
- Reflex fix to avoid: deleting and recreating the maintenance plan instead of correcting the scheduling parameter or status. This breaks the call history link and complicates audit trail for regulated maintenance without fixing the underlying scheduling condition.
Whose problem this is
Functional PM/EAM owns the scheduling configuration - strategies, cycles, call horizon, and plan status - and is first responder for a missing call. Basis owns the background job that runs IP30 on a schedule and any failed job alerts. A handover to functional should include the plan number, the expected versus actual next call date from MPLA and MHIS, and whether the last background job run completed without error.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/ip30ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.