Change analysis on an ABAP backend system

Change analysis is one of the Root Cause Analysis techniques that is to identify different kinds of changes implemented which may cause a specific problem or problematic event. Though a comprehensive Change Analysis (ABAP) tool is available from ST-A/PI Release 01S* onwards in the transaction ST13 -> BACKOFFICE_TOOLS -> Change Analysis (ABAP), this blog explains how to identify changes in the individual areas listed below using DB tables.

  • Kernel patch
  • Instance profile parameter changes
  • SAP software component version changes
  • SAP note corrections implemented
  • Individual ABAP program changes including dependent objects

Kernel Patch

The DB table PATCHHIST keeps the history of the kernel executables (disp+work and R3trans) version changes including the major release and the patch level. The field SAPRELEASE is for the major release, PATCHNO is for the kernel patch level and the DBSLPATCHN is for the DBSL patch level.

The example below shows there were two revision changes on July 12 2022. One for the patch level 400, DBSL patch number 400 and another for the patch level 450 and DBSL patch number 443.

Instance profile parameter changes

The DB table PAHI keeps the history of the instance profile parameter changes for each instance. This can be displayed in the transaction TU02. Both permanent changes in the instance profile and dynamic parameter changes can be tracked. The example below shows that two profile parameters rdisp/scheduler/prio_high/max_runtime and rdisp/wp_no_dia were changed on July 12 2022. The first parameter was changed dynamically while the second one was changed in RZ10 permanently.

Only the change date is available in this table for the dynamically changed parameters. Sometimes, we will need the time when the parameter was changed, this information is available in the system log (SM21) in case the system log is still available for the date. The dynamic parameter changes are written in the system log with the message ID Q19.

SAP software component version changes

Upgrade information is available in the DB table UVERS. For individual software components, the DB table E070 can be used to track the change history. As SAP software support package names are begin with “SAPK”. The search condition is “SAPK” for the field E070-TRKORR, and the date filtering can be done with the field E070-AS4DATE.

The example below shows that SAPK-75401INSAPGWFND package which is SAP Gateway foundation 7.54 SP1 was imported on July 13 2022.

SAP note corrections implemented

The database view V_E071 is for the table join between E070 and E071. The search condition below can be used to identify the SAP Note corrections implemented during the specific time period.

The example below shows a SAP note was implemented (imported) on July 8 2022.

It’s also required to check the status of the note implementation if it has completely implemented. This can be done using the transaction SNOTE or via the DB table CWBNTCUST. The PRSTATUS is the field for the implementation status, and the value E means “completely implemented”.

Individual ABAP program changes including dependent objects

The DB view V_E071 can be used for this purpose as well. The field V_E071-OBJECT can be used to limit the result set. The followings are important object types.

TABL Table
DTEL Data Element
CLAS Class (ABAP Objects)
REPS Report Source Code
METH Method (ABAP Objects)
TTYP Table Type
SPRX Proxy Object
DOMA Domain
TRAN Transaction
FUGR Function Group
INTF Interface (ABAP Objects)
FUNC Function Module
DDLS Data Definition Language Source
DEVC Package
REPT Report Texts
TABD Table Definition
VIEW View
ENHO Enhancement Implementation
WDCC Web Dynpro Component Configuration
DYNP Screen
SHLP Search Help
DTED Data Element Definition
CLSD Class Definition (ABAP Objects)

Though the  a comprehensive Change Analysis (ABAP) tool is available in the transaction ST13 -> BACKOFFICE_TOOLS -> Change Analysis (ABAP) as mentioned in the beginning, 5 tips explained in this blog can be used when the tool is not available in the system, or even when the SAP ABAP instances are not up and running.

Thank You For Reading, please share feedback and thoughts in a comment. And consider following the ABAP Development environment topic and my profile for future similar content.