Breakpoints interrupt the program execution and transfer the control to the ABAP Debugger.
There are the following types of breakpoints that were conceived for different application uses:
If you set a breakpoint in the ABAP Editor (SE38), then it is a session breakpoint or an external breakpoint . You can also set a breakpoint statement in the source text of the program.
You can initiate a debugging session in this way (the execution of an application is first interrupted and then the ABAP Debugger starts).
If you set a breakpoint in the window of the ABAP Debuggers, then this is a debugger breakpoint .
Debugger breakpoints can be set in addition in a debugging session that already exists.
The following restrictions apply:
Up to 30 session breakpoints, external breakpoints, and debugger breakpoints can be set.
A breakpoint is either active or inactive .
Only active breakpoints take effect. Inactive breakpoints are ignored at runtime.
With the ABAP Debugger tools you can manage external, session, and debugger breakpoints. For more information, see Managing Breakpoints in the ABAP Debugger. Breakpoint statement are ignored.
The main features of the individual breakpoint types are explained below.
With session breakpoints you can stop and debug requests that you trigger in the same user session where you have set the session breakpoints. They are therefore particularly useful for debugging SAP GUI-based applications.
You set a session breakpoint in the ABAP Editor (SE38) as a line breakpoint, that is, for a particular row of the source text. For more information, see Managing Breakpoints in the ABAP Editor. In addition to this, other breakpoint types can be coverted to session breakpoints during a debugging session. For more information, see Managing Breakpoints in the ABAP Debugger.
A session breakpoint is valid within all main modes (external modes) of the user session where it was set.
If you end the user session (by logging off the system), then all of the session breakpoints set in this session are deleted.
Session breakpoints are therefore no longer available for implicit new logons, for example when switching the server using transaction SM51.
However, you can first save session breakpoints that are valid in the current user session in the database and reload them in another user session. See: Managing Debugger Sessions
External breakpoints (previously known as: User breakpoints) apply to the current user session in the same way as session breakpoints. In addition to this, they remain valid for future user sessions. This does not only mean dialog sessions, but also sessions initiated with RFC or HTTP requests.
You can debug applications with external breakpoints, that use the RFC interface or HTTP protocol ( External Debugging). Functions modules, Web services and Web Dynpro applications, and BSP applications also belong to this.
An external breakpoint can apply to:
A user in the current SAP system
A user in the current application server of the current SAP system
User sessions started by a request that has a specific terminal ID.
You can set external breakpoints:
In the ABAP Editor (SE38) as line breakpoints, that is, for a specific line of the source text. For more information, see Managing Breakpoints in the ABAP Editor.
in transaction SICF.
Other breakpoint types can be coverted to session breakpoints during a debugging session. For more information, see Managing Breakpoints in the ABAP Debugger.
External breakpoints are active for two hours. They are then deactivated. If an external breakpoints is set then all external breakpoints that had previously been set are reactivated.
External breakpoints apply on the calendar day that they are set. They are deleted in the first minute of the next calendar day (at midnight).
Debugger breakpoints are breakpoints that you set in the window of the ABAP Debugger.
There are the following kinds of debugger breakpoints:
Line breakpoints that you set in specific lines of the source test are the same as setting breakpoints in the ABAP Editor.
Line breakpoints that you define for specific situations and which the system implicitly sets, for the relevant row in the source text:
Breakpoints at subroutines
Breakpoints at function modules
Breakpoints at methods
Breakpoints at source code
Breakpoint at ST template
Breakpoints at Web Dynpro
Dynamic breakpoints that you define for specific situations which are not assigned to a specific row in the source text. This includes:
Breakpoints at statements
Breakpoints at exceptions
Breakpoints at stack changes (program/procedure switch - change in the ABAP + Dynpro stack)
Breakpoints at imprecise DECFLOAT calculations
Breakpoints at messages
You set debugger breakpoints in the ABAP Debugger window during a debugging session that already exists. For more information, see Managing Breakpoints in the ABAP Debugger.
A debugger breakpoint applies to the whole current debugging sessions (all internal and main modes).
When the Debugger is closed, all debugger breakpoints are deleted. You can ovoid this by converting them first to session breakpoints or external breakpoints. For more information, see Managing Breakpoints in the ABAP Debugger.
Breakpoint statements are ABAP statements that represent breakpoints contained in the source text of the program.
A breakpoint of this type can be active at runtime:
For all users
For a specific user
If a specific cheakpoint group is active.
You can only add or delete breakpoint statements in the development phase by modifying the source text of the program. For more information, see Breakpoint Statements.
The ABAP Debugger tools do not manage them.
Session breakpoints, external breakpoints, and debugger breakpoints are more flexible than breakpoint statements: They can be created at runtime and managed with the tools of the ABAP Debugger (for example, activated and deactivated). The source text of the program must not be modified as well.