后台JOB&EVENT JOB
SM35执行一个后台作业后,想及时停止,
运行SM37后,点击ctr + F1停止活动的作业,系统根本就没反应。
解决方法:
第一步:SM50,
找到,Ty.列为BGD的(Background),然后再找到你刚运行的那个后台Job的行,选中;然后在菜单点击:Process---Cancel with core. 即可。
第二步:SM37查看Background Job,应该为“取消”状态。
第三步:SM35,选中Session Name,点击小绿旗release即可。
http://blog.sina.com.cn/s/blog_76c57b480100rumm.html
How to define event background job in SAP?
以下为操作中会用到Function和T-code:
Function: BP_EVENT_RAISE
T-code:SM62、SM36、SM37
1. 首先来定义一个Event ID。
a.执行SM62
有关Event定义没有严格的要求,只要能辨别出是你的,用来触发那个Job就行了。
2. 为被触发程式(Program2)定义Background Job。
执行SM36(这里记录的是关键步骤,有疑问请复习一下SM36的使用。)
Start condition > After event >
通过红色标记选项处先出事先定义的Event,完成后保存。
3. 在触发程式(Program1)中调用激活触发事件的Function。
"以下是在程式开始定义的一个变量,也可以是一个常量。 PARAMETERS: P_EVENT() TYPE C OBLIGATORY DEFAULT 'Evt_TEST'. "以下是在程式最后定义的一个Group,也可以单一调用。 FORM AUTO_CREAT_WO_BY_GROUP. DATA: WRK_TIMES() TYPE C . DATA: WRK_EVENT() TYPE C . DO P_GROUP TIMES. WRK_TIMES = WRK_TIMES + . CONCATENATE P_EVENT WRK_TIMES INTO WRK_EVENT . CALL FUNCTION 'BP_EVENT_RAISE' EXPORTING EVENTID = WRK_EVENT OTHERS = . ENDDO. ENDFORM.
* 操作步骤3,保证程式中定义常量或者变量中已定义的或者将要定义的Event值要和你通过SM62定义的Event名称要一致
JOB_SUBMIT 示例程序:设置后台Job,更多功能请看函数组:BTCH
*&---------------------------------------------------------------------*
*& Report Z_BARRY_SET_JOB *
*& *
*&---------------------------------------------------------------------*
*& 设置后台Job,更多功能请看函数组:BTCH *
*&---------------------------------------------------------------------* REPORT z_barry_set_job . DATA: jobcount LIKE tbtcjob-jobcount.
DATA: abort TYPE c,
finish TYPE c,
prelim TYPE c,
ready TYPE c,
run TYPE c,
sched TYPE c. PARAMETERS: p_name LIKE tbtcjob-jobname OBLIGATORY DEFAULT 'Z_BARRY_TEST_JOB',
p_date LIKE sy-datum OBLIGATORY,
p_time LIKE sy-uzeit OBLIGATORY.
SELECT-OPTIONS s_rept FOR sy-repid NO INTERVALS OBLIGATORY . START-OF-SELECTION.
CALL FUNCTION 'JOB_OPEN' "定义一个Job
EXPORTING
jobname = p_name
IMPORTING
jobcount = jobcount "Job id
EXCEPTIONS
cant_create_job =
invalid_job_data =
jobname_missing =
OTHERS = .
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. LOOP AT s_rept .
CALL FUNCTION 'JOB_SUBMIT' "Scheduled 这个Job
EXPORTING
authcknam = sy-uname
jobcount = jobcount
jobname = p_name
report = s_rept-low
* VARIANT = 'TEST'
EXCEPTIONS
bad_priparams =
bad_xpgflags =
invalid_jobdata =
jobname_missing =
job_notex =
job_submit_failed =
lock_failed =
program_missing =
prog_abap_and_extpg_set =
OTHERS = .
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDLOOP. CALL FUNCTION 'JOB_CLOSE' "Release 这个Job
EXPORTING
jobcount = jobcount
jobname = p_name
sdlstrtdt = p_date
sdlstrttm = p_time
EXCEPTIONS
cant_start_immediate =
invalid_startdate =
jobname_missing =
job_close_failed =
job_nosteps =
job_notex =
lock_failed =
OTHERS = .
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. CALL FUNCTION 'SHOW_JOBSTATE'
EXPORTING
jobcount = jobcount
jobname = p_name
IMPORTING
aborted = abort
finished = finish
preliminary = prelim
ready = ready
running = run
scheduled = sched
EXCEPTIONS
jobcount_missing =
jobname_missing =
job_notex =
OTHERS = .
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. WRITE : / 'Canceled :' , abort ,
/ 'Finished :' , finish,
/ 'Scheduled Temporarily :' , prelim,
/ 'Ready for Execution :' , ready,
/ 'Active :' , run,
/ 'Scheduling Released :' , sched.
后台作业信息存储在透明表TBTCP(批作业步骤概述)中,试图V_OP中。
函数组BTCH中有很多方法可以处理。
* 取后台作业记录
SELECT *
INTO TABLE LI_OP
FROM V_OP
WHERE JOBNAME LIKE 'ZPSMAM_RFC%'
AND SDLUNAME = SY-UNAME
AND ( STATUS = 'A' OR STATUS = 'F' ).
PS:台作业状态(STATUS)信息和参数对照如下:
1 Active STATUS = R
2 就绪 STATUS = Y
3 已调度的 STATUS = P
4 已释放 STATUS = S
5 已取消 STATUS = A
6 已完成 STATUS = F
7 批准/暂停 STATUS = Z
* 删除后台记录
LOOP AT LI_OP INTO LW_OP.
CALL FUNCTION 'BP_JOB_DELETE'
EXPORTING
JOBCOUNT = LW_OP-JOBCOUNT
JOBNAME = LW_OP-JOBNAME
* FORCEDMODE = ' '
* COMMITMODE = 'X'
。。。。。。。。。。。
ENDLOOP.
---------------------
作者:SAP剑客
来源:CSDN
原文:https://blog.csdn.net/zhongguomao/article/details/79091618
版权声明:本文为博主原创文章,转载请附上博文链接!
后台JOB&EVENT JOB的更多相关文章
- 在SAP CRM WebClient UI中用javascript触发ABAP event
环境:SAP CRM WebClient UI 需求:在WebClient UI里不通过用户手动点击,而是使用JavaScript代码自动触发ABAP后台的代码. 解决方案: 1. 定义一个hidde ...
- Event-based Asynchronous Pattern Overview基于事件的异步模式概览
https://msdn.microsoft.com/zh-cn/library/wewwczdw(v=vs.110).aspx Applications that perform many task ...
- 源码解析-EventBus
示例使用 时序图 源码解读 EventBus 使用 官网定义:EventBus 是一个使用 Java 写的观察者模式,解耦的 Android 开源库.EventBus 只需要几行代码即可解耦简化代码, ...
- Diycode开源项目 LoginActivity分析
1.首先看一下效果 1.1.预览一下真实页面 1.2.分析一下: 要求输入Email或者用户名,点击编辑框,弹出键盘,默认先进入输入Email或用户名编辑框. 点击密码后,密码字样网上浮动一段距离,E ...
- 转 查看磁盘IO负载 - 看哪些进程在读写磁盘 以及oracle 异步I/O 和同步I/O
https://www.cnblogs.com/cloudstorage/archive/2012/11/11/2764623.html #####sample 1: Oracle等待事件db fil ...
- SAP后台JOB的Submit & EVENT JOB
SM35执行一个后台作业后,想及时停止, 运行SM37后,点击ctr + F1停止活动的作业,系统根本就没反应. 解决方法: 第一步:SM50, 找到,Ty.列为BGD的(Background),然后 ...
- 【事件中心 Azure Event Hub】关于EventHub中出现Error时候的一些问题(偶发错误,EventHub后台升级,用户端错误,Retry机制的重要性)
请问对偶发的定义是多少频率? 针对偶发的定义,主要是看发生的时间非常短,次数极少(如 10次以内),并且发生的时候EventHub其他分区或其他连接都是正常接收和发送数据.所以对于频率是没有明确的定义 ...
- 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇
什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...
- 基于jsp+servlet图书管理系统之后台万能模板
前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...
随机推荐
- 再eclipse的javaweb项目中添加JQuery文件时jquery-2.1.4.min.js报错
解决方法: eclipse导入jquery包后报错,下面有个不错的解决方法,需要的朋友可以参考下 eclipse导入jquery包后报错,处理步骤如下: 1.打开项目.project文件,去掉如下内容 ...
- Android中数据库Sqlite的性能优化
1.索引简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率.(1). 优点大大加快了数据库检索的速度,包括 ...
- (重)POJ 3020Antenna Placement
http://poj.org/problem?id=3020 呃...这个题不是很会,所以找了大神的博客做了参考,说得很详细 http://blog.csdn.net/lyy289065406/art ...
- su: /bin/bash: Permission denied
https://bbs.archlinux.org/viewtopic.php?id=105541 New user created as: groupadd mygroupuseradd -s /b ...
- show processlist 执行状态分析
Sleep状态 通常代表资源未释放,如果是通过连接池,sleep状态应该恒定在一定数量范围内 实战范例:因前端数据输出时(特别是输出到用户终端)未及时关闭数据库连接,导致因网络连接速度产生大量slee ...
- HDU 5044 TREE
题意:一棵树上两种操作,操作1,改变u到v的每一点的值增加k,操作2,改变u到v每一条边值增加k.最后结束时问,每一点和每一条边的值. 初始时,点和边的值都为0. 分析: 很显然要用树链剖分,将点和边 ...
- [译]GotW #4 Class Mechanics
你对写一个类的细节有多在行?这条款不仅注重公然的错误,更多的是一种专业的风格.了解这些原则将会帮助你设计易于使用和易于管理的类. JG Question 1. 什么使得接口“容易正确使用,错误使用却很 ...
- IPSEC实现
IPSEC介绍与实现 一.介绍 IPSec 协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议 Authentication Header(AH).封装安全载 ...
- Oracle系列之视图
涉及到表的处理请参看原表结构与数据 Oracle建表插数据等等 创建视图,把tb_Employee表sal<1000的雇员,映射到该视图( view) create or replace vi ...
- URAL1018. Binary Apple Tree
链接 简单树形DP #include <iostream> #include<cstdio> #include<cstring> #include<algor ...