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 ...
随机推荐
- BIO & NIO & NIO常见框架
BIO & NIO BIO - Blocking IO - 同步式阻塞式IO --- UDP/TCP NIO - New IO - 同步式非阻塞式IO AIO - Asynchronous ...
- 数据库SQL语言学习--上机练习4(视图)
上机练习4 一.实验目的 . 熟悉和掌握对数据表中视图的查询操作和 SQL 命令的使用: . 熟悉和掌握对数据表中视图的更新操作和 SQL 命令的使用,并注意视图更新与基本表更新的区别与联系: . 学 ...
- Scrapy学习篇(一)之框架
概览 在具体的学习scrapy之前,我们先对scrapy的架构做一个简单的了解,之后所有的内容都是基于此架构实现的,在初学阶段只需要简单的了解即可,之后的学习中,你会对此架构有更深的理解.下面是scr ...
- MFC (如何通过点击botton打开一个文件夹/文件)
1.建一个MFC的工程,类型为基于对话框.在工具箱里拖进去一个button按键,如下图. 2.双击button1按键就可以进入到点击button1后要执行操作的代码,编写如下代码实现网页/文件夹或者文 ...
- 一个简单的基于多进程实现并发的Socket程序
在单进程的socket的程序的基础上,实现多进程并发效果的思路具体是:在server端开启“链接循环”,每建立一次链接就生成一个Process对象进行server-client的互动,而client端 ...
- MySQL 之迁移用户及权限
参考来源: https://www.cnblogs.com/huangmr0811/p/5570994.html https://blog.csdn.net/u011665746/article/de ...
- spark streaming插入hbase
import java.sql.{DriverManager, ResultSet} import org.apache.spark._ import org.apache.spark.streami ...
- Linux性能优化 第三章 性能工具:系统内存
3.1内存性能统计信息 3.1.1 内存子系统和性能 和CPU相比,内存的读写速度都大大落后于CPU.为了弥补这个差距,通常CPU会采用高速缓存的机制(高cache). 3.1.2 内存子系统(虚拟存 ...
- 迭代器 -> 固定的思路. for循环
一个数据类型中包含了__iter__函数表示这个数据是可迭代的 dir(数据): 返回这个数据可以执行的所有操作 判断迭代器和可迭代对象的方案(野路子) __iter__ 可迭代的 __iter__ ...
- 【Selenium-WebDriver问题篇】Selenium实现元素的拖拽(java版)(转)
https://blog.csdn.net/u010503127/article/details/51381284 Selenium实现元素的拖拽(java版) [前言] 自从淘宝网登陆页出现滑块验证 ...