Wednesday, December 31, 2025

Year 2025 – bye bye

Year 2025 was full of challenges for me mostly at personal and family front.

However, as the year 2025 draws to its close I want to conclude it with a little bit of fun. Earlier this year there was an SAP Note 2440630 circulating within posts and discussions on social media. It was painted as a humorous/novelty entry titled something like “Accident at work: Growling noise in the stomach area.” Some posts described it as an SAP Note that jokingly diagnoses stomach growling due to hunger and prescribes eating food. Short excerpt from the note:


It’s filed under Industrial Hygiene and Safety / Incident/Accident Management and starts like a normal issue report:

“During work, you suddenly notice a strange growling background noise… your system administrator cannot find a solution.”

Then it rules out ABAP, DB, network, and hardware problems before stating the real cause:

“insufficient supply of resources for your stomach (hunger).”

The “manual correction steps” are basically: leave your desk, find food, chew, swallow, repeat until the sound stops — with a caution to avoid eating too fast.

 

Apparently after it went viral SAP has removed it. The Note page currently displays “SAP Note/KBA 2440630 does not exist” message. Users can no longer access it via the standard interface, but it was a quite funny things that someone at SAP did :)

My best wishes for a new year MMXXVI to all of you!


Which Support Package is recommended for BW?

Many customers I worked for were looking for a reply to this question. The thing is that it goes beyond the SAP BW’s usual "BW Support Strategy" according to which – a quote from SAP Note:

To assist SAP in providing an optimal level of support it is important for the customer system to be up to date. For this, SAP recommends running the latest (or latest – 1) BW Support Package available on the SAP service marketplace.

Thus, SAP doesn’t publish one single “recommended Support Package” number that fits all customers — instead it is the general recommendation - to always run the most up-to-date Support Package Stack that is available for particular release, or at least the latest and the one immediately before the latest.

OK clear. But there are also security issues fixes delivered via SAP Security Notes with high or very high priority. Those normally customers implement on ad-hoc basis as the Notes are published. But some customers may neglect those activities. Therefore, to stress this importance SAP issues following statement – again a quote from SAP Note:

We therefore strongly recommend to update the system at least once per year to the latest Support Package.

Last thing – where to check what is the latest support pack available for my BW? Go to PAM – Product Availability Matrix for that. Find your BW there and published SP are listed on Support Package Stacks tab.

 

More information:

2792181 Which Support Package is recommended for BW/4HANA-customers?

375631 Which Support Package is recommended for BW-customers?

PAM or PAM or PAM – listing more links as they may be changed in future

SAP BW/4HANA (B4H) versions


What is SAP GxP?

The term SAP GxP refers to the use of SAP software in highly regulated industries. These include, in particular, pharmaceutical, medical technology and biotechnology industries (also known as the life sciences industry).

In these industries, very specific and strict regulatory requirements apply to products - and therefore also to the processes and systems used to manufacture them. Means in those industries they need to comply with GxP regulations (Good Practice guidelines). Where x can stand for:

·        GMP (Good Manufacturing Practice)

·        GLP (Good Laboratory Practice)

·        GCP (Good Clinical Practice)

·        GDP (Good Documentation Practice)

These guidelines are monitored by regulatory bodies like in the case of pharmaceuticals the FDA (USA) and EMA (Europe) and aim to ensure product quality, safety, and compliance.

SAP GxP includes functions that enable companies to fulfil these requirements. Issues such as data security, traceability (tracing a drug production through so called batch number) and documentation play an important role here.

 

SAP GxP Solutions

SAP offers specialized solutions for regulated industries:

·        SAP S/4HANA Cloud for GxP, Private Edition - A version specifically designed for life sciences with built-in compliance features

·        SAP Quality Requirements Schedule - Additional documentation and audit rights for GxP customers

·        Support for Computer System Validation (CSV) - The regulatory validation process required for IT systems in GxP environments


ABAP CL_RSAR_FUNCTION class in BW4/HANA

I wrote about the ABAP class CL_RSAR_FUNCTION a long time ago here. In a nutshell it provides a collection of static utility methods for common data transformations and calculations, particularly focused on date and string operations. The methods can be called directly without instantiating the class.

Now in a BW4/HANA based BW system there are few more methods added into the class.

ALPHA                                       ALPHA conversion

FISCPER_FISCPER3                       Date -> Fiscal Period 3

GET_LOGICAL_SYSTEM                 Get Logical System

GET_SOURCE_SYSTEM_ID             Get Source System ID

L_TRIM                                      Left Trim (string)

QUARTER_QUARTER1                    Month -> Quarter1

RTRIM                                        Right Trim (string, string)

SECONDS_BETWEEN_TIMESTAMPS Difference between 2 timestamps in seconds

SECONDS_TO_DAYS                     Convert seconds to days

SECONDS_TO_HOURS                   Convert seconds to hours

SECONDS_TO_MINUTES                Convert seconds to minutes

SET_REQUEST                             Set request

SET_REQUEST_CLOUD                  Set request for cloud based BW4

UTC_LONG_TO_LOCAL_DATE         UTC Timestamp -> Local Date

UTC_LONG_TO_LOCAL_TIME          UTC Timestamp -> Local Time

UTC_SHORT_TO_LOCAL_DATE        UTC Timestamp -> Local Date

UTC_SHORT_TO_LOCAL_TIME        UTC Timestamp -> Local Time


Possibilities of checking ABAP code quality from HANA DB migration point of view

When migrating SAP NetWeaver based ABAP stack server from any DB to HANA DB there are a few steps to be done prior to the migration with the respect to the ABAP code.

First there are functional modifications to the custom ABAP code to be analyzed. Those are places in the code that leverages specific DB features that need to be adjusted for the HANA DB. As an example, these are Native SQL statements in the ABAP code.

Secondly there is SQL Optimization of the custom ABAP code. To support this part there are a few of the tools available.

To identify the places of the code for both the cases it is possible to leverage Runtime and Static Checks.  Those are two different approaches also to support the code quality assurance and error detection.

Static checks analyze your ABAP code without executing it. They examine the source code itself to identify potential issues, coding standard violations, and best practice deviations. They are performed during development time in the ABAP Editor or through Code Inspector (SCI), no program execution required, checks syntax, adherence to coding guidelines, and potential logical errors.

Tools:

Extended Program Check (t-code SLIN)

Code Inspector (t-code SCI/ATC)

ABAP Test Cockpit (t-code ATC)

SQL Monitor (t-code SQLM or older /SDF/ZQLM)

SQL Performance Tuning Worklist (t-code SWLT or older /SDF/ZQLMD). It combines the SQLM data with the ATC tool results.

 

Runtime checks monitor and validate code behavior during program execution. They detect issues that only become apparent when the program runs with actual data.

They are: activated in t-code SLIN or through specific settings, to monitor memory usage, database operations, and system calls during execution, to impact performance when active, to provides detailed analysis of actual program behavior.

Tools:

Runtime Check Monitor (t-code SRTCM), is used for administrative tasks

Runtime Check Monitor (t-code SRTCMD): Data Display, is used for pure runtime data analysis

The above-mentioned SRTCM tool is solely focused to scan the code for two main issues:

Empty table in case of FOR ALL ENTRIES statement. If the internal table is empty then all data is fetched from DB table.

Missing ORDER BY or SORT statements after SELECT. In case the internal table is not sorted the SELET is slower performing is it could be.

 

More information:

1912445 - ABAP custom code migration for SAP HANA - recommendations and Code Inspector variants for SAP HANA migration

3242700 - ABAP SQL Monitor: Implementation Guide and Best Practices

SQL Performance Monitoring


Saturday, December 13, 2025

SUPPORT CONTENT for BW enthusiasts

Help site of SAP – help.sap.com basically contains a documentation for SAP products. On top of that there is a suite of pages so called Support Content. What is meant by that is additional content provided by SAP but not considered the documentation as defined by the applicable SAP General Terms and Conditions.

Main page of the Support Content is: help.sap.com/docs/SUPPORT_CONTENT

Let’s explore what is in there in scope of SAP BW, Data Warehousing and SAP Analytics in general.

Business Warehouse - Data Warehousing and Business Content

Business Warehouse – Analytic Engine (OLAP) and Planning

SAP Datasphere      

Business Warehouse – Frontends

ABAP CDS Analytical Queries

SAP Analysis for Microsoft Office

SAP Analytics Cloud (SAC)

SAP BusinessObjects Business Intelligence Platform

SAP Crystal Reports

SAP Lumira

SAP HANA Smart Data Integration

Other topics:

Netweaver Technology

Basis Corner

Application Server Infrastructure

Application Services – SAP Cloud Connector

ABAP Development

ABAP Objects

ABAP - FAQ

ABAP How-tos Guides

ABAP Tools

ABAP Connectivity


Friday, December 5, 2025

Executing BW transformation in on-prem/cloud based system

There is a different call of ABAP method that executes the BW transformation introduced for cloud based BW systems. It can be spotted in method TRANSFORM of class CL_RSTRAN_TRFN_CMD. First there is a check if the BW is cloud based system. If so the request parameter (i_r_request) that is passed to a method call is l_r_request_cloud. In case it is on-premise based BW system the value of the same parameter is l_r_request.


 

The two request are generated by a same class and different method call:

cl_rsar_function=>set_request_cloud( i_r_request = l_r_request_cloud ).

cl_rsar_function=>set_request( i_r_request = l_r_request ).

 

In case cloud system the request is instance of IF_RSBK_REQUEST_PROXY_CLOUD.

For on-prem request it is instance IF_RSBK_REQUEST_ADMINTAB_VIEW.

Both the interfaces provide access to runtime attributes of a data load request during its processing. It acts as a bridge between an infoprovider admin screen/tab (in the class called as - IPRO Admin Tab) used for monitoring and administration of requests) and the request object itself in the BW system.