Breakpoints
You use breakpoints to interrupt the program execution. You can set breakpoints either in the ABAP Editor or in the New Debugger. In the first case, you use the breakpoint as a signal at a particular point in the program that tells the ABAP runtime processor to interrupt processing and start the Debugger. In the second case, you execute the program directly in the Debugger and set breakpoints in debugging mode.
Two types of breakpoints exist.
...
Static breakpoints are useful only in the development phase of an application when program execution always has to be interrupted at the same point. Static breakpoints are set by an ABAP statement in the source code and can be two types:
● User non-specific
User non-specific breakpoints are inserted by the ABAP keyword BREAK-POINT. They apply to all users, thus once the development phase is over they must be deleted from the source code.
● User-specific
User-specific breakpoints are inserted by the ABAP keyword BREAK <USERNAME>. In this case, the system interrupts the program execution only if the specified user is running it. Once the developments phase is over, user-specific breakpoints must be deleted from the source code, otherwise they are transported to the production system.
● Group-specific
Group-specific breakpoints are inserted by the ABAP keyword BREAK <CHECKPOINT_GROUP>. In this case, the system interrupts the program execution only if the specified checkpoint group is activated.
For more information, see Activatable Checkpoints.
Dynamic breakpoints are user-specific. You use them if you want the program to be interrupted while you run it.
Dynamic breakpoints are more flexible than static breakpoints because you can create, deactivate, or delete them at runtime. When using dynamic breakpoints, you do not need to change the source code and can set them even when the program is locked by another user. In addition, you can define a counter that only activates the breakpoint after it has been reached a specified number of times.
Depending on where you have created them, there are the following types of breakpoints:
● Breakpoints created in the ABAP Editor.
In the ABAP Editor, you can create the following types of breakpoints:
○ Session breakpoints
Session breakpoints are valid for all external sessions of a logon session. They remain active regardless of whether the Debugger is running or not.

You can set a session breakpoint in an external session of a logon session. These breakpoints are active in all other external sessions of the same logon session, after the next user input. To force a program that is already running into a Debugger that runs in the same logon session, the breakpoint you set must be immediately activated. To do this, in the ABAP Editor, choose Settings → ABAP Editor → Debugging and select the Session Breakpoints Active Immediately checkbox.
We do not recommend that you use this feature in a productive system.
○ User breakpoints
These breakpoints are valid for all user logons of the current system on the current server. However, they are only valid for a period of two hours.
User breakpoints are specifically required when you debug a BSP or a Web Dynpro application. Any breakpoints must be set before you log on.
● Breakpoints created in the New Debugger
When you set a breakpoint in the New Debugger, it is a debugger breakpoint by default. A debugger breakpoint is valid only while the Debugger instance in which it was set is active. When the Debugger is closed, all debugger breakpoints are deleted.
You can create debugger breakpoints on specific lines or you can set several breakpoints simultaneously at points such as statements, exceptions, or stack changes. For example, if you set breakpoints at the SELECT statement, the system sets a breakpoint at every occurrence of the statement.
Inside the Debugger you create debugger breakpoints, but you can save them as session or user breakpoints.