You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STRTJOB配置问题:如何让MYJOB每日00:00自动执行?

JCL定时触发作业未按预期时间执行的解决方法

问题描述

使用STRTJOB作业定时触发MYJOB,预期MYJOB每日00:00自动运行,但实际在每日9:00重复执行(STRTJOB的提交时间为9:00)。原JCL代码如下:

//STRTJOB   JOB CLASS=A,NOTIFY=&SYSUID
//STEP1    EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=T
//SYSIN    DD=DUMMY
//SYSUT1   DD SYSOUT=(*,INTRDR)
//SYSUT1   DD DATA,DLM=XX
/*$TA10,T=00.00,I=86400,´$VS,´´s  JOB,N=MYJOB´´´
//XX

问题原因

  1. DD语句重复定义错误:JCL中重复声明SYSUT1,IEBGENER要求SYSUT1为输入数据源、SYSUT2为输出目标,此写法会导致数据流向异常。
  2. $TA命令参数解析偏差:T=00.00被JES2解析为相对于STRTJOB提交时间的延迟时长(0小时0分),结合重复间隔I=86400(24小时),最终触发时间固定为每日提交时间(9:00),而非预期的绝对时间00:00。

修改方案

1. 修正JCL的DD语句错误

将重复的SYSUT1改为SYSUT2,确保IEBGENER正确将定时命令输出到内部阅读器:

//STRTJOB   JOB CLASS=A,NOTIFY=&SYSUID
//STEP1    EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=T
//SYSIN    DD DUMMY
//SYSUT1   DD DATA,DLM=XX
/*$TA10,T=(00:00),DATE=+1,I=86400,´$VS,´´s  JOB,N=MYJOB´´´
//XX
//SYSUT2   DD SYSOUT=(*,INTRDR)

2. 调整$TA命令的定时参数

要实现每日00:00的绝对时间触发,需明确指定首次执行的绝对时间为下一个00:00,再设置每日重复:

  • T=(00:00):指定触发时间为00:00
  • DATE=+1:指定首次触发为次日的00:00(避免当天00:00已过导致立即执行)
  • I=86400:保持24小时的重复间隔

若需从指定日期的00:00开始,也可直接写绝对日期时间,例如:T=10/06/00:00,I=86400(表示从10月6日00:00开始,每日重复)

验证说明

修改后提交STRTJOB,JES2会将MYJOB加入定时队列,首次执行时间为次日00:00,之后每日同一时间自动触发。

内容的提问来源于stack exchange,提问作者Soraya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 02:13:16