SAP ABAP Adobe 表单中的无限循环



我已经在界面上完成了所有操作,选择等,传递了表单上的信息。最终,当我尝试从驱动程序执行它时,在选择打印设备,单击打印预览后,它会保持无休止的加载而不会返回任何内容。我以调试模式进入,并且信息已正确传递。 知道吗?

问题很可能是由您编写的代码中的无限循环(或一些需要一段时间才能执行的超重计算(引起的,而不是由标准功能引起的,这意味着我们不了解代码就真的无法为您提供帮助。


现在谈谈你的问题。 您可能会在 3 个位置中的 1 个位置找到您的问题(使用基本调试技术(:

[PDF 格式脚本]如果您有任何以PDF格式编写的脚本,我建议您使用具有相同界面的干净(空的新表单(进行测试。PDF表单脚本调试需要自己的问题,我在这里不讨论。

如果您编写了pdf表单脚本,请以干净的表单启动程序,看看它是否仍然卡住。如果没有 - 问题出在您的脚本中,如果确实如此 - 请继续执行下一步。

【打印程序】如果您使用自己的(非标(打印程序调用PDF函数模块,请在调用PDF函数模块时放置断点,job close函数模块。

启动程序,看看 PDF 表单的功能模块和job close功能模块是否被调用(我假设它被调用,因为您会看到打印弹出窗口(。如果两者都没有被调用,那么在进入 pdf 函数模块之前,您有一个无限循环。如果多次调用 PDF FM,但不是job close一次,则您的 pdf 功能模块处于无限循环中。如果两者都被调用,则问题不在程序中。

[表单接口]如果接口代码中有任何逻辑,请将断点(通过在代码中编写break-point(放在接口代码的末尾。

运行程序时,末尾的断点应触发。(如果没有 - 在您的界面中查找循环/长时间运行的代码。

如果问题出在界面或程序中,请在其开头放置一个断点,并逐步查看程序的执行方式,以找到卡住的位置。


您还可以使用 Sandra Rossi 建议的不同方法,并在程序卡住时启动调试器。请记住,这只有在它实际上是一个无限循环时才会对您有所帮助(它无助于查找错误的选择、错误的配置等(。

为此,请在1 个会话中启动程序,当程序卡住时,SM66另一个会话中的事务。在列表中找到您的程序(共SM66个(,选择它(通过单击最左侧的列(,然后从菜单中选择"管理"-"程序>>调试"。调试器应该打开,程序的"当前步骤"应该在你的无限循环中的某个地方(如果有的话(。


由于您没有提供代码或任何数据,因此我认为一旦找到问题,您就可以自行更正问题。

如果不是这些东西,请用一些细节更新您的答案,也许您会得到更具体的答案。

相关内容

  • 没有找到相关文章

最新更新