ABAP-多线程处理
*&---------------------------------------------------------------------*
*& Report ZRICO_TEST26
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
report zrico_test26.
data:gv_taskname() type c, "task name(同时运行的任务名称必须保持唯一)
gv_classname type rzlli_apcl, "Server Group Name
gv_applserver type rzllitab-applserver. "RFC Serve Group
data:gv_lin type char10,
gv_job type i,
gv_end type c,
gv_mess() type c. "并发执行出错信息
data:begin of wa_tab,
num1 type vbap-kwmeng,
num2 type vbap-kwmeng,
num3 type vbap-kwmeng,
flg type c,
exflg type c,
taskname type string,
end of wa_tab.
data:gt_tab like table of wa_tab.
field-symbols:
<fs_tab> like wa_tab. start-of-selection. call 'C_SAPGPARAM' "#EC CI_CCALL
id 'NAME' field 'rdisp/myname'
id 'VALUE' field gv_applserver. select single classname
from rzllitab
into gv_classname "Server Group Name
where applserver = gv_applserver
and grouptype = 'S'. "S:服务器组,空:登陆组 "shift gv_classname left deleting leading space. do times.
gv_lin = gv_lin + .
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = gv_lin
importing
output = gv_lin. append initial line to gt_tab assigning <fs_tab>.
<fs_tab>-num1 = sy-index.
concatenate 'TASK' gv_lin into <fs_tab>-taskname.
condense <fs_tab>-taskname no-gaps.
unassign <fs_tab>.
enddo. loop at gt_tab assigning <fs_tab>.
clear:gv_end. write:/ <fs_tab>-taskname,'BEGIN'. call function 'ZRICO_NEW_TARK'
starting new task <fs_tab>-taskname
destination in group gv_classname
performing frm_subroutine_done on end of task
exporting
i_num = <fs_tab>-num1
exceptions
communication_failure = message gv_mess
system_failure = message gv_mess
resource_failure = .
if sy-subrc = .
<fs_tab>-exflg = 'Y'.
gv_job = gv_job + .
else.
<fs_tab>-exflg = 'N'.
endif. write:/ <fs_tab>-taskname,'END'. endloop. loop at gt_tab assigning <fs_tab>.
write:/ <fs_tab>-num1,<fs_tab>-num2,<fs_tab>-flg,<fs_tab>-exflg,<fs_tab>-taskname.
endloop. form frm_subroutine_done using gv_taskname.
data:lv_num type vbap-kwmeng.
field-symbols:
<fs_tab> like line of gt_tab. receive results from function 'ZRICO_NEW_TARK'
importing
e_num = lv_num. loop at gt_tab assigning <fs_tab>
where taskname = gv_taskname.
<fs_tab>-num2 = lv_num.
<fs_tab>-flg = 'X'.
endloop. gv_end = 'X'.
endform.
ABAP-多线程处理的更多相关文章
- ABAP单元测试最佳实践
本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...
- ABAP实现屏幕自己刷新和跳转功能
ABAP开发工程中,有时候需要让跳转出的屏幕自动实现跳转和刷新的功能,该功能的实现需要在屏幕PBO 里面调用相应的事件执行. 关键代码为: SET TITLEBAR ' 屏幕自动程序'. IF g_c ...
- 一步步实现ABAP后台导入EXCEL到数据库【3】
在一步步实现ABAP后台导入EXCEL到数据库[2]里,我们已经实现计划后台作业将数据导入数据库的功能.但是,这只是针对一个简单的自定义结构的导入程序.在实践应用中,面对不同的表.不同的导入文件,我们 ...
- 一步步实现ABAP后台导入EXCEL到数据库【2】
前文:http://www.cnblogs.com/hhelibeb/p/5912330.html 既然后台作业只能在应用服务器运行,那么,我们可以先将要上传的数据保存在应用服务器中,之后再以后台作业 ...
- 让ABAP开发者愈加轻松的若干快捷键
引言 ABAP是一种和当代编程语言在许多方面有着相当不同的编程语言.ABAP的某些方面可能会让我们奇怪,为什么它会如此复杂?而它的某些方面又是那么杰出,给予了ABAP开发者们比其它任何语言更多的便利. ...
- ABAP游标的使用
在Oracle,SQLServer中游标的使用是经常的,所以在ABAP不懂是不行的...... 1.声明游标 OPEN CURSOR [WITH HOLD] <c> FOR SEL ...
- 一步步实现ABAP后台导入EXCEL到数据库【1】
在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台 ...
- ABAP关键字SUBMIT的简单例子和学习小记
网上有关SUBMIT实现程序调用的例子稍显复杂,而相关的参考和解释则不是很完善.本文给出一个SUBMIT的小示例程序(代码见文末),实现了最简单的程序间调用及返回值,以及SAP官方文档中相关内容的翻译 ...
- ABAP 常见查询问题解决方法
在ABAP 编程的时候会遇到查询单条语句的时候数能取对 但是条目数多了的话 会出现数不准确的问题 原因可能出现在查询使用了二分法查询方式 二分法查询下必须按排序的字段排序 还得按照排序的字段 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
随机推荐
- springboot(运行原理参考借鉴)
什么是springboot答:Spring Boot makes it easy to create stand-alone, production-grade Spring based Applic ...
- 廖雪峰Java6IO编程-2input和output-1inputStream
1.InputStream 1.1InputStream是所有输入流的超类: int read() * 读取下一个字节,并返回字节(0-255) * 如果已读到末尾,返回-1 * read()方法是阻 ...
- 廖雪峰Java2面向对象编程-3继承和多态-2多态
1.重载 子类覆写父类的方法称为重载Override. 父类和子类拥有一摸一样的方法(方法的名字.返回值.参数是相同的,但是方法的语句是不一样的) 方法签名如果不同就不是重载,而是创建了一个新的方法. ...
- RPM安装MYSQL5.7
RPM安装MYSQL5.7 1:YUM安装依赖库 yum install perl libaio numactl 2:下载安装需要的RPM包 https://dev.mysql.com/get/Dow ...
- 运用PowerDesigner的反向工程,可以导入SQL脚本,从而生成物理模型
运用PowerDesigner的反向工程,可以导入SQL脚本,从而生成物理模型.方法/步骤 首先打开PowerDesigner,点击左上角“File”—>"Reverse Engine ...
- Linux系统安装(centos6.8)符破解码
1.安装 VMware VMware 是一个虚拟 PC 的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的 PC,我们可以在上面构造出一个或多个别的系统,以此来实现在一台机器上 ...
- 00010 - cut选取命令详解
定义 正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的.cut是以每一行为一个处理对象的,这种机制和sed是一样的 剪切依据 cut命令主要是接受三个定位方法: 第一,字节(by ...
- Javascript-多个数组是否有一样值
//判断给出的所有数组 是否都有一样的值 function arrIsEqual(){ var array=[]; for(var i=0;i<arguments.length;i++){ ar ...
- linux 安装scala
1. 下载scala 到scala官网下载scala https://www.scala-lang.org/download/,目前最新版本是2.12.8 wget https://downloads ...
- 怎样找到微信小程序功能呢?
怎样找到微信小程序功能呢? 17年1月9号这个功能刚推出时,非常火,但我在微信中迟迟找不到微信小程序功能,微信明明更新到了最新版也没有:后来经过以下步骤才找到这个功能! 1.微信版本不能过低,这个一般 ...