A breakpoint is an area in an ABAP program where the execution halts and turns on the debugging mode. The control is then transferred to the ABAP debugger, which further controls the execution of the program. Breakpoints are classified namely as session breakpoints, debugger breakpoints and static breakpoints. They can be active or passive at runtime and can be set for all users, specific users or based on a checkpoint. Breakpoints help in the debugging process of ABAP objects, and aid in evaluating only the concerned sections of ABAP code, whiles skipping the rest of the areas. Breakpoints also help programmers to analyze the programming statements and logic used in application developments.
In an SAP system, there is a restriction of setting up to 30 session, external or debugger breakpoints for a particular user instance. The following types of breakpoints are conceived for different application uses: Static Breakpoints: Recommended for use only during the development of an application where the program execution needs to be interrupted for analysis. Dynamic Breakpoints: These breakpoints are user-specific and can be used in any SAP system in the landscape. These breakpoints are erased once the user logs off the system. Dynamic breakpoints are more flexible than the static breakpoints as they offer the advantage of not having to change the program code and not having to affect other users. Session Breakpoints: These are useful mostly for SAP-GUI based applications. The session breakpoint can be set in ABAP editor with the help of an icon for a session breakpoint. External Breakpoints: They are similar to session breakpoints except these are valid for future and valid sessions with a time frame of two hours. Debugger Breakpoints: These breakpoints are set in the same window as ABAP debugger. The scope of the debugger breakpoint is limited to the current debugging session of the ABAP program.