SAP GUI 64 bit

SAP GUI comes with a 32 and 64 bit version. The advantage of the 64bit version is the performance. The setback is its dependency on, and its compatibility with, the 64bit Microsoft Office products.

A user cannot have both versions installed on a single machine. It is either the 32bit or 64 bit version.

Download location: 3398259 – Where to download 64-bit patches for SAP GUI for Windows 800. – SAP for Me.

Keep track of the SAP GUI build in this blog. With the upcoming SAP GUI 8.10 the information below (which is valid for 8.0) might be different.

Differences between 32bit and 64bit

The main differences are describes in OSS note 3218166 – SAP GUI for Windows: Functional differences of the 64bit version compared to the 32bit version.

The better performance of the controls and download functions are described in this OSS note: 2724656 – SAP GUI NWRFC Controls: 64bit support for Logon, Table, Function and BAPI controls – SAP for Me.

Compatibility issues

The Office compatibility issues are described in the following OSS notes:

Basic rule: when SAPGUI 64bit is to work with Office products, make sure also the Office products are installed with 64bit version.

SAP favorites

Any user can add favorite transactions to his personal menu. This can be done in the SAP menu by right clicking on the menu and select the option add to favorites.

Sharing favorites

A user can share favorites by downloading them and sending the file to another user to upload. Upload or download to PC: go to menu Favorites and select Download to PC or Upload from PC. Reference OSS note 456728 – Easy Access: download/upload of favorites.

Technical parts of favorites

The tables for favorites are explained in OSS note 2169093 – User favorites are missing:

  • SMEN_BUFFC – Table for Storing Favorites
  • SMENFAVDAT – Date of Last Change to Favorites
  • SMEN_BUFFI – Links for Favorites

Currently there is no know mass download/upload program for user favorites. Custom program can be written using function modules MENU_FAVORITES_DOWNLOAD and MENU_FAVORITES_UPLOAD.

Favorites across versions

When upgrading to a newer SAP version, transactions get updated as well. Example in SAP ECC transaction XK01 is used for creating vendors. In S4HANA this is replace with transaction BP.

SAP table PRGN_CORR2 contains these translations:

Background OSS note: 3454002 – List of obsolete transaction codes and authorization objects.

With an upgrade the user favorites are not updated automatically.

TLS v1.3 setup

Transport Layer Security is used for web traffic. TLS v1.3 is a modern way of implementing this. It is safer and faster than the older TLS v1.2.

AspectTLS 1.2TLS 1.3
Year standardized20082018
Handshake latency2 round trips (typically)1 round trip (or 0‑RTT)
Cryptographic algorithmsMany (incl. weak/legacy)Only modern, secure algorithms
Forward secrecyOptionalMandatory
Security postureFlexible but complexSimpler, safer by design
CompatibilityVery wideRequires modern stacks
The problem with TLSv1.3 is that old infrastructure and applications still do not support it properly. Please be careful with testing when activating.

General SAP background notes:

TLS v1.3 for ABAP

Background OSS notes:

Do look at the regressions listed in OSS note 3318423 – Is TLS 1.3 Supported by SAP Kernel for ABAP and SAP S/4HANA? – SAP for Me. Most of them are fixed by applying latest kernel and/or crypto library update.

OSS note 3346659 – TLS Ciphersuite String Configuration for SAP AS ABAP Systems and for SAP Kernel Software Components contains section to enable TLS v1.3 next to TLS v1.2. This might be a good intermediate implementation step.

For some reasons there might be issues with custom code using HTTP_GET, HTTP_POST or similar. See OSS note 2582368 – SapSSL update for client-side sending of TLS extension SNI by saphttp, sapkprotp, sldreg. Workaround according to this note is to use HTTP2_GET and HTTP2_POST from function group SCMS instead.

TLS v1.3 for HANA

Background OSS notes:

TLS v1.3 for other SAP products

TLS v1.3 support for other SAP products (list is not extensive, search on me.sap.com if your product is not yet in the list):

Data archiving: Idocs

This blog will explain how to archive idocs via object IDOC. Generic technical setup must have been executed already, and is explained in this blog.

Object IDOC

Go to transaction SARA and select object IDOC.

Dependency schedule:

Main tables that are archived:

  • EDIDC (idoc control record)
  • EDIDS (idoc status record)
  • EDID4 (idoc content)

Technical programs and OSS notes

Write program: RSEXARCA

Delete program: RSEXARCD

Read program: RSEXARCR

Reload program: RSEXARCL

Relevant OSS notes:

Application specific customizing

In transaction WE47 the idoc status must be set to archive-able:

Executing the write run and delete run

In transaction SARA, IDOC select the write run:

Select your data, save the variant and start the archiving write run.

Give the archive session a good name that describes idoc type and year. This is needed for data retrieval later on.

After the write run is done, check the logs. IDOC archiving has average speed, and high percentage of archiving (up to 100%). Mostly errors are not archived due to status (transaction WE47).

Deletion run is standard by selecting the archive file and starting the deletion run.

Data retrieval

Data retrieval is via program RSEXARCR is extremely poor. Setup archive infostructure SAP_IDOC_001, and use transaction SARI (with IDOC and SAP_IDOC_001) to search and retrieve the idocs:

Or use WE09 transaction and include the selection for Archive:

Support maintenance overview on me.sap.com

On me.sap.com there is a support maintenance overview page. You can reach this page via this direct URL: Reporting – SAP for Me. A full explanation of all functions can be found on this blog. The below is the quick manual.

Support maintenance overview

When you start the page you get the total overview:

By clicking on a segment, you can zoom in:

By clicking on the system number you can go to the system administration details:

This can be used to update wrong old information, or to delete systems which have been decommissioned, but are still present in the SAP administration.

Navigation options

You can navigate from the System to the products and addons. Do this by selecting the system in the left part:

Another option is to start with the leading product or addon to see on the left side, which systems have this component installed:

MaxDB tips & tricks

MaxDB has 3 main use cases for SAP:

  • Standalone database (not so much in use)
  • As database for SCM livecache
  • As database for content server

Basically the current 7.9 version is the last supported version until 31.12.2027. Prepare for new solutions if you are still using MaxDB.

Generic MaxDB OSS notes

End of support:

Generic database features of MaxDB:

MaxDB for content server

MaxDB for livecache

S4HANA supports livecache as embedded option. Read more in this blog.

SAP Cloud ALM memory estimator

If you are running SAP Solution manager and are planning to move to SAP Cloud ALM, you can estimate the expected memory usage on SAP Cloud ALM. The first 24 GB are for free in the standard SAP contract. If you need more, you might need to acquire extra licenses.

Installation of the SAP Cloud ALM memory estimator

Check that OSS note 3639977 – Collective corrections as of ST-PI 7.40 SP32 and ST-PI 7.58 SP00 for SAP Cloud ALM is installed (or a newer ST-PI).

Check if report /SDF/CALM_MEMORY_ESTIMATION is available in your solution manager system.

Running the memory estimator

In your solution manager system run in SE38 the program /SDF/CALM_MEMORY_ESTIMATION. Choose a representative day (take a busy weekday, and not a weekend day).

Let the program run.

Show the results:

You now can see the total and the highest impacted areas.

SAP readiness check for SCM

If you are running SCM – APO solution, you need to consider what to do with the functions running there. The extended support of the SCM – APO solution will end by 31.12.2030.

To check the current usage and potential solutions, you can run the SAP readiness check for SAP Supply Chain Solution.

Running the check

Install the check program by applying OSS note 3477050 – SAP Readiness Check for SAP Supply Chain Solutions.

Then start program RC_SCM_COLLECT_ANALYSIS_DATA and execute it:

Schedule the analysis in batch job. When the batch jobs are completed, use the Download Analysis Data button to download the results to your laptop.

Upload the results in the SAP readiness site: https://me.sap.com/readinesscheck .

Results for the SCM readiness check

After uploading the analysis will take a few minutes. When completed, you can see the results:

ZSCMON aggregated SCMON view

The SAP tool for ABAP system usage SCMON is great. The problem is that the data is a lot to digest. The SUSG function can aggregate the data, but that is difficult to view.

The below Z program is simply taking the SCMON data and is providing a summarized view.

Transaction ZSCMON and program ZSCMON

Create a program ZSCMON and assign transaction code ZSCMON as well.

Report code:

REPORT zscmon.

CONSTANTS : zgc_tcode TYPE tcode VALUE 'ZSCMON',
            zgc_col   TYPE lvc_fname  VALUE 'NUMBEROFCALLS'.

DATA: zgv_objtyp TYPE trobjtype,
      zgv_objnme TYPE sobj_name,
      zgv_clsnme TYPE scmon_classname.


PARAMETERS: zp_stdat TYPE scmon_slicestartdate,
            zp_eddat TYPE scmon_sliceenddate.

SELECT-OPTIONS: zs_obtyp FOR zgv_objtyp,
                zs_obnme FOR zgv_objnme,
                zs_clsnm FOR zgv_clsnme.

PARAMETERS: zp_sum  RADIOBUTTON GROUP g1 DEFAULT 'X',
            zp_det  RADIOBUTTON GROUP g1.

INITIALIZATION.
* AUTHORITY CHECK for TCODE
  CALL FUNCTION 'AUTHORITY_CHECK_TCODE'
    EXPORTING
      tcode  = zgc_tcode
    EXCEPTIONS
      ok     = 0
      not_ok = 2
      OTHERS = 3.
  IF sy-subrc <> 0.
    MESSAGE e172(00) WITH zgc_tcode.
  ENDIF.

AT SELECTION-SCREEN.
  IF zp_eddat LT zp_stdat.
    MESSAGE TEXT-001 TYPE 'E'.      
"Slice End Date cannot be less that Slice Start Date
  ENDIF.

START-OF-SELECTION.

  IF zp_det EQ abap_true.
    SELECT object,
           obj_name,
           proctype,
           procname,
           classname,
           SUM( counter ) AS numberofcalls
              FROM scmon_vdata INTO TABLE @DATA(zgt_scmond)
              WHERE slicestart  GE @zp_stdat
                AND sliceend    LE @zp_eddat
                AND object      IN @zs_obtyp[]
                AND obj_name    IN @zs_obnme[]
                AND classname   IN @zs_clsnm[]
              GROUP BY object, obj_name, proctype, procname, classname.

*ALV Object
    cl_salv_table=>factory(
           IMPORTING r_salv_table = DATA(zgo_alv)
           CHANGING  t_table      = zgt_scmond ).

  ELSEIF zp_sum EQ abap_true.
    SELECT object,
           obj_name,
           SUM( counter ) AS numberofcalls
              FROM scmon_vdata INTO TABLE @DATA(zgt_scmons)
              WHERE slicestart  GE @zp_stdat
                AND sliceend    LE @zp_eddat
                AND object      IN @zs_obtyp[]
                AND obj_name    IN @zs_obnme[]
              GROUP BY object, obj_name.      

*  ALV Object
    cl_salv_table=>factory(
           IMPORTING r_salv_table = zgo_alv
           CHANGING  t_table      = zgt_scmons ).

  ENDIF.

*Set functions, zebra pattern, column width optimization
  zgo_alv->get_functions(
           )->set_all( ).
  zgo_alv->get_display_settings(
           )->set_striped_pattern( value = abap_true ).
  DATA(zgo_alv_cols) = zgo_alv->get_columns( ).
  zgo_alv_cols->set_optimize( ).

* modify individual properties
  TRY.
      DATA(zgo_col) = zgo_alv_cols->get_column( zgc_col ).
      zgo_col->set_long_text( TEXT-002 ).               
      zgo_col->set_medium_text( TEXT-002 ).            
      zgo_col->set_short_text( TEXT-002 ).              
    CATCH cx_salv_not_found.                           
  ENDTRY.

* ALV DISPLAY
  zgo_alv->display( ).

Text symbols:

001 Slice End Date cannot be less that Slice Start Date
002 NoOfCalls
003 Not authorized to access ABAP call monitor data

Selection texts:

ZP_DET Detail
ZP_EDDAT Slice End Date
ZP_STDAT Slice Start Date
ZP_SUM Summary
ZS_CLSNM Called Class Name
ZS_OBNME Object Name
ZS_OBTYP Object Type

Running the transaction ZSCMON

Now run the program or transaction ZSCMON:

Fill out the correct data for the slice Start and End date.

Result:

Run the program in detail mode if you still want to list the details.

ALV with IDA (integrated data access)

Next to the classical ALV grid, SAP offers the ALV with IDA (integrated data access). This is especially useful with HANA as database and when having to process very large data sets in the ALV.

Formal documentation

The formal documentation of the ALV grid with IDA can be found at help.sap.com on this link.

This also contains a comparison between the classic ALV and ALV with IDA.

Blogs

Many blogs on this topic can be found. Some useful ones:

Using the ALV with IDA in coding

Using the ALV with IDA in ABAP coding can be done with a single statement:

cl_salv_gui_table_ida=>create(  iv_table_name = 'SFLIGHT' ) ->fullscreen( ) ->display( ).

In each ABAP system there is the demo program SALV_IDA_DISPLAY_DATA_SIMPLE which you can use to see how details can be prograamed.