This blog will explain how to consolidate multiple SAP user measurements into 1 combined measurement using the SLAW tool.
Questions that will be answered are:
How to use the SLAW tool?
Which options and help does it bring for consolidation of user measurement?
How to consolidate if users have different user ID’s across the systems?
SLAW2
The SLAW tool has a successor in the SLAW2 tool. See this blog to see how SLAW2 works.
Preparation of consolidation
In each of the systems where you have run USMM user measurement, you have to export the data in the LAW file format. To do this go to USMM and select menu option System Measurement and Export to LAW file:
Save as local file is the most common and easy option. Repeat this for all your systems.
LAW consolidation
You need to select one system for consolidation. This can be your main ECC productive server or for example your solution manager system.
In the consolidation system start transaction SLAW:
The consolidation process consists of 4 steps:
Load all the LAW files
Combine the users
Consolidate
Send consolidated results
First load all of your LAW files, before going to the user combination.
In the step Combine Users you have several options to combine the users:
The best option for your consolidation is dependent on the differences per system. If you user name is the same per system, then this is good option. If the username is different per system, but your email is kept consistent per system, then this is a better option. Last resort is to do by name.
After the combination you can start the consolidation. Result of the consolidation for test users on name looks as follows:
If you see cleansing opportunities, do use them. After the cleansing start USMM again, export LAW file and rerun the consolidation.
Tips & tricks for license measurement
For tips and tricks for license measurement read this dedicated blog.
This blog will explain about SAP user license measurement.
Important: this blog will explain in general terms. Your own company might have bit different agreements in their contract! Especially for larger companies no SAP contract is ever the same.
Questions that will be answered in this blog are:
How to measure users in the SAP system?
How can the USMM tool help in the clean up?
How does it work when I have same user in multiple productive system?
General tips and tricks on user measurements can be found in this blog.
USMM2
In newer systems USMM is replaced by USMM2. For more information on USMM2 see this blog.
USMM user measurement tool
The user measurement tool USMM is the starting point. Start transaction USMM and you will come to the tool launch page:
Important first step is to go to the tab User Types and activate the types according to your contract:
Reminder: these types can be different company depending on the contract.
These activated types will now be visible in the SU01 License tab:
User classification check
In the USMM tool the first thing to do before running the measurement is to validate the user classification. From the USMM start screen click the user classification button. This will now list all the users in your system and the assigned or determined user classification:
If you want to change a classification you can do that in SU01 license tab, or directly from this screen by selection of the record(s) and pressing the Classify Selected Records button.
General rules for classification:
Background users (type B and S) typically count as Technical users
Non-classified dialog users will be set to Default (meaning SAP will count them as the most expensive type of users)
Locked users will be counted as well
Users outside of validity period will not be counted in the measurement
Deleted users and users outside of validity date will not be counted in the measurement, but the statistics of these actions will be!
If you execute regular clean up (every month or quarter) this will be seen in the statistics. If you do clean up just before the measurement it will be seen as well, and might lead to discussion. If you do monthly clean up discussions will end fast.
Executing the user measurement
After you have classified and checked all the users,you can start the user measurement in USMM by hitting the System Measurement button.
The USMM tool will now run by firing a huge amount of SM37 jobs. Wait until the jobs are finished (typically max 10 min runtime). Then you can see in USMM the result of the run in the log:
The USMM tool will both do the user and automated engine measurement.
The USMM tool can be run as frequently as you want. The Send to SAP button is a real send and cannot be reverted.
Improving the USMM results
You can improve the USMM results via the User Data Analysis button:
Here there are several lists to help you find why certain elements are reported.
You can use this lists to find errors in the classification and do extra cleanup. Then you can rerun USMM before you submit the data to SAP.
Multiple productive systems
If you have multiple productive systems a lot of users will be present in both systems. Example: user is present in the core ECC system and runs reports in the BI system.
For the SAP user measurement you want to count the user only once.
To help you in this administration activate in USMM the Multi-Client/System type:
In SU01 license tab you can now refer to this type, and set the main system for user measurement:
The LUI (license utilization information) tool is an online SAP tool that has all the information on your on premise and cloud licenses information combined. For cloud the usage is automatically visible. For on premise systems you can upload the usage via the SLAW files. This can give you insights into under-consumption and over-consumption of licenses. Read more in this blog.
This blog will explain how to activate the SOAP runtime inside the ABAP stack. This is a mandatory step before you can set up web services in transaction SOAMANAGER.
Questions that will be answered are:
What steps are required for the setup?
How can I check if the setup is done properly?
What are potential issue solving actions?
What other tools are available?
Setting up the SOAP runtime
Setting up the SOAP runtime is extensively explained in OSS note 1043195 – Configuration of Web service runtime. The basic steps below have to be repeated twice: first you execute the actions in client 000, then in the main data client again.
Start transaction SRT_TOOLS for reaching the main tool set:
In the Technical Configuration section select the tool for Technical Web Service Configuration. This will bring you to the main activation program:
During setup things might go wrong. If you run without SAP_ALL, please check the notes that you have sufficient authorization. In the process both a background user (SAP_WSRT and DELAY_LOGON) and RFC (BGRFC_SUPERVISOR) are created. If you don’t have authorization for that, issues will happen.
Use transaction code SU01D to see if the users are created properly with the correct roles.
Use transaction code SBGRFCCONF and check the last tab that the supervisor destination is assigned. In systems with CUA there might be an issue with creating the supervisor destination. In this case follow the steps of OSS note 2775490 – Error in customizing while creating supervisor destination.
Issue solving program (run in SE38): WSS_SETUP.
Issue solving transaction: WSIDPADMIN.
Issue solving after setup
If you have issues after setup, run the above check tool via SRT_TOOLS, or directly via transaction SRT_ADMIN_CHECK.
Common root causes: changes in authorization, overzealous user admin deleted SAP_WSRT or DELAY_LOGON user, or somebody deleted the supervisor RFC destination, etc.
The SRT_TOOLS transaction also lets you jump to other useful tools such as the WS message monitor and the web services utilities tool.
Webservice issues after system copy and other system changes
After a system copy you might be confronted with data inconsistencies. Upon start of SOAMANAGER you might get this screen:
Follow the instructions from OSS note 2353589 – Consistency Check for Soamanager. It might mean you need to run program SRT_WSP_INITIALIZE_WS_CFG to re-initialize the complete setup and reconfigure all the webservices again.
Start transaction SRT_UTIL to go to the Web Service Utilities screen. From the menu now select the option Tools, Global Configuration. Here you can set the retention times (in days) to keep the SOAP messages:
Some web services will use idocs. To use this feature basis first needs to enable this option by registering this service. This registration is performed via transaction SRTIDOC.
Running after transports and running in productive system
When you transport a role some changes might end up into the roles being updated, but the user comparison is not done. The end result is that the assigned authorization does not work, and you might get lots of complaints.
In oss note 571276 – PFCG: Transport of roles, SAP explains regarding the cleanup option: “If you schedule the user comparison in a way that means that there might be time overlaps with role imports, you should always deactivate the “Cleanups” option. Otherwise, imported profile data might be deleted.” and “The cleanup is not a security issue, so it does not have to be active for every comparison. Experience shows that it is sufficient to execute it once a week. However, it must be scheduled so that no role import is in progress at the same time.”.
That’s why it is wise to run the program behind PFUD, RHAUTUPD_NEW, in each system on daily or bi-daily basis without the cleanup option. And run it once per week in the weekend with the cleanup option enabled.
If you are running a global system you want to see the usage of the system round the clock. Unfortunately the standard delivery of SAP is summing up the early morning and night hours in the ST03N time profiling.
This blog will explain you how to change this to 24 hours statistics recording.
Questions that will be answered in this blog are:
How to switch to 24 hour time profiling?
How does the result look like?
General information on ST03N can be found in this blog.
Switching to 24 hour time profiling
To switch to 24 hour time profiling start program SWNC_CONFIG_TIMEPROFILE:
Select the Calculate All Hours Separately option and hit the execute button. Done.
The end result
Before you can see the end result you best wait one week for the changed statistics to record.
After 1 week go to transaction ST03N and select the Time Profile option in the expert section:
SAP has delivered a new transport check tool. Goal of the check tool is to make sure your imports are done successful. The tool is designed to answer the following questions:
Do I import transports in the right sequence?
Do I have dependency on other transports, which are not yet imported?
Are there objects in the transport also used in other transports, which I should also import now, or when I do later make a downgrade?
How long will the import time take?
SAP transport check tool
The transport check tool is a program with name /SDF/CMO_TR_CHECK, or transaction code /SDF/TRCHECK. It is delivered in updates of ST-PI component. You can run this program in the normal system or from SAP solution manager.
If you start you get the following initial screen:
Here you see that you need 2 RFC’s: one to the source system where the current transports are and one to the target system where the imports will happen.
Tip: make 2 variants for this program. One is called quality import with RFC source is development and target is quality system. Second is called production import with source is quality and target is the productive system.
In the transport details you can enter 1 or more transport numbers you want to validate. Enter in the transport list the sequence of wanted import.
Important for multiple transports: sequence does matter! If you enter transports in sequence A1, A3, A2 this will give different result from A1, A2, A3.
Cross reference check
The cross reference check will take all the objects in the transport and will execute a where used list in the target system and will check their versions. If any strange thing is found in missing items, or potential version conflicts, you will be alerted. If check is ok the list of items will be empty.
The sequence check will check the sequence of your transports if they are in the right order. It will also check other transports as well for containing the same objects, which have not yet been imported to the target system. If any strange thing is found in missing items or potential version conflicts you will be alerted. If check is ok the list of items will be empty.
Import time in source system
This check will add up the import times of the transport in the source system. This will be a good indication for import time needed in the target system. Example: if import to quality system took 2 minutes, you can expect productive import to be about 2 minutes as well. If the import to quality took 2 hours, you might want to decide more carefully on the exact time of import to productive system.
Online import check
The online import check is for checking critical objects inside the transports. This needs to be configure in the target system of the transport. Read more in this dedicated blog.
History of transport check tool runs
If you use the option Save Results, the results of the analysis will be saved for future reference. These can be retrieved via the History button on the first screen of the transport analysis tool or via program /SDF/CMO_TR_CHECK_HISTORY.
More information
More information on the check can be found by hitting the I (information) button on the program itself. Features of the tool including the PDF explaining the setup of the Online Import Check feature can be found in OSS note 2475591 – Transport Check Report.
Generic SAP blog on the transport tool and its usage can be found here and here.
Specific SAP blog on cross reference check can be found here.
This tool is also subject to having bug fixes. The bug fixes can be needed centrally on the SAP solution manager system and on the SAP systems that are being checked for transport imports.
This blog will explain how to setup print list archiving.
Questions that will be answered are:
What is use case of print list archiving?
How to setup print list archiving?
How to test print list archiving?
How to troubleshoot issues with print list archiving?
Goal of print list archiving
The business sometimes needs to store report output for a longer period of time. They can print the information and put it in their archive. This leads to a big physical archive.
You can also give the business the option store their output electronically in the SAP content server.
Set up or check content repository
First check which content repository you want to use to store the print lists. The type of content repository must be “ARCHLINK”. Menu path in customizing is as follows:
Or you can go there directly with transaction OAC0.
Content repository A2 is default present in the system and is used in the example below. A2 is pointing towards the SAP database for storage. For productive use a SAP content server in stead of SAP database.
Customizing for print list archiving
In the following customizing path you find all the actions required for the print list archiving:
First check that print list document type D01 is present and is using ALF as document class:
In the Edit links section, you can set for document type D01 which content repository is should use.
Then check if the number ranges for archivelink are properly maintained (if empty create new number range):
Then activate the print list queues:
Next step is to select the action to schedule the storage job. This job should not run faster than every 15 minutes.
Final step is to setup the archive printer. You can later on see it with transaction SPAD as well.
Important here: short name must be ARCH. Device type and device class must be set to archiving.
On the access method tab also set access method to archiving.
If you follow this procedure you will initially run into this strange screen:
You didn’t do anything wrong yet. The problem is that the option for print to archive is not displayed by default. First go to the properties of a working printer to enable the archiving output option:
The rest of the note is self explaining:
Start SE38 and run program SHOWCOLO
Print the output list to printer ARCHIVE and archive mode selected
Goto SP01 find the spool, select menu path Print with changed parameters
Hit the Archive button
Start transaction OAM1 and hit the execute button next to Archive queue
Start transaction OADR to read from the archived print lists
From the list take the document and select the button “Display from storage system”
If you are having performance issues, of if you have done intensive data archiving or technical cleanup in your system running on Oracle, you need to consider the Oracle statistics. Without proper statistics the performance of your system will be sub-optimal or even bad.
Questions that will be answered in the blog are:
How to run Oracle index statistics update?
How to use the update as part of technical cleanup?
Oracle index statistics update
To run the Oracle index statistics update, go to transaction SE38 and start program RSANAORA:
To redo the statistics of an index fill out the table and index in the format: table~index. In this example the main index (0) of table BALDAT is chosen: BALDAT~0.
Run the update and wait for it to be finished:
Repeat this for every index defined in your system (lookup in SE11, button Indexes).
Runtime will depend on the amount of entries in the table and the type of infrastructure. Test on acceptance system before running in productive server.
Index run for almost empty tables
If your table is empty or almost empty you can also run RSANAORA with the option Alter index rebuild online. This will speed up read performance for that table index.
Regular runs
If you have setup regular technical clean up jobs as explained in this blog, you can opt to schedule a last step in the clean up job the update of the statistics program RSANAORA. This will ensure best performance while it will hardly cost you time.
The new solution has 2 locking transactions: SM01_DEV for client independent locking and SM01_CUS for client dependent locking.
SM01_DEV locking transaction
Start tcode SM01_DEV:
In this example we will lock transaction SE30_OLD. On the next screen select the transaction and press the lock button. Fill out the transport number. End result:
When starting SE30_OLD you now get this error message:
SM01_CUS locking transaction
In this example we want to lock transaction S_ALR_87012271. The start screen is identical to SM01_DEV. If you want to lock the transaction you get a popup screen in which you can differentiate for WinGui or non WinGUI.
The transaction will be locked, but not be put into a transport. If you want to transport the lock, you have to use the transport button.
After locking tcode S_ALR_87012271 and starting it you get this message now:
The transaction is now only locked in the local client. If you have more client or want a full central lock, then you have to run SM01_CUS from client 000.
Differences SM01_DEV and SM01_CUS
Differences between the 2 transactions:
SM01_DEV locks global and has mandatory transport
SM01_CUS locks per client and has an optional feature to transport
Overview of locked transactions
Program RSAUDITC can be used to get an overview of all locked transactions.