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

Lesson 2 of 5

Sequence and validation windows

9 min

Migration objects cannot load in any order. A customer open item points to a customer. A purchase order points to a supplier, a product and a purchasing info record. An inventory balance points to a product that must already exist in that plant and storage location. If the referenced record is missing, the dependent load fails, or worse, loads against a default that no one intended.

The dependency chain

The cockpit tells the team which objects an object depends on, and the migration plan turns that into a load sequence. Configuration and organizational units come first, because every record refers to them. Then master data, from the most independent to the most dependent. Then open items and balances, which refer to master data. Finance balances usually come late, because they have to tie out against everything loaded before them.

1. Configuration and org unitsCompany code 1710, plants 1710 and 1720, storage locations, G/L accounts, payment terms. Transported, not migrated.
2. Independent master dataBanks, then business partners as customers (Great Lakes Fleet Services) and suppliers (Lakeside Components)
3. Dependent master dataProducts CMC-ALT-100 and CMC-RTR-200 with plant data, BOMs, routings, info records, prices
4. Open documentsOpen sales orders and open purchase orders
5. Open items and balancesAR and AP open items, inventory balances, fixed assets, G/L balances
Each layer depends on the ones above it. Validate a layer before the next one loads.
The Sign-Off Table · thesignofftable.com/academy/sap-xpr-303

For the business, the sequence matters because it sets when you can validate and what breaks if you are late. If customer master data has a wrong reconciliation account and nobody notices before AR open items load, every open item posts to the wrong G/L account. Fixing the customers afterwards does not move the open items.

Migration key date and balances

Open items and balances are loaded as of a migration key date, usually the last day of the period before go-live. The system needs that date set per company code before financial objects can load. Balances are posted against technical migration offset accounts so that each load balances in itself; once everything is in, the offset accounts should net to zero. That rule gives finance a powerful check, covered in lesson 3.

Mock loads and windows

There is a second reason to get early layers right. The cockpit is designed to create records, not to update records it already loaded. Correcting a wrong field on 1,800 loaded customers therefore means a separate mass-change step or, in a test client, a fresh load into a reset system. Either costs time that a go-live weekend does not have. Ask the migration team how corrections would be applied for each object before you need one.

Projects rehearse migration several times. Each mock load runs the full sequence into a test client, often with a full copy of production data, and each one should be validated as if it were real. Mocks are where business validation is practiced, timed and improved; the final load during cutover leaves little room for discovery.

  1. Mock 1Prove the objects loadPartial data. Validate structure, mappings and field meaning. Many differences expected.
  2. Mock 2Full volumeAll objects, full data. Run the full validation plan and time each check.
  3. Mock 3 / dress rehearsalCutover timingRun exactly as on go-live weekend, including business validation windows and sign-offs.
  4. Go-live weekendProduction loadRun the rehearsed checks within the agreed windows. Sign acceptance per object.
Validation is rehearsed in every mock load, not invented on go-live weekend.
The Sign-Off Table · thesignofftable.com/academy/sap-xpr-303

Planning business validation windows

Luis, Contoso's cutover manager, owns the cutover plan. Business validation appears in it as tasks with owners, start times and durations, placed between loads. Priya, the test lead, helps the key users turn their checks into a repeatable validation plan. A practical plan lists, for each object:

  • Owner: the named business validator, for example Maria for customers and open sales orders.
  • Checks: the counts, totals and samples to run, with the report or app used.
  • Source figures: the matching legacy figures, extracted at the same cut-off.
  • Tolerance: what difference, if any, is acceptable (for example zero for balances).
  • Window: when validation starts, how long it takes, and what load waits for it.
  • Decision: who can accept the object or stop the sequence.
ObjectValidatorMain checksBlocks
CustomersMariaCount by account group; reconciliation account; payment terms; sample 25AR open items, open sales orders
SuppliersPurchasing key userCount; bank details sample; payment terms; withholding tax flagsAP open items, open purchase orders
Products (plant 1710, 1720)Plant key usersCount per plant; valuation class; standard price; MRP type sampleInventory balances, BOMs
Inventory balancesPlant controllerQuantity and value per plant and storage location vs legacyG/L balance tie-out
AR / AP open itemsDan with AR/AP leadsCount and total per company code, currency and reconciliation accountG/L balances
G/L balancesDanTrial balance vs legacy; migration offset accounts net to zeroFinal acceptance

Extract from Contoso's validation plan.

Time every check during mock 2. If Maria's customer validation takes four hours in the mock, it will not take one hour on go-live Saturday. Validators who measure their checks can tell Luis exactly how long a window they need; validators who guess are the ones who end up signing without checking because the clock ran out.

What would you do?

It is the second mock load. Contoso's product load finished on Friday evening, and inventory balances are scheduled for Saturday morning. The plant key users planned to validate products on Monday. What should Luis change?

Key points
  • Objects load in a dependency-driven sequence: configuration, master data, open documents, open items and balances.
  • A wrong value in an early object spreads into every later object that refers to it.
  • Open items and balances load as of a migration key date against migration offset accounts.
  • Mock loads are where business validation is practiced and timed.
  • Put each validation task in the cutover plan with an owner, window and the load it blocks.

Check your understanding · not graded

Lesson check

  1. 1. Why must business partners load before AR open items?

  2. 2. What should the technical migration offset accounts show after all financial objects are loaded?

  3. 3. What is the main purpose of mock loads for business users?

  4. 4. Customer reconciliation accounts were wrong and AR open items already loaded. What is the consequence?