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.