点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
图一 图二 图三 JIEKNO JOB编号(接口编号或程序名称): 如果下传接口需要定义为作业,输入接口编号作为JOB编号,下传接口如果是ZBC122生成的程序,则作业名称,作业程序等可以不设置,程序根据接口编号自行识别. JOB_TEXT 作业备注,给作业定义详细描述. JIEK_STEP 作业优先级(通过数字表达作业的优先关系,优先级高的接口会优先安排作业,相同作业名需要设置同一个优先级),允许为空 JOB_ACTIV 作业允许启动标记 用来控制JOB编号是否活动,标记为X的,才允许被调度.通过该字段的设置,可以快速的启停后台作业. 标准后台作业的批量挂起处理程序: BTCTRNS1 传送: 移动有状态“由于升级而重新计划的”的作业 BTCTRNS2 传输:释放状态为“由于升级导致取消调度”的作业 JOB_NAME 后台作业名称(允许为空,默认按 ZIF_ JOB_REPORT 程序名称(如果为空,用ZBC122_ JOB_STEP 同一个作业中的不同步骤的顺序(允许为空) 如果一个作业定义了多个步骤,则使用JOB_STEP区分步骤的处理顺序. STEP_WAIT 步骤后等待时间(秒) 如果多行的JOB_NAME相同, 表示同一个后台作业中定义多个步骤,如果某个步骤后想等待一段时间再执行下面一个步骤,可以设置这个参数,该参数会在作业中定义一个额外的步骤(ZBC_JOB_WAIT), 用于等待一段时间 一般情况下同一个作业的多个步骤之间无需等待. 但是涉及到特定场景,如果担心前面的步骤没有完成数据提交或者没有完成接口处理, 后面一个步骤的执行强依赖于前一个步骤的结果. 设置一个等待时间有利于后面的步骤减少出错的可能 JOB_VARIANT 后台作业执行变式(允许为空) 允许输入一个作业变式集合,输入方式详见帮助文档, 具体处理时,读取程序符合变式集合的所有变式,按照变式处理方式的不同, 定义成不同的作业, 或者同一个作业的不同步骤. NO_VARIANT 变式处理方式 如果变式中输入的变式集合能够获取多个变式, 变式处理方式确定了多变式的具体处理方式 X 无需变式标记(如果没有输入变式, 最好设置一下该标记) A 多变式处理:在一个作业中(获取的多个变式,定义在同一个作业中的不同步骤执行) B 多变式处理:在不同的作业中(获取的多个,每个变式创建一个作业,新的作业名= <原作业名>_<变式名> 空 单一变式 JOB_USER 后台作业执行用户,设定后台作业的执行用户, 建议对不同类的作业设置不同的后台作业, 比如 BJ_AUTO用来处理自动单据类的作业, BJ_IF 用来处理接口类的作业. 这样查询单据的创建用户可以快速知道单据是接口创建还是自动单据创建. JOB_INTERVAL 作业间隔期间(秒),定义作业执行的周期,帮助中给出了常用的周期值.作业调度原理是计算出当前时间戳和上次执行的时间戳之间的间隔(秒) 与定义的作业间隔秒)比较, 如果计算的间隔>定义的间隔, 再判断一下其它情况,确定当前作业参与调度. JOB_NODUP 作业不允许重复执行(如果作业活动,则不启动新的作业) 一般情况下,自行开发的程序对于读取的数据加锁,加锁成功的才参与后续单据处理,并设置处理标记. 如果多个进程同时执行,加锁会避免多个进程处理同一条记录,产生重复的单据. 但是实际情况往往会出现锁失效,单据重复产生的情况(即便是锁范围调整为3 _scope = '3',程序执行完成后才解锁). 通过禁止多个后台重复执行可以解决这个问题. JOB_MULTI 作业并发执行个数 在作业的运行周期内, 如果未处理的数据过多,单个进程无法处理完成.将导致数据积压. 此时需要考虑通过特定的机制定义多个后台作业同时执行. 最简单的并发机制是通过单号的后两位区分单号,最大可以并发100个. 详见付费文章(无法链接,请自行在公众号中查找) 该参数和 JOB_MULTI_FIELD字段同时生效,用于后台作业的并发定义与执行. JOB_MULTI_FIELD 并发作业需要的单号选择字段. ZBC_MULTI_JOB_ALL程序调度并发后台执行时,需要执行的单号选择字段, 程序根据该字段限定单号的最后2位限制每个作业处理的单据(并发调度作业的程序必须有一个单号选择条件,用来区分数据) .INCLUDE ZSIF002BJ_QJ 后台作业的期间控制 标记了期间控制的后台作业,在指定的期间(目前设置了3个期间)内才允许执行. JOB_TIME_CONTROL后台作业的允许期间控制(勾选后,后台作业只能在指定的期间执行) JOB_UZEIT_F开始时间-作业执行的时间段的开始时间(指定时间段内才执行作业,没有维护则不检查) JOB_UZEIT_T结束时间-作业执行的时间段的结束时间 JOB_UZEIT_F_2开始时间-作业执行的时间段的开始时间2(指定时间段内才执行作业,没有维护则不检查) JOB_UZEIT_T_2结束时间-作业执行的时间段的结束时间2 JOB_UZEIT_F_3开始时间-作业执行的时间段的开始时间3(指定时间段内才执行作业,没有维护则不检查) JOB_UZEIT_T_3结束时间-作业执行的时间段的结束时间3 JOB_LAST_PROC 作业最后一次启动的时间戳 记录作业最后一次执行的时间戳. 该时间戳用于和当前时间戳计算出时间间隔. 用于判断作业是否需要调度. JOB_ALL_TIMES 作业总调度次数 统计后台作业总共调度的次数. JOB_ERR_TIMES 作业调度的失败次数,最后一次报错的信息会记录在字段 ZMESSAGE 中 目前有四种情况会导致作业调度失败 程序的语法检查报错 定义的变式不存在 调度作业时出现了其它报错 调度作业超出了程序选择界面中设置的最大作业总数 如下图 JOB_LAST_DATE 作业最后一次执行的日期 记录作业最后一次执行的日期.仅做记录.查询时使用. 约定 如果你对这篇文章感兴趣,请帮忙点赞,在看,分享. (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.) 公众号 : syjf1976_abap ABAP开发技巧 微信号 : 392077 公众号主群加入受限, 请扫码加入副群后,向管理员申请加入主群SAP工具箱之 快速调度并发后台作业