ABAP 7.4 及更高版本 [10]:调试复杂的 ABAP 表达式

2021-11-07 20:44发布


          点击此处--->   EasySAP.com 群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)

ABAP 表达式易于编写,并且通常比它们替换的早期语法更短,但理解使用表达式编写的代码有点困难并且需要时间。

调试它似乎要困难得多,因为在一条语句中发生了很多事情。

在这篇文章中,您将了解有助于调试 ABAP 表达式的 ABAP 调试功能。

考虑下面的代码,该代码使用表的 FOR 迭代构建用于显示的表。

targets = 
  VALUE #( FOR book IN bookings 
           ( carrid = book-carrid
             carrnm = carriers[ carrid = book-carrid ]-carrname          
             connid = booking-connid
             fldate = booking-fldate
             custom = customers[ id = booking-customid ]-name 
           ) 
         ).

声明中有几处READ。在调试此语句时,它会一次性执行。


F5 F6 具有相同的效果,即整个语句立即执行并填充目标表。

我们习惯于常规的 LOOP AT 语句,其中可以在循环中调试每个迭代。

LOOP AT bookings INTO booking.
...

ENDLOOP.


好消息是 SAP GUI New 调试器有一个功能可以帮助这里。坏消息是 Eclipse 调试器还没有这个特性。

要检查单个循环迭代,您必须启用 Step Debugger

如何启用步骤调试器?

单击工具栏中的 Step Size 以启用/禁用 Step Debugger

启用 Step Debugger 时,您将收到一条消息'Debugger increment changed to subcondition/statement'

现在,如果您在 VALUE # 语句中使用 F5(单步),则可以获得单个循环迭代的结果。这是在第三次迭代后添加的 3/7 表条目的示例。

要将其改回,只需再次按下按钮。

概括

可以轻松检查步长按钮以一次执行一次迭代。尝试一下。


赞赏支持