SAP工具箱增强后台作业调度程序详解(二)

SAP工具箱增强后台作业调度程序详解(二)

点击蓝字 关注我们

前言

因为标准事务代码SM36调度的后台作业功能相对比较简单.项目中需要针对后台作业做很多特殊的处理,这些处理有些可以通过标准功能实现, 有些无法通过标准功能实现. 

为了简化后台作业的定义及丰富后台作业的控制,开发了这个后台作业二次调度程序

ZBC_IF_JOB_SCHEDULE

本文给出了增强后台作业调度的几个配置场景及示例.

详细参数设置 无峰,公众号:ABAP 技巧与实战SAP工具箱 增强后台作业调度程序详解(一)

场景及示例

列举出了如下场景

  • 一个作业定义多个步骤

  • 带有通配符号的变式在一个作业中

  • 定义程序的并发作业

  • 定义多变式的并发

  • 按天定义的作业

  • 控制指定时间段不执行作业


01

一个作业定义多个步骤


示例场景是一个主数据下传场景,需要优先下传主数据部分,然后下传商品的不同视图信息, 最后下传各种列表.

这些JOB编号有一个共同的作业名称ZIF_MD205.有相同的作业间隔期间.  同时设置了步骤顺序.

个别步骤之间有等待时间,通过程序 ZBC_JOB_WAIT 实现等待. 

在SM37中查看作业细节时可以看到这些等待步骤.


SAP工具箱增强后台作业调度程序详解(二)

02

带有通配符号的变式在一个作业中


变式中维护通配符号,并且通过变式处理方式在一个作业的实现多个步骤.

示例是处理系统后台开票程序.开票程序中只能限定一个销售组织. 所以要为每一个销售组织都创建一个变式,这些变式都以VF06开头.

后台调度配置表中变式维护VF06* .同时定义变式处理方式A . 这样每个VF06*开头的变式都会创建一个步骤.

SAP工具箱增强后台作业调度程序详解(二)
SAP工具箱增强后台作业调度程序详解(二)

SAP工具箱增强后台作业调度程序详解(二)

SAP工具箱增强后台作业调度程序详解(二)

03

定义程序的并发作业


示例是交货单过账程序.

在一个运行周期无法处理完所有需要自动过账的交货单. 

所以为该JOB编号定义了并发处理. 并发10个作业处理. 同时传递选择参数S_VBELN到并发调度程序ZBC_MULTI_JOB_ALL.

SM37中可以看到具体的并发作业. 这些并发作业都是由作业ZA_DN_POST_MULTI再次调度而来 并发作业命名用原程序_<时间>_<尾号开始>_<尾号截至>. 

因为定义了10个并发 所以依次处理 00_09  10_19 .....90_99 的尾号.

SAP工具箱增强后台作业调度程序详解(二)


04

定义多变式的并发


程序ZA_DN_POST创建了多个以BGRUN开头的变式.作业中定义变式 BGRUN* 变式处理方式B(多个作业执行). 这样也可以实现作业的并发执行. 并发通过变式中限定的条件实现.

SM37中可以看到最终生成的三个作业 作业名 = <原作业名>_<变式名>

相比定义程序的并发作业. 这种方式需要创建若干个变式,好处是可以随意区分间隔.


SAP工具箱增强后台作业调度程序详解(二)

SAP工具箱增强后台作业调度程序详解(二)



05

按天定义的作业


给出作业周期为86400秒,同时限定作业执行的时间范围. 计算作业的执行会在间隔期间修正. 避免作业因为延迟的原因. 导致某天没有执行.SAP工具箱增强后台作业调度程序详解(二)

06

指定时间段不执行作业


传输请求时,如果传输的请求包含重要信息的改变,比如表结构调整. 此时如果后台还在执行创建单据的动作. 则后台作业会大量报错 "版本不一致",该错误在ST22中可以查看到.

为了避免这种报错. 给出一个空挡期不执行后台作业, 每天在此空挡期才传输请求.

下图中给出了11:30 - 12:00 的空档期. 在此期间将没有作业执行,可以用来传输请求.



SAP工具箱增强后台作业调度程序详解(二)

总结

ZBC_IF_JOB_SCHEDULE用于增强调度后台作业. 在标准调度基础上添加了很多实用功能. 管理人员可以通过SE16N维护表ZTIF002BJ,实现批量维护,调整后台作业.

在项目实践中,极大简化了的作业的定义,调整过程.并附加了很多实用功能.用于定义更复杂的作业.

关于新版的下载: 旧版已经可以完成大部分功能了.如需新版,可以打赏后文章向作者索取.

THE

END





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值