SAP SUBMIT命令的多种用法解析
需积分: 10 156 浏览量
更新于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的这些不同用法可以帮助我们更灵活地调用和控制其他程序的执行,从而满足不同的业务需求。
2011-08-22 上传
2020-12-13 上传
2023-06-11 上传
2021-06-25 上传
2013-05-16 上传
2009-07-06 上传
2009-01-19 上传
2023-08-08 上传
CharlieHume
- 粉丝: 0
- 资源: 8
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建