Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 6 of 6

Testing MRP

9 min

Listen to this lesson

0:00 / 5:40

MRP is one of the few business processes where you can calculate the expected result exactly before you run the test. Known stock, known requirements, known lot size and known lead times produce known proposals on known dates. A good MRP test uses that: it writes the expected proposals down, runs MRP Live, and compares quantity, date, type and segment for every proposal.

  1. IsolateDedicated test materials or a clean plant copy in CMQ client 100
  2. Set inputsStock, safety stock, PIRs, sales orders, firm receipts; record master data values
  3. Calculate expectationProposals with quantity, type, availability date and start or order date
  4. Run MRP LiveDefined scope and control parameters; save the run log
  5. CompareEvery proposal and exception message against the expectation; note the engine used
The MRP test pattern.
The Sign-Off Table · thesignofftable.com/academy/sap-pp-203

A test set for Contoso

CaseInputsExpected result
1 Lot-for-lotAlternator: stock 0, PIR 400 on 1 Nov, EXOne planned order 400, available 1 Nov, start 3 workdays earlier (plus GR time)
2 Fixed lotRotor: stock 150, safety 200, dependent requirement 280, FX 500One requisition 500; projected stock 370
3 Two fixed lotsRotor: requirement 780, same stock and safetyTwo requisitions of 500
4 Firm receipt lateFirm PO for 500 rotors on 25 Oct, requirement 20 OctNo new proposal; reschedule-in message on the PO
5 MRP areaFasteners: 171L below reorder levelStock transfer proposal in area 171L; demand in plant area
6 FallbackMaterial with a function listed as unsupported in your releasePlanned by classic MRP; visible in log or check tool

Cases with known expected proposals. Dates depend on the factory calendar; calculate them with it, not with a plain calendar.

What to compare

  • Type: planned order, requisition or schedule line, as the procurement type and sources dictate.
  • Quantity: after lot sizing, min/max and rounding.
  • Dates: availability, finish, start and opening dates against the factory calendar.
  • Segment or MRP area: where the proposal sits.
  • Exception messages: present where expected, absent where not.
  • Engine: MRP Live or classic, where it matters.
Defect patternUsually caused byFirst check
Quantity off by a lot multipleLot size, rounding, safety stockMRP 1 and MRP 2 values
Dates off by daysLead times, GR time, factory calendar, opening periodMRP 2, Work Scheduling, calendar
No proposalMRP type, planning file, missing version, wrong plantProduct views and run scope
Proposal in wrong placeMRP area or segment settingsMRP area segment, strategy
Different from ECCEngine change, retired enhancement, BOM selectionRun log and enhancement list
Reading MRP test failures.
The Sign-Off Table · thesignofftable.com/academy/sap-pp-203

Regression and conversion comparison

For the conversion, Priya's team also runs a comparison: the same demand loaded in EQ1 (ECC) and CMQ (SAP S/4HANA), MRP run in both, proposals compared for a sample of materials. Differences are expected, for example where MRP areas replaced storage location planning or an enhancement was retired. Each difference needs an explanation and an owner, not a fix by default. Keep the case set for regression after every support package: MRP Live changes with each release, as SAP Note 1914010 shows.

The conversion comparison runs the same demand through both engines and turns every difference into an explanation the planning lead accepts or a defect.
The Sign-Off Table · thesignofftable.com/academy/sap-pp-203

Automate what repeats. The six cases above run in minutes once the setup is scripted: reset stock with a goods movement, recreate PIRs, run MRP Live for the test materials only, and export the stock/requirements list. Comparing the export with the expected table can be a simple spreadsheet check. Keep the scripts and expected results in the test repository in SAP Cloud ALM, next to the test cases they support.

Scripted, the six MRP cases become a repeatable loop that resets its own inputs and checks its own output.
The Sign-Off Table · thesignofftable.com/academy/sap-pp-203

What would you do?

Case 2 expects one rotor requisition of 500, but MRP Live creates one of 330. What is the most useful first step?

Key points
  • MRP tests have exact expected results: type, quantity, dates, segment and messages.
  • Isolate test data, record master data values and calculate dates with the factory calendar.
  • Note which engine planned the material; differences from ECC need explanations, not automatic fixes.
  • Keep the case set for regression after every support package.

Check your understanding · not graded

Lesson check

  1. 1. Why is MRP well suited to precise expected results?

  2. 2. A proposal date is off by two days. What do you check first?

  3. 3. MRP in CMQ differs from ECC for some materials. What is the right response?

  4. 4. When should the MRP case set be rerun after go-live?