How to achieve conditional break point in your ABAP program

110 阅读1分钟

Background

有不同的同事问我这个问题:例如LOOP要执行1000次,我只对其中的某一次比如第501次循环感兴趣,我肯定不可能按500次F5.或者我只对 LOOP里某个变量为某一个具体值的那一次循环感兴趣。如果避免重复按F5, 而是让断点直接停在我想停的condition上面?

其实有三种方法实现。
Line 15 will be executed 1000 times. And we are only interested with a given iteration, for example we want to ONLY stop at line 15 with condition = 22.

Approach1 - Source code breakpoint in ABAP debugger

Create a new breakpoint in debugger dynamically:

Maintain your condition as below:

Then F8 to continue, the break point is triggered only once when = 22.

Approach2 - Watchpoint

Then:

Approach3 - ABAP debugger script

Create a new debugger script:

Click “Script Wizard”->“Variable Value(for Simple Variable)”:

The wizard will generate code automatically for you ( marked with red ). You can finish the left code to achieve conditional break( marked with blank ). Save your script with a name.

Now launch your program, load the saved Script:

Then click Start Script:

Break point is triggered only once:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":