Measuring Usage for SAP Engine Licenses
Implementing SAP engine licenses is only half the battle—the other half measures your usage to ensure you remain in compliance and make the most of what you’ve purchased.
Each SAP engine has a specific metric (documents, users, dollars, etc.), and tracking those metrics in practice can be challenging.
In this article, we explain how companies can measure consumption of SAP engine licenses in ECC and S/4HANA environments.
We cover practical methods for tracking usage metrics (from document counts to memory usage), how to gather the data from SAP systems, and best practices for accurate and efficient reporting.
By proactively measuring usage, IT leaders and SAP licensing professionals can avoid surprises during annual audits and optimize their license utilization.
Read Cost Drivers in SAP Engine Licensing.
SAP Measurement Tools (USMM and LAW):
SAP provides built-in tools to help measure license usage. The primary tool is the System Measurement program (transaction code USMM
), which is used to determine the number of named users and the “chargeable objects” of engines in each SAP system.
USMM can be executed in an ERP system to collect data on engine metrics—for example, it can count the number of sales orders created, the number of employee records created, or whatever specific counting routines SAP has provided for various engines.
When you run USMM and complete the measurement, the results (user counts and engine metric counts) are compiled. If you have multiple systems (e.g., several ECC production instances, or separate CRM and ERP systems), SAP’s License Administration Workbench (SLAW
) helps consolidate these measurements.
SLAW (or the newer SLAW2) allows you to aggregate data, particularly ensuring that a named user in multiple systems is counted only once for license purposes.
For engine metrics, if the same engine runs in multiple systems under one license, you would typically sum the usage across systems (unless your contract specifies per-system licenses). Running USMM regularly (quarterly or monthly) is a good practice.
It’s important to have USMM properly updated (SAP notes applied, etc.) so that all relevant engines are measured. USMM will automatically execute engine-specific counting programs for many engines and report those values.
For instance, it might run a function to count “payroll master records” for the Payroll engine or “number of shipments” for a Transportation Management engine. The results are stored in tables and can be reviewed before submission.
Read about common SAP engine metrics.
Dealing with Self-Declaration Metrics:
Not all engines have automated measurement programs in SAP. Self-declaration engines are those where SAP cannot technically measure usage via USMM. Often, these metrics include revenue, spending, or employees, which might not be fully represented inside the SAP system’s data.
For such engines, SAP relies on the customer to report the usage manually during an audit or annual license attestation. Examples might include SAP Incentive Administration (licensed by sales revenue tier) or SAP Supplier Relationship Management (possibly licensed by spend volume).
To measure these, companies need to pull data from outside standard SAP tables – e.g., take the total annual revenue from financial reports, or HR’s headcount figures. Integrating these business data sources into your license management process is best practice. If an engine is licensed by a value your SAP system doesn’t automatically track, maintain an internal spreadsheet or system where those values are recorded yearly.
For example, if you have an engine licensed by “annual procurement spend,” you might run a report in SAP ECC (Materials Management module) to sum all purchase orders for the year or take them from your finance system. Ensure the figure aligns with how SAP defines the metric (e.g., which types of spend count).
Because self-declaration relies on honesty and accuracy, double-check these numbers with the responsible business unit (finance, procurement, etc.) and document how you arrived at them. During an audit, SAP may ask for evidence backing your reported metric, so having a clear trail (report outputs, etc.) helps.
Transaction Codes and Reports for Specific Metrics:
Aside from USMM, which is broad, there are often specific transaction codes or reports to get metric data:
- User Metrics: For engines licensed per user (or concurrent user), USMM will capture user counts if those user types are set up. Each SAP user must have the correct license type assigned (in the SU01 user master record) so that USMM’s user classification is accurate. The license administrator should run user classification in USMM to ensure no user is improperly classified (since that affects named-user counts). Although user licenses are separate from engines, some engines (like SAP Enterprise Portal or certain self-service scenarios) might be licensed by “number of users” as a metric, so the process overlaps.
- Document/Transaction Metrics: For engines like SAP GTS (documents per year) or SAP EWM (delivery items), you can often use standard SAP analytical reports or tables to count documents. For example, a company might run a query on the /SAPSLL/CASTATSD table (which tracks customs document status) filtered by date to measure SAP GTS customs documents. Similarly, to count sales orders or invoices for an engine metric, one could use SAP’s LIS (Logistics Information System) reports or query tables like VBAK (sales order header) with a date range. Without a ready-made tool, these ad-hoc queries help gather the needed numbers. Another approach is using SAP’s Early Watch/Service Level reports, which sometimes list document volumes and could be repurposed for license tracking.
- Technical Metrics (CPU, Memory, Cores): Engines like SAP HANA database or SAP BI accelerator are measured in technical units. For instance, HANA runtime licenses are often limited by memory size (GB of RAM). To measure this, you would check the HANA system’s memory usage via the HANA Studio or SQL query to M_MEMORY (for licensed memory). The SAP system won’t report “you are using X GB” in USMM; instead, you must retrieve the sizing from system details. CPU or core metrics (applicable to some engines or older databases licensing) can be measured by looking at the server’s hardware info or OS level data (and ensuring it matches what’s allocated to SAP). Keep documentation of hardware upgrades or changes, since adding cores to a server could affect your license requirements.
- Indirect Usage Metrics: While named users cover direct use, SAP’s Digital Access model introduced document-based metrics for indirect access (e.g., number of sales order documents created by external systems). If you adopted Digital Access, SAP provides an estimation tool (the Passport/Document Usage reports) that scans your systems to see how many relevant documents were created indirectly. Running this report periodically helps track indirect document counts against the allowances.
Data Gathering and Tools:
Often, companies augment SAP’s tools with additional software asset management (SAM) tools or custom solutions:
- SAP Solution Manager (License Management): Solution Manager has a License Management Workbench that can aggregate USMM results and help analyze usage. It is essentially an alternative to manual SLAW consolidation, with some more reporting features. SolMan can also be configured to trigger measurements and keep historical data, which is useful for trending.
- Third-Party License Management Tools: Products from vendors like Snow Software, Flexera, VOQUZ, etc., connect to SAP systems to extract user and engine measurements. These tools can automate data collection (running USMM or pulling statistics tables) and present a dashboard for license consumption. They can often parse raw USMM outputs and apply contract logic to show compliance status. If the IT team has such tools, they should still validate the metrics, which can greatly speed up data gathering. Keep in mind that not all engines are recognized by third-party tools, especially niche ones, so there may be some metrics you must handle manually.
- Custom ABAP Reports: Sometimes, organizations develop ABAP programs to count specific things for licensing purposes. For example, an ABAP could read HR data and count active employees of certain types each month, or tally the number of bank accounts if an engine is licensed for that. Custom reports can be scheduled to run, and results can be emailed to the license manager.
Best Practices for Accurate Reporting:
- Maintain a License Inventory and Metric Definitions: Document every engine license you have, its metric, and how that metric is defined. For instance, note that “SAP Payroll – metric: number of active payroll employees (peak annual)” or “SAP EWM – metric: delivery line items per year.” Having this inventory ensures you know what to measure. Also, record whether SAP measures it via USMM or if it’s self-declared.
- Assign Metric “Owners”: Each metric often correlates with a business function. Assign responsibility to the relevant team to provide or validate usage data. HR should own the headcount metric, Finance the revenue metric, IT the technical metrics, etc. They will have the best insight into the data’s accuracy. This cross-functional approach ensures, for example, that HR reviews the employee count that IT pulls from SAP, so that contractors or externals are handled per contract definition.
- Run Measurements Regularly, Not Just Annually: Don’t wait for SAP’s official audit notice. Internally run USMM and gather metrics on a routine basis (quarterly is a good frequency for most, though high-growth metrics might be checked monthly). Regular checks mean you’ll catch a usage trend early. SAP’s tools allow on-demand measurements – USMM can be executed at any time without sending to SAP. By comparing results over time, you can see if, say, your purchase order count is trending sharply upward, giving you time to react.
- Use a Central License Management Tool or Repository: Consolidate the measurements from multiple systems. If you have ECC, CRM, and BW, aggregate their usage data in one place. This could be as simple as an Excel sheet that is updated with each system’s USMM results, or as sophisticated as a database or SAM tool. The key is to have an enterprise-wide view of SAP usage. One pitfall is siloed measurement – e.g., each system admin only looks at their system. You need the licensing team to take all inputs and evaluate total consumption against entitlements.
- Validate and Clean Data: Before finalizing any measurement (especially the one you’ll submit to SAP), validate the data. Ensure background or obsolete users aren’t counted (USMM by default might include locked users if not handled, etc. – check that you’ve classified and cleaned up users properly). For engines, confirm that test or training clients are excluded if the contract says they don’t count. Most contracts only require productive usage counts, so if USMM picks up something from a non-productive client, adjust for that (or ensure those clients are flagged as test in SCC4 so they’re ignored).
- Document Assumptions: If any manual calculation was involved, document how you did it. For example, “Counted active employees in infotype X on date Y” or “Took revenue from the FI annual report, excluding inter-company sales as per contract clause.” This helps internal transparency and is useful evidence if SAP questions your figures.
- Leverage SAP Notes and Support: SAP sometimes provides specific notes or guidelines for measuring certain engines. For instance, there might be an SAP Note with a program to count “SAP Transportation Management freight orders.” Stay up to date on these through the SAP Support Portal. Using the tools or notes provided by SAP ensures that your method aligns with SAP’s expectations.
- Train Your Team: Ensure the people running USMM or pulling data know how it works. A common mistake is misunderstanding USMM output for engines. The tool might show multiple line measurements per engine; you need to know which line is the actual license metric. For example, one engine might output “current count” and “peak count” – you should know which one your license uses (often peak). Similarly, some measurements might be irrelevant or deprecated. Proper training or consulting with an SAP licensing expert can clarify these nuances so you don’t over- or under-count by accident.
Companies can create a reliable process to measure engine usage by following these methods and practices. This ensures compliance (avoiding costly audits) and provides data to optimize licenses – you might find you’re consistently below your entitlements and could negotiate a lower tier at renewal, or conversely, that you need to budget for an upgrade. Measurement is the foundation of effective SAP license management.
Recommendations:
- Integrate License Tracking into Operations: Treat license metric collection as a regular operational task. Schedule quarterly runs of SAP’s measurement programs and review the results in management meetings. Consistent tracking makes compliance a year-round effort rather than a last-minute scramble.
- Build a Cross-Functional License Team: Include IT, SAP basis, and business stakeholders in measuring usage. For each engine metric, involve the department that can verify the numbers (HR for employee counts, Logistics for warehouse documents, etc.). This ensures accuracy and shared responsibility.
- Use Automation Where Possible: Leverage SAP’s tools (USMM, SLAW) and consider third-party solutions to automate data collection. Automation reduces manual errors and provides timely alerts. For example, set up an alert if any metric hits, say, 85% of its licensed limit, so you can act before hitting 100%.
- Maintain Clear Documentation: Keep a repository (even a simple spreadsheet or SharePoint site) with up-to-date info on all engines: the metric definition, current licensed volume, last measured usage, and data source. Update it with each measurement cycle. This documentation will be invaluable during audits or personnel turnover.
- Validate Data Quality: Before relying on any measurement, do sanity checks. If USMM reports zero usage for an engine you know is in use, investigate – perhaps a note is missing or the engine wasn’t activated correctly in measurement. Likewise, if a count spikes unexpectedly, confirm if it’s a true increase or a counting anomaly. It’s easier to fix classification or configuration issues before submitting data to SAP than to dispute them later.
- Regular Internal Audits: Conduct your internal compliance audits annually (or more often). Simulate the SAP audit process by gathering all usage metrics and seeing if you are within entitlements. Internal audits help catch issues (like an engine being used without a license) early, and the findings can drive corrective actions (such as purchasing additional licenses or curbing usage).
- Educate Users on License Impact: Sometimes end-users or even developers can unknowingly trigger license-relevant activities (e.g., creating dummy sales orders or enabling a feature tied to an engine). Provide basic training or guidelines so that the teams understand the implications. If everyone knows that “every business partner entered might count toward a license,” they may be more cautious, clean up dummy data, etc. This reduces noise in your measurements and lowers the risk of inadvertent overuse.