*&---------------------------------------------------------------------*
*& 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-多线程处理的更多相关文章

  1. ABAP单元测试最佳实践

    本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...

  2. ABAP实现屏幕自己刷新和跳转功能

    ABAP开发工程中,有时候需要让跳转出的屏幕自动实现跳转和刷新的功能,该功能的实现需要在屏幕PBO 里面调用相应的事件执行. 关键代码为: SET TITLEBAR ' 屏幕自动程序'. IF g_c ...

  3. 一步步实现ABAP后台导入EXCEL到数据库【3】

    在一步步实现ABAP后台导入EXCEL到数据库[2]里,我们已经实现计划后台作业将数据导入数据库的功能.但是,这只是针对一个简单的自定义结构的导入程序.在实践应用中,面对不同的表.不同的导入文件,我们 ...

  4. 一步步实现ABAP后台导入EXCEL到数据库【2】

    前文:http://www.cnblogs.com/hhelibeb/p/5912330.html 既然后台作业只能在应用服务器运行,那么,我们可以先将要上传的数据保存在应用服务器中,之后再以后台作业 ...

  5. 让ABAP开发者愈加轻松的若干快捷键

    引言 ABAP是一种和当代编程语言在许多方面有着相当不同的编程语言.ABAP的某些方面可能会让我们奇怪,为什么它会如此复杂?而它的某些方面又是那么杰出,给予了ABAP开发者们比其它任何语言更多的便利. ...

  6. ABAP游标的使用

    在Oracle,SQLServer中游标的使用是经常的,所以在ABAP不懂是不行的......     1.声明游标 OPEN CURSOR [WITH HOLD] <c> FOR SEL ...

  7. 一步步实现ABAP后台导入EXCEL到数据库【1】

    在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台 ...

  8. ABAP关键字SUBMIT的简单例子和学习小记

    网上有关SUBMIT实现程序调用的例子稍显复杂,而相关的参考和解释则不是很完善.本文给出一个SUBMIT的小示例程序(代码见文末),实现了最简单的程序间调用及返回值,以及SAP官方文档中相关内容的翻译 ...

  9. ABAP 常见查询问题解决方法

    在ABAP 编程的时候会遇到查询单条语句的时候数能取对  但是条目数多了的话 会出现数不准确的问题   原因可能出现在查询使用了二分法查询方式  二分法查询下必须按排序的字段排序  还得按照排序的字段 ...

  10. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

随机推荐

  1. Rstdio 中print中文乱码

    在Consol中输入 Sys.setlocale("LC_ALL","Chinese") 即可

  2. 开发框架-.Net:Learun(力软敏捷开发)

    ylbtech-开发框架-.Net:Learun(力软敏捷开发) 1.返回顶部   2.返回顶部 1. 系统简介:(1)后台采用MVC+EF架构,前台使用Jquery+Bootstrap,界面美观大气 ...

  3. 关于android中透明、半透明、百分比转换

    在xml文件中,可以直接写#0000,这个是全透明的效果.#9000这个值相当于56%的样子,因为颜色值是16进制的,#9000相当于(9/16)而百分比的话,大家可以按照这个比例来换算全透明 #00 ...

  4. 0002 - Spring MVC 拦截器源码简析:拦截器加载与执行

    1.概述 Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理.例如通过拦截器可以进行权限验证.记录请求信息的日 ...

  5. 为什么使能RPS/RFS, 或者RSS/网卡多队列后,QPS反而下降?

    http://laoar.github.io/blog/2017/05/07/rps/ TL;DR RPS 即receive side steering,利用网卡的多队列特性,将每个核分别跟网卡的一个 ...

  6. git解决冲突插件之Beyond Compare

    Beyond Compare主要作用: 1. 可以比较文件.文件夹的差异: 2. 将一个文件或文件夹的两个不同版本进行变更合并,生成一个输出. 基于以上两个特性,可以将beyond compare集成 ...

  7. Certbot免费https证书

    安装https 获取certbot客户端 wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto 停止nginxyunx service ...

  8. linux中tree命令

    需要安装tree包(安装:yum -y install tree). tree命令的选项说明如下: [ 匹配选项:] -L:用于指定递归显示的深度,指定的深度必须是大于0的整数. -P:用于显示统配符 ...

  9. chattr和lsattr命令的使用(对于root用户也无法修改删除的操作问题)

    1.chattr命令的用法:chattr [+-=] [ASacdistu] File/Directory 参数说明: +-= :分别为 [+ 增加] [- 减少] [= 设定] 属性的意思 A :当 ...

  10. IDEA集成git和使用步骤

    2018年07月20日 11:26:29 完猛 阅读数:3246    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/miwanmeng/artic ...