SAP SUBMIT命令的多种用法解析

需积分: 10 2 下载量 4 浏览量 更新于2024-10-15 收藏 5KB TXT 举报
"这篇文章主要介绍了在SAP ABAP编程中SUBMIT命令的多种用法,包括最基础的执行报告、带有选择选项的提交、带有参数的提交,以及一些额外的特性,如返回到当前程序、使用自定义选择屏幕、指定选择集变体和将结果列表导出到内存。" 在SAP ABAP环境中,SUBMIT命令用于启动另一个ABAP程序或者运行报告,通常在主程序中调用。以下是对标题和描述中提到的SUBMIT的几种情况的详细解释: 1. 最普通的用法 这是最基础的SUBMIT命令形式,它直接执行一个指定的报告或程序。例如: ```abap SUBMIT Zreport. ``` 这行代码会无条件地运行名为Zreport的报告,不传递任何参数。 2. 带select-options的Submit的用法 在某些情况下,我们需要根据用户的选择来填充选择选项(select-options)并运行报告。这可以通过创建一个数据结构来存储选择选项,然后在SUBMIT中使用WITH SELECTION-TABLES来传递。例如: ```abap DATA: seltab TYPE TABLE OF rsparams, seltab_wa LIKE seltab.seltab_wa. seltab_wa-selname = 'PNPPERNR'. seltab_wa-sign = 'I'. seltab_wa-option = 'EQ'. LOOP AT pnppernr INTO seltab_wa. seltab_wa-low = pnppernr-low. APPEND seltab_wa TO seltab. ENDLOOP. SUBMIT zreport WITH SELECTION-TABLES seltab VIA SELECTION-SCREEN. ``` 上述代码首先定义了一个表seltab来存储选择选项,接着填充这个表,并在提交Zreport时,使用这些选择选项。 3. 带parameters的Submit的用法 当需要传递固定值作为参数给报告时,可以使用WITH关键字后面直接跟参数名和值。例如: ```abap SUBMIT zreport WITH p_param1 = 'value' WITH p_param2 = 'value'. ``` 这会将'p_param1'设置为'value','p_param2'也设置为'value',然后运行Zreport。 4. Submit后返回到当前程序 有时我们希望在提交报告后能立即回到当前程序,这时可以使用AND RETURN。例如: ```abap SUBMIT zreport AND RETURN. ``` 这将在执行Zreport后立即返回到调用它的程序。 5. 通过自定义选择屏幕提交 如果需要使用特定的选择屏幕,可以使用VIA SELECTION-SCREEN。例如: ```abap SUBMIT zreport VIA SELECTION-SCREEN. ``` 这将使用Zreport自身定义的选择屏幕来让用户输入参数。 6. 使用选择集变体提交 选择集变体允许预先定义一组选择条件,方便重复使用。通过USING SELECTION-SET,我们可以指定一个已存在的选择集变体。例如: ```abap SUBMIT zreport USING SELECTION-SET 'VARIANT1'. ``` 这将使用名为'VARIANT1'的变体来执行Zreport。 7. 将结果列表导出到内存 如果需要将报告的结果存储在内存中而不是显示在屏幕上,可以使用EXPORTING LIST TO MEMORY。例如: ```abap SUBMIT zreport EXPORTING LIST TO MEMORY. ``` 这会在报告完成后将结果保存在内存中,以便后续处理。 在编写ABAP程序时,了解SUBMIT的这些不同用法可以帮助我们更灵活地调用和控制其他程序的执行,从而满足不同的业务需求。