Technical Articles
ABAP Call Monitor (SCMON) – Analyze usage of your code
Do you know that on average 40-60% of your custom code is in reality not executed in your productive landscape? Especially in SAP Business Suite migration projects like to SAP HANA or SAP S/4HANA such amounts of unused code result in huge adaptation efforts. Therefore SAP’s recommendation is to clean up your unused custom code before migration. But how can you identify the code that is not used?
The purpose of the ABAP Call Monitor (transaction SCMON) is to monitor the execution (usage) of ABAP code (function modules, method calls etc.) in your productive system. The advantage of the SCMON compared to the UPL (Usage Procedure Logging in SAP Solution Manager) is that using this tool you not only collect the usage data (how often a specific ABAP object was called), but also the information about the calling business process. Therefore as a result of the monitoring, you get a list of business transactions (callers) along with all ABAP objects that have been called within these business transactions including the number of calls.
Since SCMON comes along with enhanced functionality scope compared with UPL, you can consider SCMON as a successor and use it instead of UPL.
In the example below you can see, that the function module HTTP_GET_HOST was called altogether 50 times and 19 times of it within the transaction SICF, 17 times as remote function call from the FB_AUINT_CLASSTEST_EXTERNAL and so on.
ABAP Call Monitor does not provide any performance data.
You can use the collected data for example, to find all business processes that call a specific ABAP object (e.g.to identify the business processes affected by code change or deprecation) or to find out which ABAP objects are called by a specific business process.
SAP’s recommendation is to keep the monitor switched on for a certain period of time to get reliable data.
The ABAP Call Monitor stores the usage data on the system for a certain period of time (maximum 7 days). In order to store the usage data for a longer period of time, you should use transaction SUSG. The purpose of the transaction SUSG is to aggregate the usage information collected by ABAP Call Monitor for a period of time. Learn also how to Aggregate usage data in your production system with SUSG transaction.
Prerequisites
ABAP Call Monitor is available with AS ABAP 7.50 and for the lower releases (>=7.00) per ST-PI Add-on.
The authorization profile for object S_ADMI_FCD with value SCMD for read access to ABAP Call Monitor data.
The authorization profile for object S_ADMI_FCD with value SCMA for administration activities in the ABAP Call Monitor.
Integration into SAP Solution Manager 7.20
SCMON can be activated in different systems from one single place: SAP Solution Manager 7.20, if these systems are connected to SAP Solution Manager (Solman_Setup -> Custom Code Management).
Generally the Solution Manager 7.20 collects either UPL or SCMON data depending whether the connected system is capable of SCMON or UPL. It is also possible to extract the SCMON data into Solution Manager BW. The data will be stored in day slices and if needed as well in weekly, monthly and yearly aggregation. This will help to keep SCMON data during a long time period in one single place, but still keep the time slices and the respective data small in the original system itself. The existing already collected UPL data get also imported into Solution Manager BW and simply mixed with the new SCMON data.
The SCMON data can then be evaluated for decommissioning of unused objects in the connected systems, using Custom Code Lifecycle Management (CCLM) Decommissioning Cockpit in the Solution Manager. (Sm_Workcenter -> Custom Code Management -> Custom Code Management or CCLM Decomissioning Cockpit). Please consider that usage data are collected from different systems and if an object is not used on one system, but used on the other system, you should not decommission it.
Administrator: Configuring ABAP Call Monitor
System administrator configures SCMON and changes the data collection.
CAUTION:
- You should never run Usage Procedure Logging (UPL) und SCMON in parallel. This can happen coincidentally for example if you activate UPL via Solution Manager and then SCMON locally in ABAP system.
- Avoid using SCMON (or UPL) for the systems which already run under maximum load
It is the task of a system administrator to activate or deactivate monitoring with SCMON for the entire ABAP system (all server instances) by using the button Activate and then specifying the configuration settings:
Here you specify the point of time when the monitoring will be deactivated automatically (Scheduled Deactivation) and limit the maximum number of records that are created during monitoring (Record Limit).
The time slices in the ABAP Call Monitor make possible to analyze the progress of monitoring results over time. You then have the option to focus on monitoring data for a specific time interval. For example, you might be interested in those ABAP procedures that call development objects that have been declared as deprecated since a specific point of time (ABAP Call Monitor > Configure Time Slices).
Here you can limit the data records created during monitoring to a specific period of time. The ABAP Call Monitor automatically deletes the monitoring data that has been created before Maximum Number of days.
Usually, the data collection takes automatically place once an hour if the ABAP Call Monitor is active in the system. But you can trigger the data collection explicitly at any point of time (button Collect Data).
If you have finished your monitoring activities and no longer need the corresponding data, you have the option to explicitly delete the collected monitor data (menu ABAP Call Monitor > Delete Data).
Developer: Using ABAP Call Monitor for data analysis
Display and analyze the collected data
The Data Browser of the ABAP Call Monitor allows you to analyze the use/dependency relationship between called objects and calling business processes (button Display Data).
You can also specify the data for selective analysis. For example if you want to get all URLs calling the method TRACE of the class CL_HTTP_SERVER during a specific period of time, you need to specify the following options:
And here is the result example:
If you want to display all ABAP objects that were used (called) by the SE38 transaction within one day you need to specify the following options:
Based on the selection criteria, the ABAP Call Monitor generates a result list of request entry points along with all ABAP objects that have been executed within the selected time interval:
Each entry in the list represents a monitoring data record, which you can drill down for viewing further details. For example Show Time Evolution displays the daily time slices of monitoring data for the selected entry, Show Calling Requests displays the calling requests and Show Called Requests displays the called requests for the selected entry.
Display and analyze the Call Graph
The call graph option allows you to focus on the usage/dependency relationship between requests (button Display Call Graph). For example, if you want to know which objects call the transaction SE38 within a certain period of time, you will need to specify the following options:
And here is the result example:
Display Log
Occasionally, you will need an overview of all monitor activities within a certain period of time (button Display Log).
In the Log Browser screen that appears, you get a list of actions or events – such as activation or deactivation of the call monitor, deletion of records, and collection of data.
Further information
The new SAP Note 2679723 serves as a central reference and entry point for problems with SCMON and /SDF/SCMON. In particular, it contains an overview of relevant further notes concerning the ABAP Call Monitor.
Hi Olga,
thank you for this blog. Did not had a try yet to use it, but is it also possible to have a run, which I say to the settings a maximum for collecting the same object. So the example looks like that:
I want to know every customer-object, but when a object is called more than 100 times a day I'm sure I need to have a look at it, and I want to have the rest of the trace not filled with the same information over and over again. Got the question?
~Florian
Hi Florian,
it is not possible but also not necessary, since only the counter is counted up (per call request), that is, there are not more trace entries created.
Regards, Olga.
Hi Olga,
thanks for sharing!
I recently learned about UPL and that it can be also used without SolMan, via Report /SDF/UPL_CONTROL .
Now you say that SCMON is better than UPL, so it's probably a good idea not to dig to deep into UPL, but more into SCMON, right?!
Your initial statement (only 60 % of custom code is actual executed) points towards "we can get rid of a lot of dead code, if we can Identify it."
But how do I identify that code? You describe a way vie "Custom Code Lifecycle Management (CCLM) " in SolMan, but is there also a standalone option (without SolMan) available?
-> IF SCMON logs everything that is called, it should be easy to also show me parts that have never been called. Is there an option for that, or would I have to try to compile that list manual, somehow?
best
Joachim
Hi Joachim,
if you would like to run an Usage Analysis without SolMan we recommend to use SCMON as this is definetly the better approach because of the entry point information. If you would like to identify code which is not used at all you have to use the SolMan CCLM Tooling. But you are right it looks not so complicated to detect this delta when you have SCMON data in the system. So we think about it to provide this feature in the NW stack as well.
Regards,
Thomas.
Hi Thomas,
yes, please integrate that in NW stack!
CCLM is a lame duck, destroyed by SAP Sales people, who did not know how to sell Enterprise Support.
We decided to build our own decommissioning tool based on TADIR minus UPL 365 days.
Thanks,
Stephan
Hi Stephan,
I don't agree that CCLM is a lame duck. It provides a lot of usefull information which helps to make the wright decision for decommissioning. It was developed in several co-innovation projects with our customers. For example it enriches the usage information from UPL with usage information for includes and transactions. As for example usage of includes is not collected by UPL or SCMON. CCLM calculates automatically usage information for includes based on the references and the usage of the main object(s). This is just one example. CCLM is now used by more than 1000 customers with the main use case to decommission unused objects based as well on information coming from TADIR, PROGDIR, UPL/SCMON, workload statistics and many other sources.
You might even have a look at the new quality cockpit of CCLM provided with SAP Solution Manager 7.20 which support for example the conversion to S/4HANA.
But yes, CCLM is not part of standard support.
Best regards,
Thomas
Hi Olga,
why another tool? Could SAP not enhance UPL? What about all the UPL ideas in 2014 (DDIC …)
Now I have two tools, that have both disadvantaged and should not even run this in parallel.
Do you have a list of objects that are support in UPL, but are not in SCMON (SmartForms, Adobe Forms, WebDynpro?)
Thanks,
Stephan
Rather wondering the same - why two different tools? Both seem to be tied to SolMan anyway... Maybe I'm missing something.
Hi: Jelena, Stephan.
you don't need both tools. SCMON is the replacement for UPL. It comes with new features (entry point) and can be used on the ABAP stack without SolMan. So you can analyse the SCMON results within the ABAP stack.
Technically it was not possible to enhance the UPL infrastructure with new features. Therefore we decided to replace the UPL with a complete new infrastructure.
Regards,
Thomas.
Thank you, Thomas, that explains it. Might be beneficial to mention it in the blog text somewhere.
Hi Thomas,
what about “runtime -> design time conversion” of SCMON? (Adobe Forms, Smart Forms ..)?
BTW: We run UPL only in within the ABAP stack and have a retention time of 365 days.
Thanks,
Stephan
Hi Stephan,
SCMON collects only the ABAP-based usage data.
Best regards,
Olga.
Hi Olga,
you say that SCMON is available for Systems < 7.50 per ST-PI Add-on.
I have a System with 7.40 and the latetest ST-PI, but I cannot find the Transaction. Is there a Report maybe?
Thanks,
Julian
Hi Julian,
in ST-PI add-on is the transaction SCMON in the ST-PI name space. Just enter /n/SDF/SCMON in ok-field to start it.
Regards,
Olga.
Hi Julian,
could you solve this issue on your 740 System? Which patch of ST-PI didi you implement?
Kind Regards
Ali Özcan
Hi,
what exactly does "Avoid using SCMON (or UPL) for the systems which already run under maximum load" mean? Is there a performance decrease when using SCMON or UPL? If yes, how much (roughly)?
And is it recommended to activate SCMON only for a short period or should it be activated it all the time. Because if we want to get a continuous picture about the use of our custom code for example, I think it should be activated all the time, right?
Best regards,
Oliver
Hi Oliver,
I would roughly say about 5% CPU time on the application server. We recommend to activate SCMON for a longer period of time in order to get representative picture about the use of custom code.
Regards,
Olga.
Hi Olga,
ok, thanks for this information.
Best regards,
Oliver
Hi Olga,
Thanks for this great blog post. I was wondering if you only get info from SCMON about specific ABAP objects such as classes and FMs, or if you also learn about what lower-level objects such as data elements or even message classes are being used.
It would be quite interesting too learn what has been called in a system on a very detailed level!
Thanks so much
Martin
Hi Martin,
SCMON monitors the execution of ABAP procedures, therefore the objects must be "executable/callable" like function modules, method calls.
Best regards,
Olga.
Thanks, Olga! That helps a lot!
HI Olga,
We are running SAP system 7.4, but having latest ST-PI and kernel that enables us to activate SCMON. It working well in the managed system. however when I try to get the SCMON extractors in the solution manager, its not able to detect the SCMON. I don't see the Start symbol in the extractor and Root is ticked as it supposed to when SCMON is enabled.
We are running our solution manager 7.2 SP4. Anything special we have to do to make it work in solution manager?
Thanks
Vijay
Hi Vijay,
Please refer to the SAP Note 1828848 to check the prerequisites for your SCMON NetWeaver System as well (must be NetWeaver 740 SP14+).
You need to start SCMON not in the SCMON system but from Solution Manager via Set-Up. To do this, you must activate the entire infrastructure in Solution Manager and then activate SCMON. Please refer to the CCLM guide für Solution Manager 7.20 (SP5) (we don’t have it for the SP4, but the most information is relevant for SP4 as well).
Best regards,
Olga.
Hi Olga,
Does SCMON replace UPL as the data source for the System Recommendations Object List?
Thanks
Hi Arman,
SCMON replaced UPL and can be used instead of UPL with Solution Manager.
Best Regards,
Olga.
Hi Olga,
Thanks for sharing.
We have been using UPL for a long time and now we have upgraded to Solman 7.2. Knowing the capabilities of SCMON we are now looking forward to replacing UPL with SCMON. So, interested in knowing the implications and any use case for SCMON.
Regards,
Anshika
Hi Anshika,
the SCMON is the SAP recommended replacement for UPL. There are no special implications.
Best Regards,
Olga.
Thanks Olga.
Regards,
Anshika
We've recently decided to start using SCMON instead UPL. My problem now is that not sure how to move captured results to BW infocubes. We were using 0SM_UPL but with SCMON data is not transferred. Which should be the infocube/DSO that collects SCMON data? Is any infocube available?
Thanks in advance.
Iñigo.
Hi,
it is possible to transfere SCMON data to SAP Solution Manager BW using SAP Solution Manager 7.2. This can be impleted within SAP Solution Manager set-up for Custom Code Management. With SAP Solution Manager 7.2 SP05 there is a new procedure to set-up usage logging without following the set-up for Custom Code Management.
Please read https://www.sap.com/documents/2017/05/d493008a-bd7c-0010-82c7-eda71af511fa.html# for more information and you can also find information directly embedded in th UI for the set-up.
Best regards,
Thomas
Hello Olga,
thank you for this overview.
I am wondering, if SCMON replaces UPL in regards to all the UPL-based tools? Is SCMON able to logg Smartforms, Adobe print forms and SAPscript? Are system recommendations and SWLT supported by SCMON?
Thank you very much!
Marga
Hello Marga,
SCMON collects only the ABAP-based usage data. SWLT doesn't support SCMON result as "Coverage Data" and SCMON data cannot be mixed up against static check results.
Best regards,
Olga.
Hello Olga,
ok, thank you. So Smartforms, Adobe print forms and SAPscript can be logged as by UPL?
Best regards
Marga
Hi Marga,
as I said: SCMON doesn't support non-ABAP code.
Best regards,
Olga.
Hello Olga,
I am asking as as far as I knew UPL was able to log Smartforms, Adobe print forms and SAPscript? So if SCMON is not able to do so, is there a way to log these objects by UPL and the rest by SCMON? Or do I have to choose between SCMON and UPL and have to accept then the disadvantage against UPL?
Thank you. I am just investigating the difference between UPL and SCMON in conrete.
Best regards
Marga
Hi Marga,
I'm not aware that UPL can collect other data as you mention. Technically SCMON collects the same usage data as UPL, so you don't have any disadvantage with SCMON.
Best Regards,
Olga.
Hello Olga,
on page 8 of the How-To Guide SAP Custom Code Management Usage & Procedure Logging there is explained:
https://www.sap.com/documents/2017/01/a28f29f1-9f7c-0010-82c7-eda71af511fa.html
Hi Marga,
UPL and SCMON collect the same data (ABAP runtime objects only).
Additionaly using the report /SDF/SHOW_UPL with the option "Runtime-Designtime" the result list of UPL data can be analyzed for potential for conversion to design time objects. In this way, if it works, you can also get the usage of SAPscripts, Adobe Printforms and Smartforms. But this conversion does not always succeed (e.g. the conversion is not always clear and partly coupled with versions of the objects). See also the page 30 of the UPL Guide.
I hope, it helps you.
Best Regards,
Olga.
Hello Olga,
thank you very much for clarifying!
Best regards
Marga
Hello Olga,
I have a new question where I didn't find any information on. Should I activate the root flag in the SCMON-configuration?
I found this hint in the CCLM-Guide: "The activation for SCMON will be done without extracting the root information. Root collection has to be activated by the customer itself." But then there is another hint: "Attention: Extracting root information from the managed system will increase the usage data in BW of SAP Solution Manager by a factor up to 20."
So I am not sure if I should activate it or not and which would be the consequences and how to manage these (data volume management?)?.
Thanks in advance for your help.
Best regards
Marga
Hello Marga,
I am not able to give you any recommendation on that. The decision about if you need root data or not depends on your use case for usage data: what you what to achieve with usage data and if root data is required for this. If root data is required, then you can expect a larger volume of data compared to SCMON without root.
Best regards,
Olga.
Hello Olga,
we want to use CCLM scenario and most probably SEA. Does it makes sense in these use cases? Where can I find more information about the use of the root flag? I could not find anything but it will produce hugh quantity of data volume.
Thank you very much!
Best regards
Marga
Hello Marga,
for SEA I don’t have any contact person, you need to ask your SAP contact at customer. SCMON always collects data with root information. But you need to decide if you need this root data in your particular CCLM/SCMON scenario. The root information means request entry points - such as a specific transaction, RFC call, URL request, or ABAP report. As a result of monitoring you get a list of executed request entry points along with all ABAP procedures that have been executed under the umbrella of these entry points. For more information take a look at Application Help in the SCMON transaction.
Regards,
Olga.
Hello Olga,
thank you for helping.
Do I understand well?
The SCMON data collection in the managed systems is always done with root data and does not depend on whether I activate the root flag in the setup or not.
If I activate the root flag in the setup the data which will be transferred into Solution Manager BW will be transferred with root data information and will be available for the analysis of the specific use cases.
So the question where I have to worry about data volume points to the BW of the SolMan and is no issue on the managed systems?
Thank you again,
best regards
Marga
Hi Marga,
exactly. You‘ve got it.
Regards,
Olga.
Thanks, Olga!!
Hi Olga,
was it discussed, or is it planned to offer daily as well as monthly time slices? In my opinion, it would be ideal (in the context of a typical SAP customer) to have daily slices for the last 2-3 months, and then monthly slices for everything before that. Like this, you could still access very old measurement data, while keeping the overall data volume low:
Best regards,
Edo
Hi Edo,
it was thought but never pursued.
But if the SCMON is scheduled by the Solution Manager, the Solution Manager makes exactly this aggregation (weeks, months, years).
Best Regards,
Olga.
Hi Olga,
it seems this functionality has now been supplied by SAP. See note https://launchpad.support.sap.com/#/notes/2643357, providing a new transaction SUSG.
Where can I find information about this new aggregation functionality?
Especially, I am interested whether the aggregated data is stored in the same tables (SCMON_SLICE, SCMON_DATA etc.) and displayed by the same transaction SCMON.
Best regards,
Edo
Hi Edo,
the documentation about SUSG is being now created, and will be available somewhat later.
The aggregated usage data is stored in new tables (SUSG_DATA, etc.) and cannot be displayed using transaction SCMON.
A remote enabled API is provided to read the aggregated usage data.
Best regards,
Olga.
Hi Olga,
It would be great if you can share the documentation once it is available.
I’m most interested to know if there are any plans to integrate this with custom code tools like CDMC etc.? I assume it's technically possible with the API provided. Would be great enhancemet especially since UPL/SCMON no longer works with CDMC on SolMan 7.2.
Looking forward to hearing from you.
Best regards,
Vincent
Hi Vincent,
there are no plans to integrate SCMON or UPL data with CDMS and there will be no new developments for CDMS generally, only maintenance. You should use CCLM in Solution Manager for custom code management. It is capable of UPL/SCMON.
Best regards,
Olga.
Hi Olga,
thank you for the insightful information.
Regarding the conversion to S/4HANA: Is it possible to add the information from the SCMON (or UPL) into the ATC to see, wether it is even necessary to make adaptions to custom developments? (e.g. see which custom developments are used regularly and which are not used at all)
Unfortunately I haven't found any information regarding the connection of SCMON to ATC and wether this is even possible. I read somewhere, that this should eventually be possible in future updates, but haven's found much regarding this statement.
Best Regards,
Tobias
Hi Tobias,
thank you for this important feedback. We are pretty aware of this requirement, and our development is currently working on including custom code scoping based on usage data into custom code analysis. This capability will be available in the future releases. Currently SCMON data cannot be used directly in ATC. You need to use these two tools separately.
Best Regards,
Olga.
Hello Olga - thanks very much for all of the information. Is it possible, either via SCMON or another tool to understand which users are executing custom developments ? For custom code which has limited use, we would like to follow up with those users and organizations where it is still used to check for decommission possibilities.
Many thanks and best regards,
Ken
Hi Ken,
unfortunately not automatically. You need to look up for each such custom code object in the object catalog (TADIR). Alternatively you can write a report, to JOIN the SCMON results (e.g. SCMON_VDATA_A_VIEW) with the table TADIR.
Best regards,
Olga.
Hello Olga Dolinskaja,
Big thanks for great blogs, I learn a lot from your articles.
Currently I have issue that I don't know how to grasp. In our organization we setup monitoring process of our code via Solman using SCMON. Everything works great and data is collected so we can start planning cleaning process but we have issue with Function modules usage monitoring (Reports/Classes looks nice). It looks that only about 1% of our custom function modules have last usage date when we check BW report in Custom Code Management Workcenter.
We also try to use some reports that using custom function modules and check if usage will be recorded but it wasn't. I was trying to check also some information on forums but it is really hard to find answer to our problems.
Maybe you have something in mind that we can check in our system to improve usage reports ?
Hi Marcin,
SCMON always collects the usage of function modules. Please consider, that function modules appear in the SCMON usage list as entry points only if they are called via RFC. Otherwise they are part of the calling request and you can see their usage within the call graph of the calling request. You can check it directly in the system. If it is not the case, and you still don't get the usage of functional modules, please open the OSS message to the ST-PI component.
I'm not familiar with BW reports in CCLM, maybe the SAP Community wiki can guide you: https://wiki.scn.sap.com/wiki/display/SM/SAP+Solution+Manager+WIKI+-+Custom+Code+Management
Best regards,
Olga.
Hi Olga,
thanks for sharing this information!
My question is about calling the SCMON_DISPLAY_DATA in the background. I noticed, that the batch job failed every time with exception CNTL_ERROR. I would like to export results to local file weekly from spool. With filters I use, there are less than10000 entries. Do you have any proposals for running this report in the background? It is not integrated in the Solution Manager.
Thank you!
Best regards,
Elena
Hi Elena,
the report SCMON_DISPLAY_DATA can only be run in dialog. An aggregation of the data for week / month is (presumably) provided by the Solution Manager, if configured.
Regards,
Olga.
thanks for the blog Olga,
activating SCMON on a productive SAP S/4HANA system, table SCMON_DATA growth very fast using more then 250GB of the HANA (check out attached picture).
At that point SCMON_DATA become greater than all the complete Database increasing the memory consumption out-side the licence limit.
Table SCMON_DATA is defined as Columnar and not Row and some doubts about usage in real-life are arising.
As you can see in the picture SQLMZD (from /nSQML) is second and it's a bit a pity that also this kind of tables that are technical logs fill-up the memory of SAP HANA, isn't it?
Sergio
Hi Sergio,
since a large number of updates are performed hourly on table SCMON_DATA, the table appears under the top tables regarding "Memory Size in Delta", as shown on your screenshot.
Regarding "Memory Size in Total", the table SCMON shall not grow larger than a few GBytes, as overall records in SCMON are limited to 20.000.000 per default.
Similar for table SQLMZD.
Best Regards
Stefan
Thanks for the valuable reply Stefan !
Hi Olga
I'm not sure if this is the correct place but at least the blog is about usage 🙂
I have a situation in Solution Manager CCLM where the BW aggregation to month and year cubes is occurring for some systems but not all (we do not use the week cubes). Checking the AGS_CC_SCMON_DSO extractor confirms that for 10 systems the aggregation is currently working but for 4 it is not. When I run an infrastructure check, all seems well for the Solution Manager system itself.
and the information on the cubes for each system just tells what I already know - that the data is missing.
What I have noticed though, is that in the Usage Logging configuration settings, for a system that aggregates correctly, the Operation status is Green and the Message Context has an Operation Status node - see below
However, for systems that does not aggregate correctly, the Operation Status is RED and there is no Operation Status code in the Message Context.
Daily data is collected correctly for all systems, just not aggregated for some.
Any idea how I can rectify this?
Regards
Ian
Hi Ian,
please open the ticket to SAP regarding this issue. It needs to be analyzed in depth by SAP experts.
Thanks,
Olga.
Hi Olga
I've opened the ticket and will feedback the resolution once we have solved the issue.
Many thanks
Ian
Hi Olga
This is now rectified by reactivating the system specific settings.
Thanks
Ian
Hi Olga,
we have switched on the SCMON via /SDF/SCMON... in our System.
The Base colleagues have set the time slices to the max. of 7
So the Monitoring was started 3 weeks ago , we suggested that we will all Data since 3 weeks now.
But always when we use now the /SDF/SCMOND Transaction we got only the last 7 days an not 21, even when we set the relevant dates in the Selection Screen.
Is only the Data for the last 7 Days available, since we use Time Slices = 7 ?
Best regards
Mario
Hi Mario,
yes, correct. The ABAP Call Monitor stores the usage data on the system for a certain period of time (maximum 7 days). In order to store the usage data for a longer period of time, you should use transaction SUSG (see also the link to SUSG above in the blog Aggregate usage data in your production system with SUSG transaction.). The purpose of the transaction SUSG is to aggregate the usage information collected by the ABAP Call Monitor for a period of time.
Best regards,
Olga.
Hi Olga,
Thx for the quick answer. But I didn't find this Transaktion SUSG on our Production System.
Is it because we only have 7.40 Release ?
We use therefore the /sdf/..... Functions and not the Original one like SCMON
Best regards
Mario
Hi Mario,
SUSG is provided also on older releases (>=7.00), 7.40 is supported as well. You need to install SUSG on your system via SNOTE. See please the corresponding SAP Notes in the "Prerequisites"chapter of the SUSG blog.
Best regards,
Olga.
Hi Olga
If SCMON is switched on in the system rather than via SolMan, it has a deactivation date of 2 weeks in the future. If our system is not connected to SolMan, should we just set this data to be indefinite and ensure that SUSG is also switched on?
Regards
Ian
Hi Ian,
yes, you need to switch on the SUSG.
I found nothing special in the application help of SCMON regarding deactivation date besides:
"The following configuration settings are specified: Scheduled Deactivation: Point of time when the monitoring will be deactivated automatically." So I think you can leave it undefined.
Regards,
Olga.
Thanks Olga. Set as below. I'm assuming the records will not grow to 20 million if they are being aggregated.
Thanks
Ian
We are in early planning stages for setting up SCMON and ATC. We have been asked if either of these tools can provide usage statistics for LiquidUI scripts. My first guess is that they can't but would appreciate any feedback or suggestions you or other readers may have about usage statistics for LiquidUI scripts.
Hi Joyce,
the ABAP code, processed by Liquid UI scripts will be recorded by SCMON. The question is, what is the request entry point for the SCMON, because the processing was called not by ABAP transaction but by Liquid UI script.
Regards,
Olga.
Hello experts
We have two years' UPL data accumulated on our Managed System (Production). What happens to that information when SCMON is activated (and transaction SUSG is implemented)? Would the usage stats (i.e how many times a directly executed Transaction and/or Program was used) become available in CCLM reporting? If so, would we still be able to access to full two years' data, or only the data used since activating SUSG/SCMON?
Your insights are appreciated.
Regards, Rob
Hi Rob,
if you use CCLM then the existing already collected UPL data will be imported into Solution Manager BW and simply mixed with the new SCMON data, so you will not lose your collected UPL data if you switch on SCMON. SUSG/SCMON should be used directly in the ERP system without Solution Manager and CCLM and you cannot add your collected UPL data to SUSG.
Regards,
Olga.
hi Olga,
Is there any plan to add data about the development package and the time of execution for each SCMON output record?
Thanks,
Joe.
Hi Olga
Thank you for your block.
We activated SCMON via our Solution Manager for the managed systems. In the managed system we can see that the SCMON only runs for 7 days and the data is then overwritten.
Where can we see the total data collected over a long period of time?
Many thank you
Best Regards
Hi Tatjana,
as described in the beginning of this blog: you must activate SUSG transaction for the data aggregation.
Best Regards,
Olga.
Hi Olga,
Thank you very much for your answer. Unfortunately we have not activated SUSG.
Does this mean that the collected data were always overwritten after 7 days and we now have no data collected for more than 7 days?
Must SUSG in the managed System to be activated if SCMON has been activated via solman?
Thank you
Best Regards
Hi Tatjana,
yes, it so.
Regards,
Olga.
Hi Olga,
Hi Tatjana,
if you use SCMON with Solution Manager, then you don't need SUSG, SCMON data gets stored in the Solution Manager BW, but will be deleted from the SCMON system after 7 days. You should then refer to the SCMON usage data stored in the Solution Manager BW. Please refer to the Solution Manager Guide for details to to set up SCMON with Solution Manager. You can find it here:
https://wiki.scn.sap.com/wiki/display/SM/SAP+Solution+Manager+WIKI+-+Custom+Code+Management
Best regards,
Olga.
Hi Olga,
Many Thanks for your answers.
Can I ask you something else?
we already configured SCMON with Solution Manager:

Where can I find the data in the Solution Manager BW Cube ?
Many Thanks
Best Regards
Tatjana
Hi Tatjana,
please look up in the Custom Code Management Guide of Solution Manager for SCMON data.
https://wiki.scn.sap.com/wiki/display/SM/SAP+Solution+Manager+WIKI+-+Custom+Code+Management
Best regards,
Olga.
Hi Olga
Many Thanks.
If we activate and change Time Slices for 365 day directly in the productive system without solman, will the collected data nevertheless be overwritten after 7 days?
Thanks a lot
Hi Tatjana,
yes, you need to activate SUSG in order to keep the SCMON data. These time slices are daily time slices. With this number, you can just limit the data records created during monitoring per day.
Regards,
Olga.
Thank you very much for the support.
Do I understand it correctly ? If I configure Time Slince as in my screenshot, then can the SCMON collect only 365 data records per day ?
Hi Tatjana,
sorry, I've explained it not very carefully. If you enter 365, you will get SCMON data for 365 days. But every night runs SCMON data collection, and the data of the oldest day will be always deleted. Even for 7 days you will get approximately 20GB of data, for 365 you will get more then 1Tbyte (!) of data, which would oveload the system capacity and you will not be able to display the data in the transaction SCMON because of performance. Our recomendation is to use 7 days as default and aggregate the data either with Solution Manager or with SUSG.
Regards,
Olga.
Hi Olga
You explain that very well. Maybe I don’t quite understand it.
Do I understand it correctly, our SCMON runs for 365 days, but the collected data will be overwritten when our SCMON has collected 999,999,999 data?
Thank you very much!
Hi Tatjana,
no, Record Limit is maximum of SCMON records which can be generally recorded by SCMON. The collected SCMON records of the oldest day of your 365 days will be overwritten each night. But as wrote above: 365 days is too much, you may get data overflow in the system. Use SUSG in order not to lose SCMON data.
Regards,
Olga.
Hello Olga:
Firstly, Many Thanks for this good information.
However, there are few questions.
Let’s assume that we need custom code usage data for 1 year. This information will later be used to determine custom objects to be deleted.
Question1:
If my understanding is correct, SCMON and SUSG both go hand-in-hand. i.e. SCMON and SUSG should remain active together for 1 year. Correct?
Question 2:
It is mentioned in the blog for SUSG that “You cannot display the aggregated usage data (neither in SUSG nor in SCMON or /SDF/SCMON)”. Question would be then, how can we use this data for determining unused custom code, if we are not able to access the result (We are not yet in S/4 HANA system)?
Is it that we can still access SCMON analysis data of 1 year? If yes, then I am a bit worried about size of the respective table in database.
Question 3:
If we activate SCMON and SUSG, to evaluate for a duration of 1 year, how can we perform analysis without solution manager as the total number of records will be very huge to process in foreground. Is there a solution for this?
Question 4:
What is the recommendation of SAP i.e. what is the right approach?
Is it Activation of SCMON & SUSG and Analysis of Custom Code using SolMan?
Thanks in advance for your reply.
Regards,
Vineesh
Hi Vineesh,
thank you. Please see my answers to your questions:
Best regards,
Olga.
Hi Olga
I've just configured CCLM for a S/4HANA 1909 FP0 managed system and SCMON was not activated. Instead it activated UPL. I had actually switched off SCMON in this managed system directly before triggering from Solution Manager so I know it supports it.
I've checked Note 1828848 - Usage & Procedure Logging and ABAP Call Monitor: Technical prerequisite (UPL/SCMON) as suggested in the another blog post and the requirements are fulfilled. Why would CCLM chose UPL if SCMON was available?
Thanks
Ian
Hi Ian,
have you checked the How to Guide: Custom Code Lifecycle Management in SAP Solution Manager 7.2 SP06? Try also this SAP Note: https://launchpad.support.sap.com/#/notes/2569292
Regards,
Olga.
Hi Olga
Yes, checked for this guide and the others. The note you refer to switches on SCMON Root which I'd rather not as I'm concerned about the 20x data footprint it will generate compared to standard SCMON. Unless this is a way to 'force' it to see SCMON and then reactivate using standard SCMON? Currently in CCLM it just lists /SDF/UPL_PERIODIC_EXT_JOB under the analysis jobs section.
Regards
Ian
Hi Ian, it's been a while since we last met 🙂
The reason for this could be insufficient authorizations from Solman to Managed system. You can check the job log of the *scmon_control* in sm37. Usually it is quite straight forward described.
You can also try to debug the same report.
Hi Alexander
Nice to hear from and thanks for the reply. Yes, indeed it has been a while!
I've checked for the job but unfortunately there is no instance of it. I also did an SU53 for the SolMan user but nothing there either. It looks as though /SDF/UPL_PERIODIC_EXT_JOB is the the job triggered from CCLM and not SM:SCMON_CONTROL.
It's a bit of a mystery at the moment.
Regards
Ian
Hi Olga
How can I deactivate SCMON that we have activated via the Solution Manager? We have uninstalled the old Solution Manager. However, an error message now appears in the managed system that the ABAP CALL MONITOR: COLLECT job cannot be executed.
Can I just delete this job?
Many Thanks
Best Regards
Hi Tatjana,
have you already tried to switch off SCMON directly in your managed system using the transaction SCMON?
Kind Regards,
Olga.
Hi Olga,
Thanks a lot for the wonderfulblogs on SCMON and ATC. I have implemented the same for my client and it seems to be working well.
I have a strange observation . The Collector job runs every hour in my system. However I find the collector job that kicks every night at 00:45 hours take 8k-20k seconds to complete . But other jobs complete within 600 seconds . Am I missing something here?
Also in error logs I can see below logs. Can you guideme here to troubleshoot this issue.
25.11.2020 04:45:12 @AG@ Could not lock SCMON_DATA 8,707,090 SMTMSOP
25.11.2020 04:45:11 @AI@ Starting data collection from all servers 8,707,090 SMTMSOP
25.11.2020 03:45:15 @AG@ Could not lock SCMON_DATA 8,707,090 SMTMSOP
25.11.2020 03:45:11 @AI@ Starting data collection from all servers 8,707,090 SMTMSOP
25.11.2020 02:45:04 @AG@ Could not lock SCMON_DATA 8,707,090 SMTMSOP
25.11.2020 02:45:03 @AI@ Starting data collection from all servers 8,707,090 SMTMSOP
25.11.2020 01:45:06 @AG@ Could not lock SCMON_DATA 8,707,090 SMTMSOP
25.11.2020 01:45:05 @AI@ Starting data collection from all servers 8,707,090 SMTMSOP
25.11.2020 00:15:22 @AI@ Activation successful 8,707,090 SMTMSOP
Regards,
Prathmesh
Hi Prathmesh,
the first job of the day must first delete the oldest time slice. To see this more precisely, you can switch on the debug messages in the log. Then you can see how long the deletion takes on its own. 8k-20k seconds is an unusually long time, something we haven't seen on this scale before. How many data records will be deleted and which database is it?
Regards,
Olga.
Hi Olga,
Thanks for your response and apologies from my end for the late reply as I was observing the behavious of the 1st job of the day that kicks in daily exactly at 00:45 CET. The runtime duration of the job is still very erratic.
The database is DB2 and record count from the attached snapshot looks like 11.5 million entries.
Would like to share one example with you for Sat 28th Nov.
As per the sm37 logs …The last job on 27th Nov Kicked in at 23:45:02 and finished at 23:49:13(same info visible in SCMON debug messages).
The next debug log written at 23:49:14 is for deleting data from 23rd Nov (Time slice is 5 days).
AS per sm37 , the 1st job of 28th Nov kicked in at 00:45:02 and completed at 09:44:00 so the next hourly collector jobs finished withi few seconds with the log Could not lock SCMON_DATA.
Also in sm37 , I found that after the 1st job at 00:45 , the next job kicked in at 02:45 so I am not sure why the hourly data collector job did not kick in at 01:45 . Also please let me know if any further info is required from my end to troubleshoot this issue.
SM37 entries below
ST-PI CALL MONITOR: COLLECT SMTMSOP Finished 28.11.2020 02:45:00 3 0 28.11.2020 02:45:00 28.11.2020 02:45:03
ST-PI CALL MONITOR: COLLECT SMTMSOP Finished 28.11.2020 00:45:02 32,342 2 28.11.2020 00:45:00 28.11.2020 09:44:04
ST-PI CALL MONITOR: COLLECT SMTMSOP Finished 27.11.2020 23:45:02 263 2 27.11.2020 23:45:00 27.11.2020 23:49:25
Regards,
Prathmesh
SCMON Log with debug messages
Hi Prathmesh,
let me first try to clarify some points:
As long as the SCMON log contains no error entries, SCMON contains correct results, despite the long runtime of the delete operation. If you need a more detailed analysis of the long runtime of the delete operation, please open a ticket.
Kind Regards,
Olga.
Hi Olga,
Many thanks for your detailed explaination and providing the SAP Note. Unfortunately the note 2665055 is not valid for us as the Netweaver release of our Landscape is lower than the requirement of the note .
I will be raising an OSS to sAP for further assistance . Many thanks for your guidance and see you at the Teched session on Custom code adaptation .
Regards,
Prathmesh
Hi Olga,
I have activated Decommissioning cockpit and Usage logging for ECC from Solution Manager. In ECC, when i check SCMON, i can see Scheduled Deactivation on 5th December.
Will SCMON gonna get deactivate on 5th December and we need to reactivate the Usage logging again from Solution Manager for ECC or will get automatically gonna get reactiavted in ECC.
Regards,
Hi Olga,
I am trying to set-up UPL process between Solution Manager (7.2 SP10) and Back-end system which does 731 SP0025 (Kernel release 722patch 1000). We activated BW *0SM_CCL_UPL_* queries in Solman.
We activated SCMON process for Solution Manager and UPL process in Backend system based on the SAP NW levels. Some how I am unable to get Backend system's UPL data details in Solution manager when we execute /SDF/SHOW_UPL ( /SDF/UPL_CONTROL is active though). We did required configurations in solution manager too. Please advise the solution. Thank You!
Hi Ravi,
To set up the Usage Logging from Solution Manager there is no need to access SCMON or UPL in the managed system. The activation can be done centrally from the Solution Manager within the CCLM or Usage Logging setup via transaction Solman_setup. The Solution Manager automatically checks which tool is available (UPL or SCMON) and allows you to activate it within the Solution Manager. After setting up the data extraction into the Solution Manager the raw data is stored in the BW of the Solution Manager and it is not accessible vial the UPL or SCMON transaction in Solution Manager. If you perform the CCLM setup, you can access your custom code information for example via the Custom Code Library tile in the Solution Manager workcenter (TA SM_WORKCENTER).
For some more details you can also check the documentation: https://www.sap.com/documents/2018/02/1cf642a2-f47c-0010-82c7-eda71af511fa.html
Hi Olga,
thanks for your blog. We´ve set up CCLM in SolMan 7.2 for a few systems now and everything seems to be working, even the extraction of usage info.
As I understand your article, old usage data from UPL or SCMON which was collected in the managed system before the activation of CCLM should also be transferred to the SolMan. However, in the Usage Information Cockpit of SolMan, the data does not appear and is only showing data beginning after activation. What could be the problem here?
Thanks in advance!
Kind regards
Jan
Dear Jan,
When you activate the Usage Logging in SAP Solution Manager for the first time for a system and one of the tools (UPL or SCMON) was activated in the Managed System before, then CCLM tries to extract the old Usage data from the system. Without knowing all details (which tool was activated, which tool was active before, is extraction still in progress, etc.) it is quite hard to answer the question. I would suggest to open up a ticket to be able to properly analyze the case that we can help you in the best way.
Best regards,
Fabian
Good morning,
i see in my SCMON date/time for automatic deactivation.
Is it possible to change this date "dynamically" ?
If not and SCMON is deactivated automatically and i activate again, are already collected data deleted ?
Hi Roland,
dynamic configuration is not possible.
SCMON data is not deleted during/after deactivation. SCMON data is not deleted during/after reactivation. That means you can stop and restart SCMON without losing data.
However keep in mind that SCMON can only store a certain amount of data. By default that is 7 days of data. On day 8 the data of day 1 is overwritten etc. (rolling). For example:
SCMON active from Monday to Wednesday (3 days, fills the data slices number 1 to number 3)
SCMON inactive on Thursday (data slices stay unchanged)
SCMON active from Friday to Monday (4 days, fills the data slices number 4 to number 7)
SCMON inactive on Tuesday to Wednesday (data slices stay unchanged)
SCMON active on Thursday (1 day, this overwrites the data slice number 1)
SCMON active on Friday (1 day, this overwrites the data slice number 2)
The number of stored data slices can be configured in transaction SCMON. Increasing this parameter can potentially cause significantly(!) increased usage of DB memory.
You can also keep an aggregated version of the SCMON data for a longer period of time via transaction SUSG or via solution manager.
Best regards,
Armin
Hello,
even if this Question was asked in the whole Thread at some points, it was not finally and clearly answered for me. So I try it again :
We have switched on the SCMON Analysis 2,5 Years ago but without the Solution Manager. Also we switched on SUSG fom the first day on , so that we have now nealry 2,5 years of aggregated Data in our Productive Systems.
Now we want to implement the CCLM in the Solution Manager and my only Question is : Is there a way to use the already existing aggregated Data from SUSG as a Base for CCLM or do we have to start from scratch with CCLM regarding Usage Data ?
Best Regards
Mario
Hi Mario,
no, it is not possible to import the SUSG data into Solution Manager. The reason is that the data in Solution Manager is not aggregated as strongly as in the SUSG.
Kind Regards,
Olga.
Hi Olga,
We understand that SAP Fiori Custom Code Migration App (customer landscape or BTP) helps to define the custom code migration scope based on usage data. However, we do not have any usage data collected. We are about to kick start the project in couple of weeks from now. I have read in some of the blogs that it is important to have the usage data collected for at least a year to get the better clarity on the custom code usage.
Now that we do not have the data collection activated and we are couple of weeks away from getting started with S4 conversion, does it mean we cannot make use of this custom code scoping feature of the SAP Fiori Custom Code Migration App? What are the other features of this App that we cannot make use of without the usage data. Please advise.
is it possible to collect the retrospective data from past year if the SCMON collection is activated now.
Thanks, and Regards,
Vamshi
Hi Vamshi,
you can scope and analyze custom code with the Custom Code Migration app aso without usage data. In this case you can either do scoping manually (just choose the packages and objects you want to migrate), or just migrate the whole custom code.
It s not possible to collect the usage data for the past, but you can activate SCMON on the productive S/4HANA system after system conversion, collect usage data and afterwards retire the unused code accordingly. It is recommended by SAP in case you don't have usage data before the conversion.
Kind Regards,
Olga.
Hello Olga,
Is there an option in SCMON to schedule the data collection from a start/end date and then get a consolidated view of the custom programs called (or) does it collect data on a daily basis and we then collect all the daily logs and consolidated it?
Regards,
Aditya
Hi Aditya,
you can configure the end date and time of the data collection. SCMON collects then data until that point of time. You can display then the collected data within a certain time interval (see screenshot in the blog above).
Kind Regards,
Olga.
Hi Olga,
I have activated Decommissioning cockpit in Solution manager and Usage logging is also activated. When i see SCMON transaction in ECC, I can see Schedule deactivation on 5th December 2022. Will SCMON gonna get deactivated on 5th December and Usage logging gonna stop on 5th December or do we need to reactivate the Usage logging again from Solution manager on 5th December for that specific ECC system.
Regards,
Hi Olga,
I have activated Decommissioning cockpit and Usage logging for ECC from Solution Manager. In ECC, when i check SCMON, i can see Scheduled Deactivation on 5th December.
Will SCMON gonna get deactivate on 5th December and we need to reactivate the Usage logging again from Solution Manager for ECC or will get automatically gonna get reactiavted in ECC.
Regards,
Hello,
after deactivation of the SCMON on December the 5th you can activate it again either directly in the SCMON transaction in the ECC system or via Solution Manager. You can then also adjust deactivation date/time directly in the SCMON transaction how you need it.
Kind Regards,
Olga.
Dear Olga,
I have activated the Monitor, but i have a question - is there any possibility to enhance the SCMON to log only customer source codes ? i mean enhancement point etc.
Thank you very much
Best Regards
Martin
Hi Martin,
you can imagine that SCMON during data collection is very critical concerning performance. Therefore filtering on custom code is not possible. You have to filter the results afterwards.
Regards,
Thomas.
Hi Thomas,
thank you for the answer and what about the phase of aggregation with SUSG transaction ? (i know that this blog is about SCMON but the aggregation is connected with this topic a lot)
Thank you very much
Regards,
Martin