这一节主要对后台作业(Batch JOB)中一些平时不怎么用到的内容做一下整理,有需要对后台作业进行控制的同行可以学习参照,比如定时批量对一部分作业进行状态的变更,控制运行中作业的数量等等。

1、SAP后台JOB相关系统表:TBTC*

主要的有 :

  • TBTCO - 作业状态概述表
  • TBTCP - 批作业步骤概述

2、JOB的状态: 可以使用系统函数查看  BDL_READ_JOB_STATUS  或者是自己去表 TBTCO 中查找(根据STATUS 字段判断是否完成)。

  1. R 活动的(运行中)
  2. Y 就绪的
  3. P 已调度的
  4. S 已释放
  5. A 已取消(出错终止)
  6. F 已完成(结束)
  7. Z Released/Susp.(无中文)

JOB运行时间:TBTCO中有开始日期开始时间和结束日期结束时间,两者直接相减就得出JOB运行的时间。

3、JOB日志查看:系统中的日志好像是没有存放在系统表而是文件中,可以通过函数 BP_JOBLOG_READ 获取,传入JOB名和JOB编号就可以获得日志信息。

"例如:获取失败日志

DATA:lt_log TYPE TABLE OF tbtc5 WITH HEADER LINE.

CALL FUNCTION 'BP_JOBLOG_READ'
      EXPORTING
        client                = sy-mandt
        jobcount              = lw_job-jobcount
        jobname               = lw_job-jobname
      TABLES
        joblogtbl             = lt_log
      EXCEPTIONS
        cant_read_joblog      = 1
        jobcount_missing      = 2
        joblog_does_not_exist = 3
        joblog_is_empty       = 4
        joblog_name_missing   = 5
        jobname_missing       = 6
        job_does_not_exist    = 7
        OTHERS                = 8.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

4、Job状态的更改:可以通过函数BP_JOB_MODIFY来修改。

*&---------------------------------------------------------------------*
*&      Form  MODIFY_JOB_NAME
*&---------------------------------------------------------------------*
*       Modify user name for job owner
*----------------------------------------------------------------------*
*      -->P_LV_JOBNUM  text
*      -->P_GV_JOBNAME  text
*----------------------------------------------------------------------*
FORM modify_job_name  USING    p_lv_jobnump_gv_jobname.DATA: ls_jobhead TYPE tbtcjob,lt_jobstep TYPE STANDARD TABLE OF tbtcstep.CALL FUNCTION 'BP_JOB_READ'EXPORTINGjob_read_jobcount     = p_lv_jobnumjob_read_jobname      = p_gv_jobnamejob_read_opcode       = '20'IMPORTINGjob_read_jobhead      = ls_jobheadTABLESjob_read_steplist     = lt_jobstepEXCEPTIONSinvalid_opcode        = 1job_doesnt_exist      = 2job_doesnt_have_steps = 3OTHERS                = 4.IF sy-subrc <> 0.ENDIF.
*** ls_jobhead-sdluname = 'BATCH_NEW'.CALL FUNCTION 'BP_JOB_MODIFY'EXPORTINGdialog                     = 'N'jobcount                   = p_lv_jobnumjobname                    = p_gv_jobname
***   new_jobhead                = ls_jobheadopcode                     = '18'IMPORTINGmodified_jobhead           = ls_jobheadTABLESnew_steplist               = lt_jobstepEXCEPTIONScant_derelease_job         = 1cant_enq_job               = 2cant_read_jobdata          = 3cant_release_job           = 4cant_set_jobstatus_in_db   = 5cant_start_job_immediately = 6cant_update_jobdata        = 7eventcnt_generation_error  = 8invalid_dialog_type        = 9invalid_new_jobdata        = 10invalid_new_jobstatus      = 11invalid_opcode             = 12invalid_startdate          = 13job_edit_failed            = 14job_modify_canceled        = 15job_not_modifiable_anymore = 16nothing_to_do              = 17no_batch_on_target_host    = 18no_batch_server_found      = 19no_batch_wp_for_jobclass   = 20no_modify_privilege_given  = 21no_release_privilege_given = 22no_startdate_no_release    = 23target_host_not_defined    = 24tgt_host_chk_has_failed    = 25invalid_targetgroup        = 26conflicting_targets        = 27OTHERS                     = 28.IF sy-subrc <> 0.ENDIF.
ENDFORM.

上面的函数中需要注意一个参数:opcode ,下面则是这个参数的具体对照解释。

  btc_edit_btcctl_tbl       LIKE btch0000-int4 VALUE  1,
  btc_show_btcctl_tbl       LIKE btch0000-int4 VALUE  2,
  btc_edit_user_eventids    LIKE btch0000-int4 VALUE  3,
  btc_show_user_eventids    LIKE btch0000-int4 VALUE  4,
  btc_edit_system_eventids  LIKE btch0000-int4 VALUE  5,
  btc_show_system_eventids  LIKE btch0000-int4 VALUE  6,
  btc_edit_steplist         LIKE btch0000-int4 VALUE  7,
  btc_show_steplist         LIKE btch0000-int4 VALUE  8,
  btc_show_variantlist      LIKE btch0000-int4 VALUE  9,
  btc_create_job            LIKE btch0000-int4 VALUE 10,
  btc_edit_job              LIKE btch0000-int4 VALUE 11,
  btc_show_job              LIKE btch0000-int4 VALUE 12,
  btc_check_only            LIKE btch0000-int4 VALUE 13,
  btc_edit_startdate        LIKE btch0000-int4 VALUE 14,
  btc_show_startdate        LIKE btch0000-int4 VALUE 15,
  btc_modify_whole_job      LIKE btch0000-int4 VALUE 16,
  btc_release_job           LIKE btch0000-int4 VALUE 17,
  btc_derelease_job         LIKE btch0000-int4 VALUE 18,
  btc_read_jobhead_only     LIKE btch0000-int4 VALUE 19,
  btc_read_all_jobdata      LIKE btch0000-int4 VALUE 20,
  btc_joblist_edit          LIKE btch0000-int4 VALUE 21,
  btc_joblist_show          LIKE btch0000-int4 VALUE 22,
  btc_joblist_select        LIKE btch0000-int4 VALUE 23,
  btc_joblog_show           LIKE btch0000-int4 VALUE 24,
  btc_edit_omset            LIKE btch0000-int4 VALUE 25,
  btc_show_omset            LIKE btch0000-int4 VALUE 26,
  btc_show_oms_sdl_tbl      LIKE btch0000-int4 VALUE 27,
  btc_show_xpgm_list        LIKE btch0000-int4 VALUE 28,
  btc_close_job             LIKE btch0000-int4 VALUE 29,
  btc_varjoblist_select     LIKE btch0000-int4 VALUE 30,
  btc_varlist_select        LIKE btch0000-int4 VALUE 31,
  btc_performance_list      LIKE btch0000-int4 VALUE 32,
  btc_performance_info      LIKE btch0000-int4 VALUE 33,
  btc_batchproces_list      LIKE btch0000-int4 VALUE 34,
  BTC_DONT_READ_PRIPARAMS   LIKE BTCH0000-INT4 VALUE 35, 
  btc_xbp_all_jobdata       LIKE btch0000-int4 VALUE 36, 
  btc_xbp_jobhead_only      LIKE btch0000-int4 VALUE 37.  

5、ABAP后台JOB数量控制。

FORM SUB_CHECK_JOB.
  DATA: BEGIN OF LT_JOBS OCCURS 0 ,
          JOBNAME  TYPE BTCJOB,
          STRTDATE TYPE BTCXDATE,
          STRTTIME TYPE BTCXTIME,
          ENDDATE  TYPE BTCXDATE,
          ENDTIME  TYPE BTCXTIME,
        END OF LT_JOBS.
  DATA: F_JOBNAME TYPE STRING VALUE 'Z_%'.
  DATA: V_ACTIVE TYPE INT1.
  SELECT JOBNAME
  INTO TABLE LT_JOBS
  FROM TBTCO
  WHERE ( JOBNAME LIKE F_JOBNAME )
  AND STATUS EQ 'R'.
  IF SY-SUBRC = 0 .
    DESCRIBE TABLE LT_JOBS LINES V_ACTIVE .
    IF V_ACTIVE >= 5.
      MESSAGE '有正在运行的任务,此次任务取消。' TYPE 'S' DISPLAY LIKE 'E'.
    ENDIF .
  ENDIF.
ENDFORM. " SUB_CHECK_JOB

其他后续更新。

【ABAP】获取后台Job相关状态相关推荐

  1. FreeRTOS任务相关API函数---查询/改变某个任务的优先级+获取全部/某个任务状态信息

    本文是<ALIENTEK STM32F429 FreeRTOS 开发教程>第十一章学习笔记 第一章笔记–FreeRTOS简介与源码下载 第二章笔记–FreeRTOS在STM32F4上移植 ...

  2. 怎样使用C# 获取WIFI的连接状态?

    怎样使用C# 获取WIFI的连接状态? 行文导航 思路 问题得到解决 代码展示 断开与连接WIFI状态效果 在OrangePI Linux Arm32上的测试效果 C# 获取WIFI的连接状态 本文是 ...

  3. vue复选框默认被选中_vue .js绑定checkbox并获取、改变选中状态的实例

    vue .js绑定checkbox并获取.改变选中状态的实例 2019-01-07 编程之家收集整理的这篇文章主要介绍了vue .js绑定checkbox并获取.改变选中状态的实例,编程之家小编觉得挺 ...

  4. 使用ajax获取后台数据怎么打印,我用ajax获取后台数据并展示在前端页面的方法【源码】...

    <我用ajax获取后台数据并展示在前端页面的方法[源码]>由会员分享,可在线阅读,更多相关<我用ajax获取后台数据并展示在前端页面的方法[源码](2页珍藏版)>请在人人文库网 ...

  5. 海康威视SDK通过NVR获取视频设备的状态

    海康威视SDK通过NVR获取视频设备的状态 前言 项目现场是通过NVR对多路摄像头设备进行集中管理,包括实时画面的预览和视频信号的存储.回放. 现在要实现这样一个功能:定期查询摄像头的状态,以确保摄像 ...

  6. vue绑定后台数据ajax,vueJS 获取后台数据 绑定data

    //vue 环境安装 http://blog.csdn.net/u013182762/article/details/53021374 一开始使用安装环境配置一些东西 ,后来发现太麻烦了 .  直接C ...

  7. ajax动态获取后台数据绘制echarts图表

    Echarts是一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻 ...

  8. ajax获取后台数据的几种方式及如何获取ajax内部的数据供外部使用

    文章目录 1 ajax获取后台数据的几种方式 1.1 原生js的ajax方式 1.1.1 get 1.1.2 post 1.2 jQuery封装的ajax方式 1.2.1 $.ajax 1.2.2 $ ...

  9. 获取Java系统相关信息

    1 package com.test; 2 3 import java.util.Properties; 4 import java.util.Map.Entry; 5 6 import org.ju ...

最新文章

  1. C/S构架和B/S架构的比较
  2. IDEA中导入支付宝电脑网站支付测试Demo遇到的错误
  3. 传播路由_什么路由器穿墙效果好?购买防骗知识
  4. Linux中基于eBPF的恶意利用与检测机制(rootkit、驱动)
  5. Android Screen
  6. Geth搭建以太坊主网公有节点笔记
  7. Excel函数 (使用 「index + match」代替 vlookup进行查询)
  8. Vue实现登录记住密码
  9. 哪个邮箱域名好?域名是永久的吗?
  10. 单招面试问为什么选择计算机这个专业,单招面试常见问题及答案 面试要注意什么...
  11. Oracle 日历表详解(含节假日)
  12. ChatGPT 爆火!谷歌、微软、百度纷纷下场?
  13. Analyzing the Linux boot process-分析Linux启动过程
  14. macos 打开终端弹出:(eval):export:1: not valid in this context: Fusion.app/Contents/Public
  15. C++操作http之WinInet详解
  16. 2018互联网金融公司排名——Top100(附完整榜单)
  17. 开发苹果手机 APP,如何保持iOS页面流畅技巧
  18. 使用selenium和phantomjs解决爬虫中对渲染页面的爬取
  19. Android中layout目录的作用,Android 开发中layout下的子文件夹
  20. 全球及中国视频会议系统市场应用状况与趋势展望分析报告2022版

热门文章

  1. 图解WordPress主题(模板)架构
  2. 分页与无限滚动在评论区的设计差异
  3. 老板请吃饭 | 李笑来约你聊聊垂直社区的产品和运营
  4. PHP处理图片(orientation)旋转问题
  5. JavaScript变量和对象参数传值问题
  6. springmvc+jsp引用本地图片文件
  7. TortoiseGit清除账号密码
  8. 轻量级社会化分享openShare源码解析
  9. 创建视图,查询表空间的利用情况
  10. android 起动APP时锁住(Lock apps)