What does it do? This statement defines a breakpoint>. The addition ID> controls the activation. Without the addition ID>, the breakpoint is always active.
Breakpoints in dialog processing> If the program reaches an active breakpoint during dialog processing>, the execution of the program is interrupted and the ABAP Debugger is opened. An inactive breakpoint is ignored and the program execution continues with the statement after BREAK-POINT>.
Breakpoints in background processing> During background processing>, program execution is not interrupted. When the program reaches a (permanently) active breakpoint (the addition ID> is not used), the entry 'Breakpoint reached' is written to the system log along with the program name and the location of the breakpoint in the program. Activatable breakpoints (where the addition ID> is used) are ignored. The program execution continues in both cases with the statement after BREAK-POINT>.
Breakpoints in updates> During synchronous> and asynchronous updates>, the behavior depends on the setting of the ABAP Debugger: If the ABAP Debugger is not set to update debugging>, a breakpoint behaves as in background processing. If the ABAP Debugger is set to update debugging>, a breakpoint behaves as in dialog processing. The update is executed in a dialog work process on the current application server.
During local updates>, a breakpoint behaves as in dialog processing.
Breakpoints on HTTP> servers> If an ABAP program is executed as an Internet Communication Framework>> (ICF>) HTTP> server, the system only stops at an active breakpoint and branches to the ABAP Debugger if external debugging is switched on. External debugging can be switched on for a limited time period (by default two hours) using transaction SICF>> or by setting an external breakpoint in the ABAP Editor. If external debugging is not switched on, the breakpoints behave as in background processing.
Breakpoints in system programs> In system programs, system modules, system subroutines, and system function modules whose name begins with %_ , the BREAK-POINT> statement is only respected if system debugging> is switched on in the ABAP Debugger (you do this in the Settings> menu or by entering '/hs'> in the command field of the system toolbar>). Otherwise, breakpoints are ignored. • ID BREAK-POINT
ABAP Addition
What does it do? The following applies when using the addition ID>: In dialog processing, activation from outside the program is controlled by a checkpoint group> group> or an activation variant >. The rules that apply to the ASSERT>> statement also apply when you specify the checkpoint group. However, you can only choose between inactive> and break> as operation mode. If the breakpoint with the addition ID> is used in background processing, during updates in the update work process, and when executing programs as HTTP> servers without external debugging, the breakpoint is always inactive.
Example ABAP Coding See Checkpoints and Checkpoint Groups>.
ABAP Addition
What does it do? You can enter a supplementary text for the system log inlog_text>. In dialog processing, log_text> has no effect. In background processing and during the update task >, the contents of log_text> in the system log are inserted between the words 'Breakpoint' and 'reached'. For log_text>, a flat>, character-like data object with a length of 40 characters is expected. If a data object of type string> is specified, it is ignored.
Latest notes:A breakpoint in SELECT>> loops can raise an exception due to the loss of the database cursor>. This is because a database commit> may be triggered during debugging. Breakpoints that are always active are used solely for test purposes and are not permitted in production programs. The BREAK-POINT> statement without the ID> addition therefore causes an error in the enhanced program check. BREAK> followed by a user name is not a statement, but a predefined macro>. The BREAK-POINT> statement defines a checkpoint> that is part of an ABAP program. In the ABAP Editor and ABAP Debugger, you can set and manage the following breakpoints without changing the source code: