USMM is the SAP transaction code that runs the annual system measurement, counting every named user by license type and every licensed engine by its contractual metric within a single SAP system, and its output is the raw input that the License Administration Workbench then consolidates across the estate. Every SAP customer is contractually required to run it at least once a year, and the numbers it produces are the foundation of the entire compliance position.
What USMM measures
USMM looks at one system and produces two kinds of count. First it counts named users, reading each account's assigned license type and tallying how many Professional, Limited Professional, Employee, and other users exist. Second it measures engine consumption, checking the technical metric behind each licensed engine, such as the number of orders, the payroll headcount, or the data volume, depending on the product.
| Measurement area | What USMM reads | Why it matters |
|---|---|---|
| Named users | Assigned user type per account | Drives the user portion of the bill |
| Engines | Contractual metric per licensed engine | Drives the engine portion of the bill |
| Inactive accounts | Accounts not locked or excluded | Counted unless deactivated first |
USMM reports whatever is configured, not whatever is correct. It counts each user at the type assigned in named user licensing, so a misclassified Professional is reported as a Professional, and it reads each engine at the metric in the system, which is why engine licensing errors surface here first.
Where USMM sits in the chain
USMM is the per-system step. Its output is collected by LAW, which deduplicates users across systems and classifies each unique person once, and the consolidated result is transmitted to SAP through SLAW. The full sequence, and the points at which each tool can distort the declaration, is set out in the USMM, SLAW and LAW guide.
Compliance warning: Treat USMM as a draft, not a submission. Run it, then review the output system by system before it feeds LAW. Reclassify over-assigned users down, lock or exclude dormant accounts so they leave the count, and reconcile each engine metric against the contract definition. Errors caught at the USMM stage cost nothing to fix. The same errors caught after LAW consolidation and submission become the baseline SAP uses in the next audit.
How often USMM must run
The contractual requirement is at least one measurement a year, but the disciplined practice is to run USMM far more often as an internal control. A quarterly or even monthly run, kept private and never submitted, shows how the user and engine counts are drifting between the annual declarations. That early signal is what lets a licensing team correct an over-assigned user population or a creeping engine metric before it hardens into the official number. SAP only ever sees the annual result, so the internal runs cost nothing in exposure and buy a clear view of the trend. Customers who run USMM once a year and submit it blind are flying without instruments, declaring whatever the system happens to show on the measurement date. Customers who run it continuously treat the annual submission as the confirmation of a position they already manage, which is the difference between defending a number and discovering one.
Why it matters to buyers
USMM is where compliance is set, because nothing downstream can be cleaner than the per-system numbers it produces. A customer that runs USMM and submits the result untouched is declaring whatever drift has accumulated in the system, over-assigned users and stale engine metrics included. The disciplined approach is to run USMM as an internal check first, correct the assignments, and only then let the numbers flow into the annual measurement. Our SAP advisory practice reviews USMM output before it consolidates, and the wider measurement and audit context sits in the SAP licensing guide.