分享

ERP顾问的技能:ABAP调试和智能表单

 万里潮涌 2023-05-13 发布于浙江

SAPSAPSAPSAP

   

本文将介绍基本的ABAP调试和智能表单技能,使SAP顾问更加自给自足和独立。重点介绍关键技术和功能,并以两者的常见用例作为结束。

调试  

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

技术和特点  

以下是ABAP调试器的常见技术和功能。
 断点:程序源代码的特定行中的一个信号。该信号指示ABAP运行时处理器停止相关行的程序并启动ABAP调试器。
 F5键:以循序渐进的方式执行程序行。
 F6键:逐块执行程序(例如:方法、功能模块和子程序),而不进入单个代码块。
 F7键:一起执行块中的所有代码行(例如:方法、函数模块和子例程)。
 F8键:执行整个程序并退出事务(例外:如果程序中设置了多个断点,则程序将分别遍历其中的每个断点,直到到达最后一个断点)。

启动调试器模式  

调试可以通过两种方式启动。
在第一个命令中,在命令字段中键入/h,然后按enter键。然后,您将看到一条如下图所示的成功消息,指示调试模式已打开。如果按F8或单击执行按钮,会话将带您进入调试器工具,在那里您可以检查代码。
         图片
图片
第二种方法是在程序的特定行中放置一个断点。要执行此操作,请执行以下步骤:
1.通过事务代码SE38/SA38进入程序、功能模块或方法。
2.将光标放在要放置断点的行上。
3.单击下图所示的停止图标,然后执行程序。
4.您的会话将打开调试工具,编译器将停止在您保留断点的位置。
图片

调试用例   

让我们看看三个最常见的用例,其中基本的ABAP技能可以帮助我们调试和解决问题。
在第一种情况下,您需要查看错误的来源。您的用户正在遇到错误,需要您的帮助进行故障排除。逐行执行代码并转到错误消息将非常耗时。让我们看看使用调试工具在程序中快速查找错误消息的方法。
图片
假设下图表示用户看到的错误消息。
图片
您首先在系统上重现错误,然后执行以下操作。首先,单击错误消息,它会将您带到下面显示的屏幕,在那里您可以看到消息类别和消息编号。我们可以通过查看消息的类型来识别消息的类型。消息编号中有不同的部分,其中00表示消息类别,055表示消息编号。
图片
在错误屏幕上,在命令字段中键入/h,然后按enter键启动调试器。
图片
一旦您点击回车键,调试器工具将被激活并在另一个会话中打开。在调试器屏幕上,转到“菜单”>“断点”>“消息处的断点”打开以下屏幕,从中可以获取从错误消息中收集的信息。点击回车键。
图片
图片
按F8后,编译器将在发生错误的程序中停止。
在第二个用例中,通过转到调试器内的特定程序行来绕过代码块。考虑一下:您在调试器的程序行26中,想要忽略一些代码集/块,并且想要直接移到第39行。要实现这一点,请转到“菜单”>“调试器”>“转到语句”或按Shift+F12。
图片
在最后一个用例中,您希望检查变量、内部表和结构的数据。您可以将鼠标指针放在任何变量上,以了解其数据类型和特征。
图片
同样,如果用户想知道变量所用的数据,可以双击变量,在调试器屏幕右侧显示的变量窗口中查看其数据。
图片

智能表单SMARTFORM  

智能表单是SAP提供的一种用于维护PDF表单的工具,SAP系统的应用程序数据可以在该工具上输出。智能表单的事务代码是SMARTFORMS。

技术和特点  

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

使用案例  

下面是一个非常常见的用例,当拥有智能表单知识时,可以帮助您排除故障,并为最终用户和开发团队节省时间。
要调试智能表单或转到要进行故障排除的代码块,请执行以下步骤。首先,使用事务代码SMARTFORMS在测试系统中打开智能表单,然后单击“显示”
图片
您的智能表单将像下面这样打开。在左侧树状结构中,转到要调试的程序中的特定代码行。复制程序行并将其放在手边。
图片
由于我们试图保留一个断点,我们需要提前了解智能表单FM。要找到它,请转到菜单>环境>功能模块名称。
图片
使用事务代码SE37打开智能表单功能模块并导航到主程序,如图所示。
图片
打开主程序后,单击“查找”按钮,它看起来像下面屏幕截图中突出显示的双筒望远镜,以搜索从智能窗体复制的程序行。
图片
在主程序中搜索程序行,如下图所示。它会带你到使用它的地方。
图片
图片
找到程序行后,通过单击“停止”按钮并将光标保持在该行中来放置断点。
图片
接下来,执行驱动程序或重新运行事务以进行PDF输出。调试器工具将停止在用户保留断点的位置。然后,您可以按照本文前面概述的步骤来获得要调试的输出值。
结论  
希望这篇文章能让你对ABAP调试和智能表单的技术技能感到兴奋,并希望你能在SANDBOX系统中试用它们。

,

稿

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多