大型机批处理作业触发

Posted

技术标签:

【中文标题】大型机批处理作业触发【英文标题】:Mainframe Batch Job Triggering 【发布时间】:2010-06-17 06:56:58 【问题描述】:

我是 CICS 的新手。我有一个疑问,我们可以通过 CICS 事务触发批处理作业吗? 我想通过 CICS 事务执行的程序触发批处理作业,可以吗?

【问题讨论】:

【参考方案1】:

是的,这是可能的。

您的系统程序员必须设置一个额外的分区瞬态数据队列,其 DD 语句指向内部 JES 阅读器。

您必须将 JCL 写入瞬态数据队列,包括最后一张 // 卡。

您负责使用 CICS ENQUEUE 和 DEQUEUE 命令确保对瞬态数据队列的串行访问。

JOB 卡必须包含用户 ID 和密码,以便 JOB 在您的帐户而不是 CICS 区域的用户 ID 下运行。

另一个选项是 CICS SPOOLOPEN 命令。

这是一些使用 SPOOLOPEN 命令的 Cobol 代码。

EXEC CICS SPOOLOPEN OUTPUT
          NODE ('LOCAL')
          USERID ('INTRDR')
          RESP(RETCODE)RESP2(RESP2)
          TOKEN(TOKEN)
END-EXEC

PERFORM VARYING JCL-IND FROM +1 BY +1
  UNTIL RETCODE NOT = DFHRESP(NORMAL)
     OR JCL-IND > jcl-ind-max
  MOVE JCLELE (JCL-IND)     TO      JOBQUEUE
  EXEC CICS SPOOLWRITE
          FROM(JOBQUEUE)
          RESP(RETCODE) RESP2(RESP2)
          FLENGTH(OUTLEN)
          TOKEN(TOKEN)
  END-EXEC
END-PERFORM

EXEC CICS SPOOLCLOSE
          TOKEN(TOKEN)
          RESP(RETCODE) RESP2(RESP2)
END-EXEC

我在CICS wiki 中找到了此信息。

【讨论】:

非常感谢吉尔伯特,我会试试这个... :)

以上是关于大型机批处理作业触发的主要内容,如果未能解决你的问题,请参考以下文章

在大型更新时从 mysql 触发器向 gearman 发送作业

大型机:如何防止批处理作业和 CICS 事务之间的 DB2 争用?

如何使用 SFTP 向大型机提交/​​检索批处理作业

使用 FTP 和 C# 启动现有大型机作业

Autosys 对大型机作业的依赖性

SQL Server 作业中的大型机作业依赖性