SQL Server administration and T-SQL development, Web Programming with ASP.NET, HTML5 and Javascript, Windows Phone 8 app development, SAP Smartforms and ABAP Programming, Windows 7, Visual Studio and MS Office software
Development resources, articles, tutorials, code samples, tools and downloads for SAP HANA and ABAP, HANA Database, SQLScript, SAP UI5, Screen Personas, Web Dynpro, Workflow

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.
Code

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

ABAP SAAB transaction for Checkpoint Group

Enter check point name in the Name textbox in Checkpoint Group section and press Display icon or button

checkpoint groups for ABAP developers

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 create object in ABAP

Provide the Checkpoint Group name and description.

new checkpoint for ABAP debugging and logging

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.

ABAP checkpoint detail

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

Checkpoint Group activation for debugging or log options in ABAP

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

specify activation period for debugging tasks

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.

REPORT zey_read_text.

DATA lt_text TYPE TABLE OF textpool.
DATA ls_text TYPE textpool.

CALL FUNCTION 'RS_TEXTPOOL_READ'
 EXPORTING
  objectname = 'ZEY_READ_TEXT'
  action = 'DISPLAY'
  language = 'E'
 TABLES
  tpool = lt_text.

LOG-POINT ID zeytest FIELDS lt_text.

READ TABLE lt_text INTO ls_text WITH KEY key = 'T02'.
WRITE ls_text-entry.
Code

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

ABAP debugging with Log-Point

Double click on last line to see the content of the logged data.

log details fetched using Log-Point in ABAP coding


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.

use of Break-Point Id in ABAP codes

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.

REPORT zey_read_text.

BREAK-POINT ID zeytest.
Code

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



SAP HANA and ABAP

Install SAP Free
CRM Companies List
Web Based CRM Software


Copyright © 2004 - 2021 Eralper YILMAZ. All rights reserved.