SAP ABAP子程序SUBMIT调用的方法
来源:互联网 发布:方圆彩平软件 编辑:程序博客网 时间:2024/05/22 21:40
编写两个程序 ZTEST06 和 ZTEST07 , 在ZTEST06 里调用ZTEST07 程序。
ZTEST06 作用是收集并整理数据,并存放到内存
ZTEST07 从内存取到数据,并列印出来
ZTEST06程序代码如下:
*&---------------------------------------------------------------------*
*& Report ZTEST06
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTEST06.
*----------------------------------------------------------------------*
* define internal tables
* 定义内表
*
*----------------------------------------------------------------------*
DATA : BEGIN OF W_DATA,
FID1 TYPE STRING,
NUM1 TYPE I ,
NUM2 TYPE I ,
END OF W_DATA.
DATA : T_OUT LIKE W_DATA OCCURS 0 WITH HEADER LINE .
*----------------------------------------------------------------------*
* assign value to internal tables
* 给内表赋值
*
*----------------------------------------------------------------------*
DO 10 TIMES .
IF SY-INDEX < 4 .
T_OUT-FID1 = 'A' .
T_OUT-NUM1 = SY-INDEX .
T_OUT-NUM2 = SY-INDEX + 1 .
ELSEIF SY-INDEX < 7 .
T_OUT-FID1 = 'B' .
T_OUT-NUM1 = SY-INDEX + 1 .
T_OUT-NUM2 = SY-INDEX + 2 .
ELSE .
T_OUT-FID1 = 'C' .
T_OUT-NUM1 = SY-INDEX .
T_OUT-NUM2 = SY-INDEX - 1 .
ENDIF .
APPEND T_OUT.
ENDDO .
*-----------------------------------------------------------------------*
* call extenral program
* 调用外部程序
*
*-----------------------------------------------------------------------*
*** 使用ABAP内存进行数据传递
EXPORT T_OUT TO MEMORY ID 'T_OUT' .
*** 以下两种情况是调用程序被结束,被调用程序开始执行
* SUBMIT ZWRITE_DATA.
*** 如果使用这种情况程序之间的数据访问就不能ABAP内存访问了
* LEAVE TO TRANSACTION 'ZGET_DATA'.
*** 以下两种情况是调用程序被打断,当被调用程序执行完毕之后,调用程序继续执行
SUBMIT ZTEST07 AND RETURN .
*** 调用事物代码(和SUBMIT <PROGRAM> AND RETURN的效果一样) 将程序 ZTEST07 设一个 事务码 ZGET_DATA
* CALL TRANSACTION 'ZGET_DATA'.
ZTEST07程序代码如下:
*&---------------------------------------------------------------------*
*& Report ZTEST07
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
report ztest07.
*----------------------------------------------------------------------*
* define internal tables
* 定义内表
*
*----------------------------------------------------------------------*
data : begin of w_data, "这里定义一个跟调用程序一样的内表结构
fid1 type string,
num1 type i ,
num2 type i ,
end of w_data.
data : t_out like w_data occurs 0 with header line .
*----------------------------------------------------------------------*
* get data from sap memory and write out
* 从SAP内存读取数据然后打印输出
*
*----------------------------------------------------------------------*
import t_out from memory id 'T_OUT' .
free memory id 'T_OUT' .
write : sy-uline .
write : '从调用程序取到的数据如下:' .
loop at t_out.
write : / ' ' ,t_out-fid1, t_out-num1, t_out-num2.
endloop .
write : sy-uline .
*** 退出程序
* leave program.
当然上面的功能完全可以放在一个程序里又简单又简洁,
只是举这么个简单例子说明 SUBMIT 是怎么用的。至于什么样的情况要这样使用,那么就是具体问题具体解决了。
作者: SAP道长
- SAP ABAP子程序SUBMIT调用的方法
- SAP ABAP子程序SUBMIT调用的方法
- SAP ABAP中动态方法调用
- ABAP程序调用之SUBMIT
- sap abap程序之间的调用
- sap abap程序之间的调用
- sap abap程序之间的调用
- abap submit 的使用方法
- ABAP中对其他程序的调用(SUBMIT)
- SAP&Java WebService(二) ----ABAP调用SAP生成的WebService
- SAP ABAP实现LOG显示的方法
- SAP ABAP图标查找的方法
- abap子程序
- ABAP之程序相互调用--SUBMIT
- ABAP之程序相互调用--SUBMIT
- ABAP之程序相互调用--SUBMIT
- ABAP--调用SAP的单位转换函数进行单位转换
- ABAP--调用SAP的单位转换函数进行单位转换
- Window 下安装 redis
- 【Linux基础】C的构造类型
- 计算机视觉之跟踪算法——相关滤波器Correlation Filter
- MySQL索引背后的数据结构及算法原理
- 数据结构之双向链表(java版)
- SAP ABAP子程序SUBMIT调用的方法
- cpu卡分类
- Java读取Excel(包括2003和2007)
- 解决Axure发布分享预览的3个方法
- window.open被浏览器拦截
- Oracle Translate 统计字符出现的次数
- Winform 多线程查询数据
- Pandas 同元素多列去重
- DUT 1089 A Water Problem