Lesson 6 of 6
Testing MRP
9 min
Listen to this lesson
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.
- IsolateDedicated test materials or a clean plant copy in CMQ client 100
- Set inputsStock, safety stock, PIRs, sales orders, firm receipts; record master data values
- Calculate expectationProposals with quantity, type, availability date and start or order date
- Run MRP LiveDefined scope and control parameters; save the run log
- CompareEvery proposal and exception message against the expectation; note the engine used
A test set for Contoso
| Case | Inputs | Expected result |
|---|---|---|
| 1 Lot-for-lot | Alternator: stock 0, PIR 400 on 1 Nov, EX | One planned order 400, available 1 Nov, start 3 workdays earlier (plus GR time) |
| 2 Fixed lot | Rotor: stock 150, safety 200, dependent requirement 280, FX 500 | One requisition 500; projected stock 370 |
| 3 Two fixed lots | Rotor: requirement 780, same stock and safety | Two requisitions of 500 |
| 4 Firm receipt late | Firm PO for 500 rotors on 25 Oct, requirement 20 Oct | No new proposal; reschedule-in message on the PO |
| 5 MRP area | Fasteners: 171L below reorder level | Stock transfer proposal in area 171L; demand in plant area |
| 6 Fallback | Material with a function listed as unsupported in your release | Planned 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 pattern | Usually caused by | First check |
|---|---|---|
| Quantity off by a lot multiple | Lot size, rounding, safety stock | MRP 1 and MRP 2 values |
| Dates off by days | Lead times, GR time, factory calendar, opening period | MRP 2, Work Scheduling, calendar |
| No proposal | MRP type, planning file, missing version, wrong plant | Product views and run scope |
| Proposal in wrong place | MRP area or segment settings | MRP area segment, strategy |
| Different from ECC | Engine change, retired enhancement, BOM selection | Run log and enhancement list |
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.
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.
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?
- 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. Why is MRP well suited to precise expected results?
2. A proposal date is off by two days. What do you check first?
3. MRP in CMQ differs from ECC for some materials. What is the right response?
4. When should the MRP case set be rerun after go-live?