Suppressing SM02 messages

Suppressing SM02 messages can be needed for specific user ID’s.

Questions that will be answered in this blog are:

  • What are good reasons to suppress SM02 messages for certain users?
  • How to suppress SM02 messages for users on ABAP stack for GUI users?
  • How to suppress SM02 messages for users on ITS webgui?

Reasons to suppress SM02 message

There might be good reasons to suppress SM02 messages for certain users:

  • Robotics users that post and read data via scripts using SAP GUI
  • Monitoring tools that monitor via SAP GUI logon
  • Users on scanner devices that use the ITS webgui

Workaround program for suppression on ABAP stack for GUI users

SM02 has no out of the box option to skip or omit certain users from receiving system messages.

A workaround can be to create a Z program. This Z program has as input a single user or a list of users (it will not allow a range):

Run this program immediately after you set up SM02 message.

The program will simply flag this message as already read. When the user logs on, the system will think it has already sent the SM02 message to the user.

Code:

*&---------------------------------------------------------------------*
*& Report ZSM02SUPPRESS
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zsm02suppress.

DATA: lv_user TYPE sy-uname.
DATA: lv_last_message TYPE temsg-id.
DATA: lv_message_read TYPE temsgu.

SELECT-OPTIONS so_users FOR sy-uname NO INTERVALS.

START-OF-SELECTION.

  SELECT id FROM temsg ORDER BY id DESCENDING INTO @lv_last_message UP TO 1 ROWS.
  ENDSELECT.
  IF sy-subrc EQ 0.
    LOOP AT so_users.
      lv_message_read-mndt = sy-mandt.
      lv_user = so_users-low.
      lv_message_read-bname = lv_user.
      lv_message_read-langu = sy-langu.
      lv_message_read-bdate = sy-datum.
      lv_message_read-bid = lv_last_message.
      UPDATE temsgu FROM lv_message_read.
      WRITE:/ lv_user.
    ENDLOOP.
  ENDIF.

Suppressing messages for ITS webgui

For the ITS webgui, you can use parameter ~WEBGUI_SHOW_SYSTEM_MODAL to suppress the system messages. More background on this blog and this OSS note 1271339 – SAP GUI for HTML: Suppressing system dialogs in integr. ITS.

SM02 system messages

Transaction SM02 can be used to broadcast important messages to every user. This can be used in case of emergencies or for sending important messages to every users.

Questions that will be answered in this blog are:

  • How to set up a system wide message?
  • How to delete system messages?

Set up system message

Start transaction SM02 to set up a system message:

Press create to set up a new system message:

Text is limited to Twitter style: 3 rows of 60 characters.

Result is that each user gets a popup:

Suppressing messages for certain users

To suppress messages for certain users an ABAP trick is needed. Read more in this blog.

Technical background of SM02

SM02 messages are stored in 3 tables:

  • TEMSI for the message ID
  • TEMSG for the message text
  • TEMSGU to store last message read by user ID and logon.

Program RSM02INIT can be used to delete all SM02 content (see OSS note 1179456 – SM02: Resetting tables for system messages).

Or you can delete one by one in SM02, or simply wait for the retention period.

TCP/IP ports for SAP

In some cases you need detailed information on TCP/IP ports for SAP. This blog will also refer to notes from SAP with regards to network issues.

TCP/IP ports for SAP

All ports for SAP are listed on the SAP help site https://help.sap.com/viewer/ports.

When is this list important?

  • When you have to setup firewall rules
  • When you are doing changes: for example, changing from http to https, installation of web dispatcher, switch towards SNC

OSS notes

Other relevant TCP/IP related OSS notes:

SAP netweaver gateway FIORI user measurement and usage

SAP FIORI is used more and more. In some cases you need information about how much the FIORI tiles are actually used.

This might be interesting for IT management, but also for license measurement.

SAP background blog can be found here.

Listing users that have used SAP FIORI gateway

Weird but true, SAP does not out-of-the-box delivers a program to list the users that are using SAP FIORI. Install the Z program delivered in OSS note 2446887 – How to get a list of users that have used SAP Gateway to get this report.

FIORI metering

SAP netweaver gateway comes with an onboard set of metering transactions and programs. These are unfortunately not widely known. Background OSS note is 2237375 – SAP Netweaver Gateway Metering FAQ.

Program /IWFND/R_METERING_VIEW can be used to view the metering data for FIORI ODATA calls:

This measures which calls are made, duration of the calls, size of the calls, user that made the call, browser type from which the call came, etc.

Report /IWFND/R_METERING_AGGREGATE is used to aggregate this data. /IWFND/R_METERING_DELETE can be used to delete old data.

User measurement on FIORI

User measurement program USMM is firing function module /IWFND/METERING_AUDIT to retrieve information about usage of FIORI in your system.

FIORI App Recommendations

SAP has a tool called FIORI app recommendations to give you a view on potential FIORI apps you might be able to use. The source is the ST03 usage data from your system.

Questions that will be answered in this blog are:

  • How to run the FIORI app recommendation tool?
  • How to feed it with the ST03 data?
  • How to view the results of the FIORI app recommendation tool?

Running the analysis

Goto the Fiori Reference Library. There you will find a button to go to the FIORI app recommendations tool:

Create a new analysis:

In step 2 you need to upload the ST03 usage profile in CSV format. This is described in this SAP help file. So first create the file (in short, goto ST03, select last month, transaction profile standard, download to xls, remove header and save as CSV), then upload it in this step:

Upload front end and backend profile (in case on S4HANA embedded FIORI these are identical):

Name the analysis in step 4 and press the button to get to the analysis results:

Viewing the results

In step 1 above now select view results:

Background information

More background can be found in OSS note 2696033 – How to Generate SAP Fiori App Recommendations.

System usage: SCMON ABAP call monitor

For several use cases you might need to get a more detailed insight into your SAP system. One of the tools is ST03N (read more about it in this blog), but it focuses on transactions. If you need more details on the calling ABAP coding, the SCMON tool might be a better solution. SCMON is the successor of the UPL tool (Usage and Procedure Logging).

Questions that will be answered in this blog are:

  • How to switch on SCMON tool?
  • How to use the results of the SCMON tool?
  • How can I find back from a piece of code to where it is actually used in a transaction, RFC call, ODATA call, etc?
  • What is the impact of the SCMON tool on system performance?

Activation of SCMON

The minimum requirements of SCMON are described formally in OSS notes 1828848 – Usage & Procedure Logging and ABAP Call Monitor: Technical prerequisite (UPL/SCMON) and 2679723 – ABAP Call Monitor, but basically it is available on any supported modern ABAP stack.

Start transaction SCMON:

Press the activate button and set the end time settings for the SCMON monitor:

Use of SCMON data

If data is gathered you can already use the results, or you can wait until the data collection time is completed. To display the data start transaction SCMON and hit the Display Data button:

Here you can already see a benefit over ST03N: you can select request type batch jobs, URL, ODATA call, or RFC call next to transaction.

As example we show the result of transaction VA01:

Now you can see in very much detail which ABAP points are called for VA01.

You can also use it the other way around. Suppose we apply an OSS note to class CL_UKM_BUPA_FACTORY and want to determine the impact. If we do a where used list in SE24 on this class we get 134 new calling points and we don’t even know which ones are used.

If we input CL_UKM_BUPA_FACTORY in the CLASS field and search for it, we get this result:

Now you can see that in our system the transactions VA01, VA02 and BP are using this class. Those need to be tested.

This is the big advantage of SCMON: it only takes used code and the code is related back to the start point which you can relate to, like a transaction, batch job, ODATA call, etc.

Performance of SCMON

If you worry about SCMON performance on your production system, it is about the same load as the old UPL. There is a parameter to fine tune performance described in OSS note 2657522 – New profile parameter and improvements for ABAP call monitor.

The exact impact of SCMON on performance is clearly described in OSS note 3098211 – Memory and performance requirements of the ABAP Call Monitor.

Condensing data with SUSG

With transaction SUSG the SCMON data can be condensed. Read more about it in this blog.

SAP background

Background of SCMON can be found in this SAP blog.

Bug fix OSS notes

Bug fix OSS notes that might be relevant for you:

System usage: ST03N

For many different purposes you need insights into your system usage. Which transactions are used and how intensive.

This blog will explain the system workload usage tool ST03N.

The other usage tool SCMON ABAP call monitoring is explained in this blog.

Questions that will be answered are:

  • How to get workload overview from the SAP system?
  • How to get time based profiling information from the SAP system?
  • How to get list of transactions used from the SAP system?
  • How can I quickly download ST03N data with program /SDF/ST03DL?
  • What are the limitations of ST03N?
  • How can I set the data retention for ST03N?
  • Can I check for HTTP usage next to ABAP usage?

Use of ST03N

Start transaction ST03N. In the left pane select the application server or total system and time frame to get an overview of the system workload for the several task types:

With the time profiling you can see the distribution of workload during the hours of the day:

You might see peak hours based on the spread of your users and batch jobs.

In the default system the 24 hours are not visible. Follow the steps in this blog to enable it.

If in ST03N there is no data visible, set parameter parameter stat/level to 1 (Statistical records are active). See OSS note 2675074 – No workload data in transaction ST03N or ST03.

Transactions from ST03N

To get an overview of the user transactions select in the analysis view the Transaction profile:

You can download this overview to xls for further analysis on the transactions used. For explanation on the columns, read OSS note 2778959 – ST03N – Complexity of data displayed in “Parts of response time” tab.

Please be aware of the following limitations from ST03N when making conclusions for system usage:

  • ST03N has limited time frame, some transactions are rarely used, but still vital (like irregularly used repair transactions, basis actions which are rarely done but needed in case of emergencies, year end closing transactions, etc.). See OSS note 1843151 – ST03 Data Retention Time Settings on how to set the retention periods.
  • ST03N does not collect indirectly called transactions in custom code. This means if custom code uses a call transaction XYZA, the transaction XYZA is NOT recorded in ST03N

If more detailed information is required, check the SCMON ABAP call monitoring tool, which is explained in this blog.

Alternative way of downloading ST03N data

As an alternative you can use program /SDF/ST03DL to download ST03N data:

More information about this download program can be found in OSS note 2943445 – Download Historical Workload Data from ST03.

Also check these OSS notes:

Copying ST03N data to different system

Apply OSS note 2568736 – SAP Readiness Check for SAP S/4HANA – copy ST03N data and follow the instructions to download and upload the ST03N data. This program was primarily developed for the SAP S4HANA readiness check.

Usage of ST03N to determine HTTP calls

You can use ST03N to determine HTTP(s) calls in your system. Read more in this blog.

Usage of ST03N to determine RFC calls

You can use ST03N to determine RFC calls in your system. Read more in this blog.

LR.RFC tasks leading to distorted statistics in ST03

Some LR.RFC tasks may be very high and leading to distorted statistics or wrong interpretation on ST03. You can ignore these high LR.RFC tasks. This is explained in OSS note 3101968 – High response times of LR.RFC tasks in ST03/ST03n.

ST03N data retention

Data retention for ST03N is set in Collector and Performance DB -> Performance Database -> Workload Collector Database -> Reorganization -> Control.

For a full background, see OSS notes 1843151 – ST03 Data Retention Time Settings and 3285517 – Reorganizing and Maintenance of ST03 kernel statistical data.

ST03N in SAP Focused Run

SAP Focused Run has a tool called statistical records. This is collecting data similar to ST03N. Read more in this dedicated blog.

ST03N bug fix OSS notes

Bug fix OSS notes for ST03N:

SAP road map explorer

What are new features SAP will deliver in the future for my technology or business product?

This is where the SAP road map explorer helps.

Questions that will be answered in this blog are:

  • How to use the SAP road map explorer?

SAP road map explorer

You can start the SAP road map explorer with the URL https://roadmaps.sap.com/:

Clik on the most viewed road maps, for example SAP S4HANA:

On top you can select a different product like HANA Cloud, ABAP, business technology platform, etc.

Next to the product you can use filters for your process, industry and specific topics to narrow down the list.

By clicking on the innovation you get more details. There is a tab called capability view. This is a very interesting feature, since is shows related innovations for this feature and that will save you a lot of searching time:

STDDAT: consistency check for generic table access authorization group

Tables are protected for data access by the S_TABU_DIS object. An important input here is the authorization group. The relationship between tables and authorization group is stored in table TDDAT. STDDAT has functions to mass maintain and check the authorization group to table relationships.

Questions that will be answered in this blog are:

  • How do I find and remove inconsistent entries in TDDAT table?
  • How do I find dangerous items in TDDAT table?

Consistency check

When you start transaction STDDAT, hit the button Consistency in the first screen:

Wait for the results:

Select the entries and delete with or without transport.

Finding dangerous entries in TDDAT

In the Authorisation group there are two types of entries to check:

  • Space: what will happen?? Vague!
  • &NC&: everybody can access

Select these on the first screen as input for field Authorization Group and press execute:

Select the entries you want to change and press the Assign button:

Save the result in transport.

OSS notes

For versions 7.40 and 7.50 you need to apply OSS note 2577419 – STDDAT | consistency check for table TDDAT to get the consistency check button.

Generic FAQ on table access: 1434284 – FAQ | Authorization concept for generic table access.

FIORI app for monitoring data archiving jobs

SAP has delivered diverse apps for basis administrators.

This blog will explain about the data archiving batch job monitoring FIORI app.

For generic data archiving technical setup: read this blog.

Activating the app for monitoring data archiving jobs

The full activation manual is published on the FIORI reference library.

Short manual:

  • Activate SICF service bas_ilm_jobmon
  • Activate ODATA service ILM_JOB_MONITOR_SERVICE
  • Manually add the tile in your catalog (use edit home page and than add the app)

Using the app display data archiving jobs

The main FIORI app tile will already show the amount of failed jobs:

When you open the app the overview screen comes:

On the left hand side you can choose the archiving object. On the right hand side you can see the last archiving jobs for the selected object.

When you click on a job, you can see the details per job:

There are tabs for the job results, job log details and application log.

Bug fix notes

Bug fix OSS notes: