Skip to Content

How to Instrument Your ABAP Code With Checkpoint Groups

Since Web Application Server release 6.20 SP29 it is possible to ensure program correctness and to increase the maintainability of ABAP code by using Checkpoint Groups. With this blog I want to give an overview how Checkpoint Groups are used.  h2. Introduction   Before checkpoint groups were developed we had to use if-clauses or the check statement to express assumptions. This was not really comfortable for the developers. Many if-clauses made the coding look very ugly and decreased the ease of understanding it. The checks may be time-consuming and could not be switched off on demand.    Another issue was the documentation. It was only possible to document the check results in the application log or to throw a message x for fatal errors. Because of these drawbacks many developers just placed their assumptions into comment lines. This looked like the following:      Now with checkpoint groups we have a new statement which gives us the possibility to make the assumptions part of the code:      In addition with checkpoint group a new addition to the BREAK-POINT statement is available. It is now possible to mark special code lines as start points for debugging instead of writing the information into comment lines, as we did in former days:      Explicit start point for debugging in coding:   h2. Definition    A +Checkpoint+ is an ABAP statement instrumenting the code for the purpose of testing, debugging and maintenance.     Checkpoint statements are BREAK-POINT and ASSERT. They are standing in contrast to operative statements building up the program logic.  h2. The new statement ASSERT     h2. The new variant of the BREAK-POINT statement     h2. The maintenance of checkpoint groups     h2. Activation variants   Activation variants can be used to combine checkpoint groups and activation modes. They are also maintained within transaction SAAB. Activation variants can be global or local. Only global variants can be transported.   h2. Where-used-list of checkpoint groups   If you need to find out where a checkpoint group is used, click on button “overview” on the initial screen of transaction SAAB. There you can search e.g. in packages, programs, classes for the use of checkpoint groups.      
You must be Logged on to comment or reply to a post.
  • Hi Claudia,

    Really it was an eye-opener on checkpoint groups.
    You have explained the use of ASSERT statement in a wonderful manner.
    Expecting more weblogs on ABAP from You.

  • Hi Claudia,

    thanks for your excellent Blog.

    Just to mention it: Besides Assertions and Breakpoints ABAP offers also Logpoints as of NW 2004s.

    A Logpoint is a checkpoint that is defined with the statement LOG-POINT. When an active Logpoint is reached, a log entry is created. A Logpoint must be assigned to a checkpoint group.

    The statement LOG-POINT replaces the wrong usage of statement ASSERT with a condition that is always wrong for simply writing log entries