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

点击蓝字 关注我们

前言

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

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

ZBC_IF_JOB_SCHEDULE

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

详细参数设置

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

场景及示例

列举出了如下场景

  • 一个作业定义多个步骤

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

  • 定义程序的并发作业

  • 定义多变式的并发

  • 按天定义的作业

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

01

一个作业定义多个步骤

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

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

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

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

02

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

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

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

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

变式允许的输入方式

程序的多个变式

SM37中看到的作业详情

03

定义程序的并发作业

示例是交货单过账程序.

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

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

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

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

04

定义多变式的并发

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

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

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

05

按天定义的作业

给出作业周期为86400秒,同时限定作业执行的时间范围. 计算作业的执行会在间隔期间修正. 避免作业因为延迟的原因. 导致某天没有执行.

06

指定时间段不执行作业

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

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

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

总结

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

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

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

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077

公众号主群加入受限, 请扫码加入副群后,向管理员申请加入主群

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAP ABAP(Advanced Business Application Programming)是一种使用于SAP系统的编程语言和开发工具。在实施SAP ABAP项目中,项目团队通常会遵循一系列步骤来完成项目的开发和实施。 首先,项目团队需要进行项目计划和范围定义。他们将与客户合作,了解其业务需求并确定项目的规模和目标。通过定义清晰的项目范围,可以确保项目的方向和目标明确。 接下来,团队开始进行功能设计和开发。根据项目需求,他们将开发定制的ABAP程序和功能模块。这些程序和模块可以用于实现各种功能,例如数据输入、报表生成、业务流程自动化等。 在开发过程中,团队将使用ABAP编辑器和其他开发工具来编写和测试代码。他们可以使用SAP的开发环境,如SAP NetWeaver等来进行开发和调试。 完成开发后,项目团队会与客户进行集成测试。他们会确保开发的ABAP程序与其他系统和模块之间正常交互并符合预期的需求。 一旦通过集成测试,项目团队将进行系统测试和用户验收测试。他们会与客户合作,确保系统可以正常运行,并满足用户的需求和期望。 最后,团队将准备生产环境的迁移和系统部署。他们会确保系统能够平稳地过渡到生产环境,并提供必要的培训和支持,以确保用户能够顺利使用系统。 综上所述,SAP ABAP项目实战涉及到项目计划、需求分析、功能设计和开发、测试、系统部署等多个阶段。通过这些步骤,团队能够为客户提供定制的ABAP解决方案,并帮助其实现业务目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值