DB2 Z/OS V10 大型机:如何创建工作

DB2 Z/OS V10 Mainframe : How to create jobs

我可以在 z/OS 中使用哪种语言在 DB2 Z/OS V10 中创建作业?

在 Z/OS 大型机中,请提供示例脚本以创建或提交执行存储过程的作业。

尽管我同意 Bill W.(上文)的观点,但我想我会在这里提供一些细节,以防有人真的想编写一个可以提交大型机作业的应用程序。

在核心,z/OS 中的 "job" 只是一系列定义工作单元的 JCL 语句。好消息是工作可以通过多种方式流入 z/OS:

  • TSO、ISPF 或 OMVS "SUBMIT" 命令(或其他子系统中的等效命令)
  • FTP,通过使用 QUOTE SITE FILETYPE=JES 和 FTP PUT
  • 通过 JCL,例如使用 IEBGENR 将 JCL 复制到 INTRDR SYSUT2
  • 在使用 EXEC CICS SPOOL API 的 CICS 应用程序中
  • 从操作员控制台使用 START 命令
  • 从使用 NJE 协议的远程系统
  • 来自各种供应商产品,例如作业调度软件

如果您想做一些简单的事情,通常可以轻松编写各种 "SUBMIT" 命令的脚本。

如果您需要在脚本或其他软件中提交作业,请记住,只需打开一个名为内部 reader 的特殊文件即可提交作业。您需要做的就是分配并打开内部 reader,然后编写您的 JCL(通常是固定的 80 字节记录),然后关闭内部 reader - viola,您的作业已提交。

您可以通过多种不同的方式分配内部 reader。在 JCL 中,它就像 //ddname DD SYSOUT=(,INTRDR) 一样简单。您还可以使用 TSO ALLOC 命令,等等 - 在 LE 运行时甚至有很好的支持,使内部 reader 可用于 C、Java、COBOL 等。对于位级(汇编程序)人员,SVC 99 提供了分配内部 reader 所需的一切。

分配内部 reader 文件后,您只需打开并写入它,就好像它是任何其他文件一样。在幕后,内部 reader 只是 JES 的 "pipe","job entry subsystem"...正如您可能猜到的那样,JES 处理(除其他事项外)处理作业提交。打开通往 JES 的管道后,您编写的内容应该是代表您要提交的作业的 JCL。

如果您 运行 在其他平台上并且想将作品提交到 z/OS,那么 FTP 可能是最简单的途径。正常连接并输入上面的 SITE 命令,然后你可以 "PUT" 一个包含一组 JCL 记录的文件。 FTP 接口的一个很酷的地方是,它会返回一个作业标识符,您可以使用该标识符来跟踪作业并获取其输出。

请记住,有多种选项和安全控制可以限制谁可以在 z/OS 上做什么,因此如果您的站点保护了提交作业的特权,您可能还有其他障碍需要克服。

我在 z/OS... 上提交工作的价值是两分钱 :)