在z/OS中使用JCL启动作业

作者:佚名 上传时间:2023-03-14 运行软件:IBM z/OS 软件版本:不限 版权申诉

z/OS是一种操作系统,JCL(Job Control Language)是一种编程语言,用于定义z/OS作业的运行方式。本文将介绍如何在z/OS中使用JCL启动作业。

z/OS JCL编程

在z/OS中,使用JCL编程可以定义作业的执行过程。JCL程序通常由多个语句组成,每个语句都以“//”开头,以换行符结尾。以下是一个简单的JCL程序示例:

//JOBNAME JOB (ACCOUNT INFO),'JOB DESCRIPTION'
//STEP1 EXEC PGM=PROGRAMNAME,PARM='PARAMETER'
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
  COMMAND
/*
  • JOBNAME是作业名称,ACCOUNT INFO是作业所属的帐户信息。
  • STEP1是作业的一个步骤,PROGRAMNAME是要执行的程序名称,PARAMETER是传递给程序的参数。
  • SYSPRINTSYSOUTSYSUDUMP是输出数据集的名称,*表示将输出发送到系统输出设备。
  • SYSTSIN是输入数据集的名称,COMMAND是要传递给程序的命令。

z/OS如何启动作业

要在z/OS上启动作业,需要使用JOB或TSU命令。以下是启动作业的示例:

//JOBNAME JOB (ACCOUNT INFO),'JOB DESCRIPTION'
//STEP1 EXEC PGM=PROGRAMNAME,PARM='PARAMETER'
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
  COMMAND
/*
// 

将以上JCL保存为一个文本文件,例如job.jcl,然后使用以下命令将其提交到z/OS作业队列中:

//SUBMIT JOB (ACCOUNT INFO),'SUBMIT JOB'
// EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=JOB.JCL,DISP=SHR
//SYSUT2 DD SYSOUT=(A,INTRDR)
//SYSIN DD DUMMY
/*
//
  • SUBMIT是作业名称,ACCOUNT INFO是作业所属的帐户信息。
  • IEBGENER是一个系统程序,用于将文本数据集转换为另一种数据集。
  • SYSUT1是输入数据集的名称,JOB.JCL是包含JCL程序的文本文件。
  • SYSUT2是输出数据集的名称,(A,INTRDR)表示将输出发送到内部读取器(INTRDR)。
  • SYSIN是输入数据集的名称,DUMMY表示没有输入数据。

提交作业后,可以使用以下命令查看作业状态:

$ squeue -j JOBNAME

z/OS JCL教程

以下是一些常用的JCL语句:

  • //:语句的开始。
  • JOB:定义作业。
  • EXEC:定义作业的一个步骤。
  • DD:定义数据集。
  • IF:定义条件。
  • THEN:条件为真时要执行的语句。
  • ELSE:条件为假时要执行的语句。
  • ENDIF:结束条件语句。

以下是一个JCL程序示例,该程序从输入数据集中读取数据,并将其写入输出数据集:

//JOBNAME JOB (ACCOUNT INFO),'JOB DESCRIPTION'
//STEP1 EXEC PGM=IFILE,REGION=0M
//SYSPRINT DD SYSOUT=*
//SYSIN DD DSN=INPUT.DATASET,DISP=SHR
//SYSOUT DD DSN=OUTPUT.DATASET,DISP=(NEW,CATLG,DELETE),
//  UNIT=SYSDA,SPACE=(CYL,(50,50),RLSE)
/*
  • IFILE是一个程序名称,该程序从输入数据集中读取数据,并将其写入输出数据集。
  • REGION是定义步骤的存储区域大小(以兆字节为单位)。
  • INPUT.DATASET是输入数据集的名称。
  • OUTPUT.DATASET是输出数据集的名称。
  • DISP=(NEW,CATLG,DELETE)表示将创建一个新的输出数据集,并将其目录条目添加到系统目录,作业结束时将删除它。
  • UNIT=SYSDA是指定磁盘设备。
  • SPACE=(CYL,(50,50),RLSE)是定义输出数据集的空间分配,(50,50)表示分配50个柱面的空间。

示例代码

以下是一个JCL程序示例,该程序在z/OS上运行一个简单的COBOL程序:

//MYJOB JOB (ACCT#),'RUN COBOL PROGRAM'
//STEP1 EXEC PGM=MYPROG
//SYSOUT DD SYSOUT=*
//SYSIN DD *
  INPUT DATA
/*
  • MYJOB是作业名称,ACCT#是作业所属的帐户信息。
  • MYPROG是要执行的COBOL程序名称。
  • SYSOUT是输出数据集的名称,*表示将输出发送到系统输出设备。
  • SYSIN是输入数据集的名称,INPUT DATA是要传递给程序的数据。

本文介绍了在z/OS中使用JCL启动作业的方法。JCL编程可以定义作业的执行过程,使用JOB或TSU命令启动作业,并使用常用的JCL语句定义数据集和条件。示例代码演示了如何在z/OS上运行COBOL程序。希望这篇文章能够帮助您更好地理解z/OS JCL编程和作业管理。

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
z/OS使用JCL启动作业
z/OS是一种操作系统,JCL(Job Control Language)是一种编程语言,用于定义z/OS作业的运行方式。本文将介绍如何在z/OS中使用JCL启动作业。z/OS JCL编程在z/O
不限
IBM z/OS
2023-03-14 03:13
z/OS如何使用JCL文件启动作业
本示例代码用于解释如何使用JCL文件启动z/OS中的作业。代码中使用JOB卡片定义了作业名称,以及执行程序路径等信息,通过执行JCL文件来启动作业。//JOB001 JOB (ACCOUNT),PR
z/OS 2.4
z/OS
2023-03-22 19:41
z/OS如何使用Shell脚本启动JCL作业
本示例代码展示在z/OS中如何使用Shell脚本启动JCL作业,通过设置环境变量和调用JES2服务来实现。#!/bin/sh#--设置环境变量--export JESOWNER=your_use
z/OS V2R2
Shell
2023-05-25 16:53
z/OS上执行JCL作业
z/OS是IBM的主机操作系统,通常用于处理大型企业级工作负载。本示例将介绍如何在z/OS上执行JCL(Job Control Language)作业,以实现自动化批处理任务。//JOBNAME
z/OS 2.5
z/OS主机操作系统
2023-10-17 09:47
z/OS如何使用JCL提交作业
JCL是z/OS中用于管理作业的语言,本示例代码展示了如何使用JCL提交作业并检查作业状态。首先使用JOB语句定义作业,然后定义执行步骤,最后使用EXEC语句执行步骤。在每个步骤的最后,可以使用IF语
z/OS 2.4
IBM z/OS
2023-05-25 22:27
z/OS执行JCL作业时遇到JCL ERROR 912
JCL ERROR 912表示数据集无法找到或无法访问。这可能是由于数据集名错误、权限问题或存储器问题引起的。要解决此问题,您可以首先检查JCL中数据集的命名是否正确,然后确保您有适当的权限访问该数据
z/OS 2.4
z/OS
2023-11-12 16:15
z/OS上如何执行JCL作业
示例代码以下是一个简单的JCL作业执行示例代码://JOBNAME JOB (ACCTINFO),'JOB DESCRIPTION',CLASS=CLASS,MSGCLASS=CLASS//ST
z/OS V2R1及以上
z/OS
2023-03-12 13:26
如何在z/OS系统中使用JCL启动作业
在z/OS系统中,JCL(作业控制语言)被广泛用于启动作业。下面是一个简单的示例代码,可以用于启动一个作业://JOBNAME JOB (ACCTINFO), 'job-descriptor'//
z/OS任意版本
IBM z/OS操作系统
2023-03-29 12:01
使用z/OS JCL执行批量作业
本示例展示如何使用z/OS JCL编写和执行批量作业,该作业中包含多个作业步骤,并通过参数化来实现其灵活性。https://github.com/IBM/zos-jcl-samples/blob/m
z/OS V2.4
IBM z/OS
2023-03-19 16:36
z/OS如何使用JCL提交作业
JCL(Job Control Language)是z/OS系统提交作业的主要语言。本示例将演示如何使用JCL提交一个简单的作业。//MYJOB JOB 1234,PROGRAMMER//ST
z/OS 2.4
z/OS
2023-04-19 03:16