SHDB – Transaction Recorder

posted in: SAP General 1
SHDB – Transaction Recorder

Data transfer is of significant importance in the SAP ERP world. Whether it is for the maintenance of data already in the system or the implementation of new modules, the management of mass data is omnipresent. This is why SAP has set up various standard tools, including SHDB - Transaction Recorder, in order to carry out data recovery.

How SHDB - Transaction Recorder works

Indeed, as its name indicates, the SHDB functionality is based on a Transaction Recorder. But in concrete terms, what is a Transaction Recorder? A Transaction Recorder is simply a tool that allows you to record a succession of transactions and views, the views being more commonly called "Dynpro" or "Screen".

Below is the main screen of the SHDB transaction - Transaction Recorder:

SHDB – Transaction Recorder

Therefore, the goal is to perform once manually, what SAP will then reproduce in a more or less automated way via two different processes: Session Method or Call Transaction.

BDC – Session Method vs Call Transaction

First of all, BDC stands for Batch Data Communication and represents a recording functionality that enables the execution of the SHDB Transaction Recorder tool.

Moreover, within this BDC functionality, there are two different methods: Session Method and Call Transaction:

Session Method

First, the Session Method is a method that allows the generation of a Batch Input. And the execution of this Batch Input will allow the modification / creation of data in SAP.

Call Transaction

Secondly, the Call Transaction method is a method that allows the modification / creation of data in real time in the SAP database, without going through a Batch Input.

Thus, when running the SHDB program, it is possible to choose between the two methods by selecting the corresponding radio button:

Session Method vs Call Transaction


Once the Recording is created, it is translated into the following format:


Thus, we find inside:

  • The program(s) used
  • The Screen(s) travelled
  • The modified field(s)
  • The value entered in each of these fields

In addition, once the Recording has been created, it is possible to modify it. First of all, the user can add fields accessible to modification that may have been forgotten during the recording, or, on the contrary, delete certain fields that are already present in the recording. Secondly, the user can also change the value of the fields available for modification.

The execution of the Recording only allows the realization of a single occurrence. This is not very useful for mass data recovery. That's why the SHDB functionality allows the creation of a program, linked to the Recording, in order to execute it N times, data coming from an external source file.


In addition, the main objective of creating an SHDB program is to make the Recording operational for the specific needs of the data recovery to be performed. In other words, an ABAP program is almost infinitely flexible, which will allow, for example, the replacement of "hardcoded" field values in the Recording with variables from an external source file.

The part of the code below is generated automatically via the Recording. It is then simply the translation of the previous Recording screen into ABAP programming language.


Moreover, as in the previous Recording screen, it is possible to add or remove fields to be maintained. Moreover, this time in ABAP language. However, the notable advantage here is that it is possible to replace field values "hardcoded" in the Recording, by variables from an external source file.

On the other hand, making the program resulting from the SHDB functionality functional requires some technical skills, especially in the SAP ABAP language.

Would you like unlimited access to our entire SAP training library? Test our training platform free of charge for a 7-day trial period.

  1. [...] bulk roles to multiple users via standard tools such as LSMW, SHDB, ECATT [...].

Leave a Reply

Your email address will not be published. Required fields are marked *