使用LEAVE TO LIST-PROCESSING在ABAP中转到列表模式

需积分: 9 7 下载量 164 浏览量 更新于2024-08-07 收藏 4.33MB PDF 举报
"本文档介绍了在SAP ABAP/4编程中如何从事务转换到列表过程,主要包括使用LEAVE TO LIST-PROCESSING语句和SUBMIT语句来生成列表和独立报告。LEAVE TO LIST-PROCESSING允许在对话模式和列表模式之间切换,无需参数传递,便于使用交互式报表工具。在列表模式中,可以自定义字段帮助和可能取值的显示。文章通过事务TZ70的示例进一步解释了转换过程,并提供了相关事件和特征的使用。同时,讨论了如何在对话模式中控制列表模式的工作方式,以及在不同场景下放置LEAVE TO LIST-PROCESSING逻辑的方法。" 在SAP ABAP/4编程中,当需要从事务生成列表时,可以采用两种主要方法:一是使用SUBMIT语句提交独立的报告,二是利用LEAVE TO LIST-PROCESSING语句。SUBMIT语句允许直接启动一个与当前事务分离的报表,而LEAVE TO LIST-PROCESSING则是在模块存储中生成列表,保持对事务数据的访问,避免参数传递。 LEAVE TO LIST-PROCESSING是关键语句,它用于将控制从对话模式转移到列表模式。在进入列表模式后,可以利用ABAP/4的所有交互式报表工具,如PROCESS ON VALUE-REQUEST和PROCESS ON HELP-REQUEST过程,以定制字段帮助和可能取值的显示。为了使用LEAVE TO LIST-PROCESSING,需要将其放在开始处理列表模式的代码中,它不仅切换到列表模式,还控制报表的输出位置。 在运行时,模块存储保持执行控制,可以在PBO(屏保事件)或PAI(屏保激活事件)中编写列表模式的逻辑代码。如果希望列表输出显示在当前屏幕之后,将LEAVE TO LIST-PROCESSING逻辑放在PAI的结尾;若要替代当前屏幕显示列表,可以将逻辑置于PBO中。无论哪种情况,当屏幕处理结束(如遇到LEAVE SCREEN或PAI结束),列表都将出现。 事务TZ70的示例展示了如何封装在单独子程序中的报表代码,通过PREPARE_LIST OUTPUT模块展示了如何使用LEAVE TO LIST-PROCESSING并返回到屏幕0,然后执行EDIT_LIST形式以生成列表。EDIT_LIST形式中设置了PF-STATUS、TITLEBAR,并进行了查询和数据写入。 SAP ABAP/4的列表处理机制提供了灵活的方式从事务生成和控制列表,使开发者能够创建高度定制的交互式报表,提高用户体验。通过掌握LEAVE TO LIST-PROCESSING和SUBMIT语句的使用,开发者能够更好地实现事务与列表之间的转换,优化业务流程。