SAP顾问技能:ABAP调试

38 篇文章 68 订阅

我们将介绍这两个主题,重点介绍关键技术和功能,并总结两者的常见使用案例。

一、Debugging调试

ABAP 调试器是 SAP 提供的用于检查 ABAP 代码的编程工具。使用此工具,您可以显示数据对象并检查 ABAP 程序的流程逻辑。换句话说,您可以对任何一段 ABAP 代码执行分步分析和故障排除。

技术和特点

以下是 ABAP 调试器的常用技术和功能。

  • 断点Breakpoint:程序源代码特定行中的信号。该信号指示 ABAP 运行时处理器在相关行停止程序并启动 ABAP 调试器。

  • F5 键:逐步执行程序行。

  • F6 键:逐块执行程序(例如:方法、功能模块和子程序),而不进入单独的代码块。

  • F7 键:一起执行块中的所有代码行(例如:方法、功能模块和子程序)。

  • F8键:执行整个程序并退出事务(例外:如果程序内设置了多个断点,则程序将逐个遍历每个断点,直到到达最后一个断点)。

启动调试器模式

可以通过两种方式启动调试。

首先,您在命令字段中键入 /h 并按回车键。然后您将看到如下图所示的成功消息,表示调试模式已打开。如果您按 F8 或单击执行按钮,会话将带您进入调试器工具,您可以在其中检查代码。

在第二种方式中,您在程序的特定行中放置一个断点。为此,请按照下列步骤操作:

  1. 通过事务代码 SE38/SA38 进入程序、功能模块或方法。

  2. 将光标放在要放置断点的行上。

  3. 单击下图所示的停止图标并执行程序。

  4. 您的会话将打开调试工具,编译器将在您保留断点的位置停止。

调试用例

让我们看一下基本 ABAP 技能可以帮助我们调试和解决问题的三个最常见的用例。

在第一种情况下,您需要查看错误的来源——您的用户遇到错误并需要您的帮助进行故障排除。逐行执行代码并转到错误消息将非常耗时。让我们看一下使用调试工具在程序中快速查找错误消息的方法。

假设下图表示用户看到的错误消息。

您首先在系统上重现错误,然后执行以下操作。 首先,单击错误消息,这会将您带到下图所示的屏幕,您可以在其中看到消息类别和消息编号。 我们可以通过查看消息的类型来识别消息类型是什么。 消息号中有不同的部分,其中 00 代表消息类别,055 是消息号。

在错误屏幕上,在命令字段中键入 /h 并按 Enter 键以启动调试器。

点击回车后,调试器工具将被激活并在另一个会话中打开。在调试器屏幕上,转到 Menu > Breakpoint > Breakpoint at > Breakpoint at Message 以打开以下屏幕,您可以在其中获取从错误消息中收集的信息。点击进入。 

按 F8 后,编译器将停止在发生错误的程序中。

在第二个用例中,您通过转到调试器内的特定程序行来绕过代码块。考虑:您在调试器的第 26 行程序中,想忽略几组/代码块,并想直接移至第 39 行。为此,请转到 Menu > Debugger > Go to Statement 或按 Shift + F12。

在最后一个用例中,您要检查变量、内部表和结构的数据。您可以将鼠标指针放在任何变量上以了解其数据类型和特征。

同样,如果用户想知道变量使用的数据,您可以双击变量以在调试器屏幕右侧显示的变量窗口中查看其数据。

 

二、Smart Forms

Smart forms是 SAP 提供的用于维护 PDF 表单的工具,可以输出来自 SAP 系统的应用程序数据。Smart forms的事务代码是 SMARTFORMS。

技术和特点

一旦创建并激活了一个表单,它就会生成一个用于驱动程序的功能模块。由于此功能模块名称是动态的,驱动程序使用 SAP 提供的特殊 FM(“SSF_FUNCTION_MODULE_NAME”)在运行时确定功能模块名称。

确定smart form功能模块名称后,驱动程序调用smart form FM创建输出。

用例

下面是一个非常常见的用例,当拥有smart form知识时,它可以帮助您排除故障并为最终用户和开发团队节省时间。 

要调试smart form或转到要进行故障排除的代码块,请按照以下步骤操作。首先,使用 事务代码 SMARTFORMS 在您的测试系统中打开smart form,然后单击“display”显示。

您的smart form将如下所示打开。在左侧的树状结构中,转到您要调试的程序中的特定代码行。复制程序行。

由于我们试图保持断点,因此我们需要预先了解smart form FM。要找到它,请转到Menu > Environment > Function Module Name.。

使用事务代码SE37 打开smart form功能模块并导航到主程序,如图所示。

打开主程序后,单击下面屏幕截图中突出显示的“Find”按钮查找(看起来像双筒望远镜),以搜索从smart form复制的程序行。

在主程序中搜索程序行,如下图所示。它将带您到使用它的地方。

找到程序行后,通过单击“Stop”按钮停止并将光标保持在该行中来放置断点。 

接下来,执行驱动程序或重新运行 PDF 输出的事务。调试器工具将停止在用户保留断点的位置。然后,您可以按照本文前面概述的步骤来获得要调试的输出值。

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值