FIORI app for display mail transmissions

SAP has delivered diverse apps for basis administrators.

This blog will explain about the display email transmissions FIORI app.

Activating the app display email transmissions

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

Short manual:

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

Using the app display email transmissions

The main FIORI app tile will already show the amount of email transmission errors today:

By clicking the tile you reach the overview screen

By clicking the line you get details plus hints on the possible issue:

Custom program for checking webservice availability

In SOAMANAGER you can test if a web service can be reached by pressing the test connection button. Unfortunately there is no standard SAP program that performs this test in the background. So how to monitor the availability of a web service?

Solution: custom Z program that can be run online or in background.

In this case we have chosen to put the alert into SM21 system log. But you can also replace this part of the code with sending an email.

Preparation

In SE92 (see this blog) create a new message for the system log.

Z program for monitoring web service

Now create a new Z program:

REPORT z_bc_ws_check.

CONSTANTS zmesid TYPE char3 VALUE 'ZZ1'. "system log message ID defined in SE92
DATA: zif_soap_ping TYPE REF TO cl_soap_ws_ping.
DATA: zlv_ok TYPE boolean.

PARAMETERS zservice TYPE seoclsname. "webservice name
PARAMETERS zlp TYPE prx_logical_port_name. "logical port name


START-OF-SELECTION.

  AUTHORITY-CHECK OBJECT 'S_SRT_CF_C' "check soap runtime auhtorizations.
      ID 'ACTVT' FIELD '03'.

  IF sy-subrc EQ 0.

* create object for soap ping test
    CREATE OBJECT zif_soap_ping TYPE cl_soap_ws_ping.

* initialize ok code
    zlv_ok = 'X'.

* try the ping test
    TRY.
        CALL METHOD zif_soap_ping->if_soap_ws_ping~ping_ws
          EXPORTING
            service = zservice
            lp_name = zlp.
      CATCH cx_soap_ping.
* any error, clear the ok flag
        zlv_ok = ' '. "not ok
    ENDTRY.

    IF zlv_ok EQ ' '. "not ok
* write to SM21 system log
      WRITE: / TEXT-004. "ping not ok
      CALL FUNCTION 'RSLG_WRITE_SYSLOG_ENTRY'
        EXPORTING
          sl_message_area  = zmesid(2)
          sl_message_subid = zmesid+2
          data_word1       = zservice ##NO_TEXT.

      IF sy-subrc EQ 0.
        WRITE: / TEXT-001. "succes to write to SM21
      ELSE.
        WRITE: / TEXT-002. "fail to write to SM21
      ENDIF.
    ELSE.
      WRITE: / TEXT-003. "ping ok
    ENDIF.
  ELSE.
    WRITE: / TEXT-005. "not authorized
  ENDIF.

Create the text elements accordingly.

You can change the authorization check and in stead of writing system log message in SM21 do some other alerting like sending a mail, or pick up the entry in SAP Focused Run monitoring.

Running the program

Run the program:

Enter the webservice name and logical port. Hit execute.

You can also run the program in background mode. For example every 15 minutes. Create multiple steps for multiple web services to test.

Explanation

The program simply creates the object of type CL_SOAP_WS_PING to perform the web service ping. The ping test is then performed. Based on the result the text ok or an entry to SM21 is written.

ST07 Application monitor

The ST07 application monitor tool can help you in analysis of your system for performance and usability. It gives an overview of how many users are using which functional part of your SAP system.

Questions that will be answered in this blog are:

  • How to run the ST07 application monitor?

Application monitor

If you start ST07 you reach the application monitor start screen:

Here you can see how many users are defined and actually logging on across the modules. Basis is very high usually since this includes SMEN which is the start menu. The Other category is for Z transaction codes and/or addon software.

By double clicking on any line you can inspect the lower application levels.

DB access analysis

From the main screen, you can hit the button DB accesses to view which application parts are responsible for the majority of the database accesses:

Reporting performance issues to SAP

Questions that will be answered in this blog are:

  • Which information should I provide when reporting a performance issue to SAP?
  • What should I have already checked before submitting performance issue to SAP?

When to report a performance issue to SAP?

You can report a performance issue to SAP when you are sure it is caused by standard SAP.

There are 2 cases:

  1. Overall system performance
  2. Specific transaction performance

Validations to be done upfront:

What information to provide in a performance issue to SAP?

In case of specific performance issues, add as much specific information as possible. Try to have a case in a development, test or acceptance system as well. In these systems SAP can replay the performance issue without running the risk of hampering the end users performance. Add trace files (ANST, ST12) to speed up the analysis for SAP. It also makes debugging and running large trace files easier for SAP.

SAP checklists

Good checklists are present in OSS notes:

ST12 performance tracing

The ST12 performance tracing tool allows you to collect performance data for solving a performance issue for a single transaction.

Questions that will be answered in this blog are:

  • Which data is collected in a ST12 performance trace?
  • How do I execute a ST12 performance trace?
  • How do I analyse a ST12 performance trace?
  • How can I export a ST12 performance trace?

Performance trace collection

Start transaction ST12:

Select the user ID that you want to trace (can be your own user) and leave the ST12 session open. In a second session execute your actions. When you are done, return to the ST12 session and press the End traces & collect button:

Confirm the traces to collect.

Evaluation of traces

On the Collected trace analysis screen section hit the Full screen button:

This will open the easier to use full screen mode for analysis:

Now you can expand the traces and use the ABAP trace, performance trace, SQL trace buttons to launch the required performance analysis tools.

For more background on the tools read the blogs about:

Downloading the trace file

You can download the generated trace file to export to different system or to send to SAP. For example you have recorded the trace in production and want to do the further analysis on the development system.

To export goto transaction ST13 and use tool ANALYSISBROWSER:

Then select menu option Download / Text Download / Export to frontend to download the trace to your desktop or laptop.

Background

OSS background notes on ST12 performance tracing:

Application server performance: ABAPMETER

Sometimes you might get very weird performance results in a productive system. In the end it might turn out that performance on an application server is ok, and on another one it is not ok. This can be because of different infrastructure per application server or different settings.

The ABAPMETER performance tool will help you to analyze the differences between application servers. It will fire a series of standardized tests to each application server.

Questions that will be answered in this blog are:

  • How to run the ABAPMETER performance tool to check for differences in application server response times?

Running the ABAP meter performance tool

Start transaction ST13 and select tool PERF_TOOL to go to the performance tools:

Now select the ABAPMETER tool and press execute:

The tool will now run the tests per application server. Pending on the amount of application servers it might take a few minutes.

Results are shown:

You can now see if there are significant differences between the application servers.

Even if all are the same, note 2879613 – ABAPMETER in NetWeaver AS ABAP also contains hints on some of the key values. They might show network issues.

Background

Background OSS notes:

Snapshot monitoring

Snapshot monitoring enables you to capture snapshot of current performance and usage of work processes. This can be used to analyze performance issues.

Questions that will be answered in this blog are:

  • How to setup snapshot monitoring?
  • How to analyze the results of snapshot monitoring?
  • How can I see SM50 processes running when there are issues?

Setting up the snapshot monitor

Start transaction /SDF/SMON for snapshot monitoring:

If you don’t have any snapshot monitoring yet, you will reach the schedule screen:

Now you can plan a separate snapshot monitoring run, or set up the daily run:

For each run: check to increase the Interval timing!

Analyzing the snapshot monitoring results

With the Analysis button you can analyze the results:

In the snapshot monitor (/SDF/MON) you can drill down:

Double clicking at the line shows you the SM50 processes running at that point in time:

This enables you to analyze issues that occur for example in the middle of the night, and you want to see what is running at that point in time.

References

The tool /SDF/MON has been replaced by the SMON tool in netweaver 7.5 (using tcode /SDF/SMON). You will find notes for both tools.

SAP wiki for snapshot monitoring can be found on this link.

Explanation OSS notes:

Bug fix OSS notes:

First aid kit for performance issues on ABAP stack

This blog will give some first aid kit tips on performance issues on ABAP stack reported by end users. The system is up and running, but still user(s) complain about performance. What to do first?

SM50/SM66

Basically the first analysis always starts with SM50 (or when you have multiple application servers SM66).

Checklist for SM50:

  • Are all the DIA dialog processes full or almost full? –> if yes, then performance as total system will be slow. Check to find source for having so much DIA’s active.
  • Are all the BTC dialog background processes full? –> if yes, then all other batches will wait.
  • Are the UPD processes full? –> if yes, then all the other updates have to wait.
  • Are the SPO processes full –> if yes, then all prints have to wait.

Now you have a first impression of the state of the system.

Asking the user the right questions

Go back to the user complaint and start to ask questions:

  • Is he the only user complaining? Or are multiple users complaining?
  • Is the complaint about online or background job? Users can complain like ‘system performance is slow, since my background job takes a long time to start’
  • Is the complaint for updating or querying?
  • Is the complaint about printing?
  • Is the complaint about about performance in general or a specific transaction?
  • Is the complaint running now, or was it in the past?

If possible ask the user to start the poor performing transaction now so you can monitor it in SM50.

Solution kit

Too little dialog processes

If you cannot quickly locate the source of the process that is causing to consume all the dialog processes, you best temporarily increase the amount of DIA processes in the operation modes in RZ04.

Background processes full

Check to find the source of the large amount of background processes. If still too few, you can temporarily increase the amount of DIA processes in the operation modes in RZ04.

Another option is to check if some jobs can be stopped and planned at a later time.

Update processes full

If the update processes are full, check if the update process is running correctly in SM13.

Spool issues

If no prints are coming out of the system, there might be an issue with spool number range. System can look like this:

OSS note 48284 – System cannot generate any more spool requests contains the workprocedure.

Another solution can be to delete old spools.

If there are too many prints and too little spool processes, increase the amount of SPO processes in RZ04.

Buffering issues

Use transactions ST02 and AL12 to check for buffering issues. Read more about SAP buffering in this blog.

SAP references

SAP survival guide for performance issues: SAP note 2442365 – Survival Guide for performance analysis on SAP system contains an excellent PDF attachment for analyzing performance issues.

OSS note 948066 – Performance Analysis: Transactions to use lists all relevant performance related transactions.

Transport set up for FIORI in app extensibility

In the previous blog we explained how to execute in app extensibility for an out-of-the-box FIORI app. This blog will explain how to transport the changes done.

Questions that will be answered in this blog are:

  • What setup do I need to do for transporting the in app flexibility content?
  • How to activate the needed apps for transporting in app flexibility content?
  • How to use the needed apps for transporting in app flexibility content?

Initial setup

To set up the transport mechanism for in app extensibility start transaction S_ATO_SETUP:

These are packages used to only store the data for the key user.

For the final transport, create in SE80 once a final package, for example ZKUFLEX:

Background explanation on this transaction is present in OSS note 2807979 – Information to setup Adaptation Transport Organizer for S/4HANA On Premise system via S_ATO_SETUP.

FIORI apps activation for transports of key user flexibility content


Activate the FIORI app Configure Configure Software Packages. Full instructions are available on the FIORI reference library.
Short summary:

  • Activate SICF services: NW_APS_ATO_CONF, NW_APS_ATO_LIB and NW_APS_LIB
  • Activate ODATA service: APS_EXT_ATO_PK_CFG_SRV
  • Acitvate PFCG roleSAP_NW_APS_EXT_ATO_PK_CFG_APP and assign to your user

Activate the FIORI app Register Extensions for transport. Full instructions are available on the FIORI reference library.
Short summary:

  • Activate SICF services: NW_APS_ATO_REGI, NW_APS_ATO_LIB and NW_APS_LIB
  • Activate ODATA service: APS_EXT_ATO_PK_AI_SRV
  • Activate PFCG role SAP_NW_APS_EXT_ATO_PK_AI_APP and assign to your user

Use of FIORI apps for transports of key user flexibility content

Add the apps to on the FIORI launchpad:

In the app Configure Software Packages add your permanent package you created in SE80:

Also assign a transport request here.

Now you can use the Register Extensions for Transport app to assign you extension to the package and transport:

Select the field and press the button Reassign to Package.

SAP references

Excellent overview blog can be found here.

SAP full help reference can be found here.

Bug fix OSS notes

3282241 – Enhancement of consistency check in S_ATO_SETUP

SAP support for browsers

This blog will explain the ways to find information about SAP support for browsers.

Questions that will be answered in this blog are:

  • Where do I find overall information about SAP support on browsers?
  • Which OSS notes are relevant for specific browsers?
  • When does SAP internet explorer 11 (IE11) browser support stop?

SAP support on browsers

The main OSS note for browser support in SAP Netweaver is OSS note 1728946 – Browser: Browser Support Strategy for NetWeaver. For FIORI SAP UI5 technology, the main note is 1716423 – SAPUI5 Browser Support.

Most of the browser fixes are delivered in the Unified Rendering patch updates. Read more on this topic in this dedicated blog.

A common source of browser issues is the Active Component Framework. Read in this blog why it is best to NOT use this framework at all.

SAP netweaver browser support

On the SAP support PAM site you can find the specific browser support for each browser and netweaver combination:

Stop support of Internet Explorer

Microsoft stops support of Internet Explorer by 15th of June 2022 and will remove it with upcoming patches after that date. Impact on SAP GUI: 3058309 – End of support for Internet Explorer by Microsoft – impact on SAP GUI for Windows. Basic summary from this note: “This means as long as you are not running SAP GUI embedded in a browser window, the de-support of Internet Explorer does not have any functional impact on you.”.

Specific browser notes

Main notes for specific browsers:

Chrome:

Safari:

Firefox:

Internet explorer: support is still there but will end towards the end of 2021:

Detailed specification of IE11 end of support can be found in the official SAP blog.

Microsoft Edge:

Browsers on mobile devices:

Issues with SAP and browsers

Issues with SAP and browsers can be on both side: SAP and browser side. A new security note on SAP can suddenly block correct working of an SAP browser based function. A new security patch on the browser can also suddenly block it. Testing all combinations is a very hard process and almost impossible to do. The best way is to allow the users at least 2 different browsers. If one browser is having issue with an update, usually the other browser still works, which can be used as a workaround. It is not nice and pretty, but it gives you time to fix the issue. For issues on the SAP side: best to yearly patch the UI rendering notes (see this blog), and to carefully test notes that impact the web part (like security notes which are meant to close security holed in the netweaver web part).