ABAP Debugging using Log Point and Break Point
Debugging ABAP programs using Log Point ID and Break Point ID CheckPoint Group (SAAB tcode) commands makes ABAP debugging easier for programmers.
For developers CheckPoint groups enable them to activate logging of program variables and to activate break-points dynamically within ABAP programs.
SAP SAAB transaction is used to create new CheckPoint group and activate a checkpoint group for a specified time range and for selected users.
In this ABAP tutorial, I'll try to show how to use CheckPoint groups using SAAB transaction and the ABAP code syntax of Log-Point Id and Break-Point Id commands.
Create Checkpoint Group in ABAP using SAP SAAB Transaction
Using ABAP Keyword Documentation, I placed the following code line within oe of my ABAP reports to use Log-Point Id for ABAP debugging.
LOG-POINT ID zeytest FIELDS lt_text.
Unfortunately the ABAP program throw the following error message since the checkpoint group was not created on the SAP system.
Checkpoint Group "ZEYTEST" is unknown.
So in order to start our ABAP tutorial, let's start with creation of ABAP checkpoint group first.
First of all, call SAP transaction SAAB
Enter check point name in the Name textbox in Checkpoint Group section and press Display icon or button
If it does not exist or previously created on the target SAP system, the following error message is displayed.
Checkpoint group ZEYTEST not found
Message no. SAAB004
If you get the error message, then we have to create a new CheckPoint Group with the specified name.
Press Create icon
Provide the Checkpoint Group name and description.
And then press Enter or Continue icon. In fact we are finished with creation step of the ABAP CheckPoint Group
Activate Checkpoint Group for Log-Point and Break-Point
Right after the create task, the ABAP developer will bew redirected to the Change screen. Here is the Change CheckPoint Group SAP screen after checkpoint group is created on SAAB transaction.
On CheckPoint Group Activation tab, an ABAP developer can activate log-points using Logpoints section.
Additionally, breakpoints can be activated under the Breakpoints section as well.
One last option for a programmer is the Assertions
If you switch options from Inactive to Break, Log or other options defined under Assertion, the activated options will be available and running effectively on the current SAP system for the defined users after you click Save icon
The ABAP programmer can add additional SAP users to debug using Break-Point Id or to log data obtained during program execution using Log-Point Id ABAP statements, the User button can be used under All Activations section.
After activation of the CheckPoint Group, using its name the ABAP Log-Point Id statement is used to log required data for debugging of the ABAP report execution.
Below sample ABAP program can be useful to show how LOG-POINT ID can be used in its simplest form to log an internal ABAP table data.
DATA lt_text TYPE TABLE OF textpool.
DATA ls_text TYPE textpool.
CALL FUNCTION 'RS_TEXTPOOL_READ'
objectname = 'ZEY_READ_TEXT'
action = 'DISPLAY'
language = 'E'
tpool = lt_text.
LOG-POINT ID zeytest FIELDS lt_text.
READ TABLE lt_text INTO ls_text WITH KEY key = 'T02'.
To check what is logged during the ABAP report execution for troubleshooting in ABAP, switch to Log tab of the related CheckPoint Group screen.
On Log tab, ABAP developers can drill through a detailed view of used places of the log-point in ABAP programs.
The last leaf will enable programmers to see the data contained in selected variables during the ABAP code execution
The CheckPoint Group has an option for ABAP programmers to create SUBKEY under main key defined with ID
Double click on last line to see the content of the logged data.
Break-Point Id Statement for ABAP Debugging
Very similar to Log-Point Id usage in ABAP codes, ABAP programmers can benefit from the usage of BREAK-POINT ID in their ABAP reports for activation of break points.
Using Break-Point Id enables ABAP debugger to activate break points set into the code whenever required.
If the Break Points are not activated using the SAAB transaction, they will not hit during the execution of the ABAP program.
But if the debugging user has activated the Checkpoint Group for Breakpoints using SAP SAAB transaction, the code execution will stop at the "BREAK-POINT ID" statement line for the specified users.
Here is the activation of the break point group by setting the option from Inactive to break.
And this change will activate the break point statements set as follows using the "BREAK-POINT ID checkpoint_group_name." ABAP command within ABAP programs.
BREAK-POINT ID zeytest.
I hope in this ABAP tutorial, I could give hints for the ABAP developers to debug their programs using logging provided by Log-Point Id and debugging with Break-Point Id commands of the CheckPoint Group