manuel laggner

Find modifications in executed code

Once we had the task to find out if there is any modification when executing a report. Since we knew that there is the table SMODILOG where all modifications (non Z/Y which are edited in the system...

Backup BRF+ decision tables to Git

While SAP BRF+ offers versioning of its objects, we decided to create an additional backup of the decision tables via Git. For this backup we used our existing GitLab API in combination with the BR...

RFC_READ_TABLE via REST

Sometimes you may need to directly access data from a table without any function module or webservice. SAP offers a dedicated function module for direct database access via RFC: RFC_READ_TABLE. But...

Copy Developer Certificates to Another macOS Device

I recently wanted to move my developer certificates from one mac to another (via Xcode - Preferences - Account - Manage Certificates - Export Developer ID Application Certificates), but after impor...

Finding Unused Programs

In the preparation phase of our S/4 migration we wanted to identify unused custom code. While there are several different reports from SAP, none of them fulfilled our requirements, so we created an...

Finding Empty Development Classes

While praparing our system for the S/4 migration, we recognized that there are many empty development classes in our system. To find them all, I wrote a simple report to list all packages without a...

Advanced Data Element Search

Probably every ABAP developer was already in the situation to search for an existing data element to be used in a new program/table/structure. The search help in SE11 only covers the basic needs fo...

ABAP - Performance Optimized Data Processing

When writing programs with ABAP, there are many ways to significantly improve performance. Generally, the performance in the SAP environment usually drops when reading/processing masses of data. Ex...

Change database fields in SE16 using the debugger

Sometimes you need to change one field in a database table where no maintenance view exists or the table is “locked” against changes in a productive system. If you have the authorization to change ...

Monitor openmediavault with Prometheus and Grafana

After upgrading my openmediavault instance to version 6 I decided to add some enhanced monitoring of system. While openmediavault offers some basic monitoring out of the box I decided to add a Graf...