声明:本文仅代表原作者观点,仅用于SAP软件的应用与学习,不代表SAP公司。注:文中所示截图来源SAP软件,相应著作权归SAP所有。
本文将介绍基本的ABAP调试和智能表单技能,使SAP顾问更加自给自足和独立。重点介绍关键技术和功能,并以两者的常见用例作为结束。调试
ABAP调试器是SAP提供的一种用于检查ABAP代码的编程工具。使用此工具,您可以显示数据对象并检查ABAP程序的流逻辑。换句话说,您可以对任何一段ABAP代码执行逐步分析和故障排除。技术和特点
断点:程序源代码的特定行中的一个信号。该信号指示ABAP运行时处理器停止相关行的程序并启动ABAP调试器。 F6键:逐块执行程序(例如:方法、功能模块和子程序),而不进入单个代码块。 F7键:一起执行块中的所有代码行(例如:方法、函数模块和子例程)。 F8键:执行整个程序并退出事务(例外:如果程序中设置了多个断点,则程序将分别遍历其中的每个断点,直到到达最后一个断点)。启动调试器模式
在第一个命令中,在命令字段中键入/h,然后按enter键。然后,您将看到一条如下图所示的成功消息,指示调试模式已打开。如果按F8或单击执行按钮,会话将带您进入调试器工具,在那里您可以检查代码。第二种方法是在程序的特定行中放置一个断点。要执行此操作,请执行以下步骤:1.通过事务代码SE38/SA38进入程序、功能模块或方法。4.您的会话将打开调试工具,编译器将停止在您保留断点的位置。调试用例
让我们看看三个最常见的用例,其中基本的ABAP技能可以帮助我们调试和解决问题。在第一种情况下,您需要查看错误的来源。您的用户正在遇到错误,需要您的帮助进行故障排除。逐行执行代码并转到错误消息将非常耗时。让我们看看使用调试工具在程序中快速查找错误消息的方法。您首先在系统上重现错误,然后执行以下操作。首先,单击错误消息,它会将您带到下面显示的屏幕,在那里您可以看到消息类别和消息编号。我们可以通过查看消息的类型来识别消息的类型。消息编号中有不同的部分,其中00表示消息类别,055表示消息编号。在错误屏幕上,在命令字段中键入/h,然后按enter键启动调试器。一旦您点击回车键,调试器工具将被激活并在另一个会话中打开。在调试器屏幕上,转到“菜单”>“断点”>“消息处的断点”打开以下屏幕,从中可以获取从错误消息中收集的信息。点击回车键。在第二个用例中,通过转到调试器内的特定程序行来绕过代码块。考虑一下:您在调试器的程序行26中,想要忽略一些代码集/块,并且想要直接移到第39行。要实现这一点,请转到“菜单”>“调试器”>“转到语句”或按Shift+F12。在最后一个用例中,您希望检查变量、内部表和结构的数据。您可以将鼠标指针放在任何变量上,以了解其数据类型和特征。同样,如果用户想知道变量所用的数据,可以双击变量,在调试器屏幕右侧显示的变量窗口中查看其数据。智能表单SMARTFORM
智能表单是SAP提供的一种用于维护PDF表单的工具,SAP系统的应用程序数据可以在该工具上输出。智能表单的事务代码是SMARTFORMS。技术和特点
一旦创建并激活了一个表单,它就会生成一个用于驱动程序的功能模块。由于此功能模块名称是动态的,因此驱动程序在运行时使用SAP提供的特殊FM(“SSF_function_module_name”)来确定功能模块名称。在确定智能表单功能模块名称后,驱动程序调用智能表单FM来创建输出。使用案例
下面是一个非常常见的用例,当拥有智能表单知识时,可以帮助您排除故障,并为最终用户和开发团队节省时间。要调试智能表单或转到要进行故障排除的代码块,请执行以下步骤。首先,使用事务代码SMARTFORMS在测试系统中打开智能表单,然后单击“显示”您的智能表单将像下面这样打开。在左侧树状结构中,转到要调试的程序中的特定代码行。复制程序行并将其放在手边。由于我们试图保留一个断点,我们需要提前了解智能表单FM。要找到它,请转到菜单>环境>功能模块名称。使用事务代码SE37打开智能表单功能模块并导航到主程序,如图所示。打开主程序后,单击“查找”按钮,它看起来像下面屏幕截图中突出显示的双筒望远镜,以搜索从智能窗体复制的程序行。在主程序中搜索程序行,如下图所示。它会带你到使用它的地方。找到程序行后,通过单击“停止”按钮并将光标保持在该行中来放置断点。接下来,执行驱动程序或重新运行事务以进行PDF输出。调试器工具将停止在用户保留断点的位置。然后,您可以按照本文前面概述的步骤来获得要调试的输出值。希望这篇文章能让你对ABAP调试和智能表单的技术技能感到兴奋,并希望你能在SANDBOX系统中试用它们。版权归原作者所有,如有侵权请联系删除。
免责声明:本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容!本文内容为原作者观点,并不代表本公众号赞同其观点和对其真实性负责。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。