JCL Procedure

EXEC语句语句中的PGM和PROC ​ EXEC语句有两个位置参数,PGM和PROC,每条EXEC语句必须有且仅有其中一个。 阅读详情

1.       编写规则

不能包含以下JCL Statement:

l         JOB 语句

l         流内数据集定义语句 “DD * ” 到 “/*”

l         JCL 结束语句:一行空的“//”

l         JOBLIB 和JOBCAT 语句

2.       In-stream procedure

流内过程嵌在JCL 里,以PROC 语句开始,PEND 语句结束

//COPYDATA JOB NOTIFY=&SYSUID

//********* COPY DATASET ***********

//MYPROC PROC INDD=,OUTDD=

//CPY EXEC PGM=IEBGENER

//SYSPRINT DD SYSOUT=*

//SYSUT1 DD DSN=&INDD.,DISP=SHR

//SYSUT2 DD DSN=&OUTDD.,DISP=(NEW,CATLG,DELETE),

// SPACE=(TRK,(2,1)),

// DCB=(RECFM=FB,LRECL=80,BLKSIZE=240,DSORG=PS)

//SYSIN DD DUMMY

//MYEND PEND

//CPYLOAD EXEC MYPROC,INDD=DEVP124.DATA,

//  OUTDD=DEVP124.DATA1

过程代码必须写在调用代码前面

3.       Cataloged Procedure

编目过程要存放在一个分区数据集的成员里,语法与流内过程一样,但不需要使用PEND

4.       过程的调用

//作业步名 EXEC PROC=过程名,[参数名=参数值[,参数名=参数值]]

//作业步名 EXEC 过程名,[参数名=参数值[,参数名=参数值]]

5.       JCLLIB 语句

 //[name] JCLLIB ORDER=(library[,library]...) [comments]

用于指定编目过程所在目录,注意它与JOBLIB的区别。

6.       调用过程时overridden/added/nullified EXEC

PROC P1

//STEP1 EXEC PGM=PAYROLL,TIME=(2,30),ACCT=1876

//STEP2 EXEC PGM=PRINT,TIME=(4,30)

 

JOBSTREAM

//XY2 JOB

//STEPA EXEC P1,TIME.STEP1=(1,10),

// ACCT.STEP1=,PARM.STEP2=TOP

 

RESULTING JCL

//STEP1 EXEC PGM=PAYROLL,TIME=(1,10)

//STEP2 EXEC PGM=PRINT,TIME=(4,30),PARM=TOP

7.       调用过程时overridden/added/nullified DD

PROC P1

//STEP1 EXEC PGM=PAYROLL

//A DD DSN=INPUT,DISP=OLD

//B DD DSN=OUTPUT,DISP=(,CATLG,DELETE),UNIT=3350,

// SPACE=(CYL,(20,5)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=320)

//STEP2 EXEC PGM=PRINT

//A DD DSN=OUTPUT,DISP=(OLD,DELETE),UNIT=3350,VOL=SER=PAK08

//B DD SYSOUT=*

 

JOBSTREAM

//JOB JOB MSGCLASS=A

//FS EXEC P1

//STEP1.A DD DISP=(OLD,DELETE,DELETE)

//STEP1.B DD UNIT=3390,DCB=(BLKSIZE=800)

//STEP1.D DD *

DATA

//STEP2.A DD UNIT=,VOL=SER=,DISP=OLD

 

RESULTING JCL

//JOB JOB MSGCLASS=A

//STEP1 EXEC PGM=PAYROLL

//A DD DSN=INPUT, DISP=(OLD,DELETE,DELETE)

//B DD DSN=OUTPUT,DISP=(,CATLG,DELETE),UNIT=3390,

// SPACE=(CYL,(20,5)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)

//D DD *

DATA

//STEP2 EXEC PGM=PRINT

//A DD DSN=OUTPUT,DISP=OLD ,UNIT=3350,VOL=SER=PAK08

//B DD SYSOUT=*

8.       Modifying Symbolic parameters

PROC P1

//P1 PROC UN=3390,OUT=OUTPUT

//STEP1 EXEC PGM=PAYROLL

//A DD DSN=INPUT,DISP=OLD

//B DD DSN=&OUT,DISP=(,CATLG,DELETE),UNIT=&UN,

// SPACE=(CYL,(20,5)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=320)

//STEP2 EXEC PGM=PRINT

//A DD DSN=&OUT,DISP=(OLD,DELETE),UNIT=&UN,VOL=SER=PAK08

//B DD SYSOUT=*

 

JOBSTREAM

//JOB JOB MSGCLASS=A

//FS EXEC P1,UN=3380,OUT=TEST.OUT

 

RESULT

//JOB JOB MSGCLASS=A

//STEP1 EXEC PGM=PAYROLL

//A DD DSN=INPUT,DISP=OLD

//B DD DSN=TEST.OUT,DISP=(,CATLG,DELETE),UNIT=3380,

// SPACE=(CYL,(20,5)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=320)

//STEP2 EXEC PGM=PRINT

//A DD DSN=TEST.OUT,DISP=(OLD,DELETE),UNIT=3380,VOL=SER=PAK08

//B DD SYSOUT=*

 

Note:From 6,7 and 8,we can see the two method of modifying procedures

vOverriding,adding,or nullifying parameters

vSymbolic parameters

 
JCL语言基础教程 作业控制语言JCL(JobControlLanguage)必须包含三个JCL基本语句:(1)作业语句(JOB):标识一个作业的开始,提供必要的运行参数。(2)执行语句(EXEC):标识一个作业步的开始,定义本作业步所要执行的程序或过程。(3)数据定义语句(DD):用于描述应用程序所需要的数据文件。系统规定这三种语句行必须以“//”开头。 阅读详情

相关推荐

大型机面试核心:JCL/COBOL/DB2/CICS链路与排错

在企业级核心系统中,批处理调度、程序加工、关系数据库落库与联机事务处理通常构成一条完整数据链路。JCL负责作业编排、条件控制与失败重启,COBOL承担数值计算、文件加工和返回码契约,DB2通过SQLCODE、游标、隔离级别与BIND保障并发和一致性,CICS则以短事务、COMMAREA和伪会话支撑高并发联机交互。理解四者如何协同,比孤立记忆参数更有工程价值:日终跑批或联机交易异常时,可沿链路定位S0C7、锁超时、资源未启用等问题。围绕JCL、COBOL、DB2、CICS的高频面试题与综合排错场景,正是大型机

weixin_32175665的博客 39

IBM大型机操作系统 学习笔记(2)

整理笔记 很TM烦,不过效果确实蛮好的,所以。。。硬着头皮,接着写吧。 笔记内容: 作业控制语言JCL(类似UNIX下的shell语言)是批处理作业的用户与操作系统的接口 。 作业(作业步1,作业步2,……,作业步n),作业步1……作业步n是顺序执行的 。 作业由以下三步组成: (1)、编译 (2)、连接编辑(3)、执行 - JCL语句的分类: [基 本语句]...

乐在其中/Leo在其中 1927

大型机JCL、COBOL、DB2与CICS核心机制深度解析

大型机开发中的JCL、COBOL、DB2和CICS并非孤立技术,而是围绕作业调度、内存布局、数据访问与事务集成形成的严密体系。JCL的DISP参数本质是三元状态机,决定资源在正常/异常退出时的处置逻辑;COBOL的COMP-3编码与REDEFINES机制直指底层字节布局,体现对内存的精确控制;DB2的PLAN/PACKAGE绑定模型定义了SQL执行的编译时与运行时分离范式;CICS则通过FILE定义、COMMAREA传递和EXEC嵌入语句实现与COBOL及DB2的强协同。这些机制共同支撑银行核心、支付清算等

weixin_31421613的博客 244

JCL学习

JCL基本概念          定义:job control language 用户与操作系统的接口,用户通过JCL语句按照自己的意图来控制作业的执行。           JOB的概念:把大机要实现的每一项任务,称为一个JOB或作业。           作业步的概念(JOB STEP):                     执行一个作业所要经历的步骤

黎明前的黑暗 9858

z/OS COBOL编译链接与运行实战:JCL、PDS及MAXCC排错

在大型机 z/OS 环境中,COBOL 程序从源码到运行并非一步完成:先要满足固定格式列位规则,再通过 JCL 把 PDS 源库成员送入编译器,经链接生成 LOAD 库中的可执行模块,最后提交运行作业并查看 MAXCC。JCL 是驱动整条链路的作业控制语言,PDS 负责分区数据集管理,FILE STATUS 则把程序级 I/O 返回码暴露出来,二者结合可定位编译列位、DD 绑定、数据集属性冲突及模块找不到等问题。掌握这套编译链接与返回码排错机制,对主机 COBOL 课程实验、存量系统维护、批处理文件复制和迁

weixin_30843121的博客 311

JCL+COBOL+DB2+CICS全链路实战解析:金融主机系统工程师必修课

在传统金融核心系统中,JCL、COBOL、DB2与CICS并非孤立技术,而是深度咬合的生产级运行栈:JCL作为资源调度中枢,声明式预约内存、DB2连接与CICS访问权;COBOL在CICS约束下以状态机方式执行事务逻辑;DB2 for z/OS以内存地址空间形态嵌入系统,与CICS协同管理UOW(工作单元);CICS则通过SYNCPOINT实现跨组件的原子事务保障。这种强耦合架构决定了故障排查必须贯穿四层——如ASRA异常常源于COBOL指针越界,却在CICS日志中报错;DB2锁表问题需结合JCL中的SYS

weixin_31292729的博客 161

JCL

JCLl       COND=((8,EQ),(12,EQ),(16,LE)) 在job语句中是OR的关系,但是在step中却是AND的关系。l       COND在job中,则是判断当前step的返回值和指定值的关系, 而如果在step中,则是某一个step的返回值或者even或者only与指定值进行判断。在job中,如果判断结果为yes,则job结束,不再执行后面的step。在st

(孙)小泉 5079

大型机面试核心:JCL/COBOL/DB2/CICS/VSAM 高频解析

大型机开发中,批处理与联机事务往往共享数据集、文件状态和返回码定位能力。JCL 通过 DISP、SPACE、DCB 控制作业与数据集分配,COBOL 借助 COMP-3、REDEFINES 和 FILE STATUS 完成记录读写,VSAM/DB2/CICS 则把索引文件、plan/package 与联机资源管理串起来。掌握这些基础原理,能提升主机程序排错效率,在银行、保险、航空等核心系统维护中快速定位 S0C7、S0C4、重复键和文件属性不匹配问题。面对大型机面试题时,从批处理链路、文件读写到 DB2 绑

weixin_29611239的博客 247

C2-COBOL四段式结构解析:大型机批处理程序的运行契约

COBOL作为金融核心系统长期依赖的编程语言,其实际生产环境中的C2-COBOL并非标准语法子集,而是与z/OS大型机深度耦合的工程化实践形态。它以IDENTIFICATION、ENVIRONMENT、DATA、PROCEDURE四大DIVISION构成刚性程序骨架,本质是编译期确定性与JCL作业调度协同形成的运行时契约。这种结构牺牲灵活性换取百万级交易下的内存可控性、状态可追溯性和ABEND容错能力,广泛应用于银行日终批处理、保单精算、账务清算等强一致性场景。理解C2-COBOL的段落分工与隐含约束,是开

weixin_30768881的博客 160

大型机COBOL练习全攻略:从GnuCOBOL环境到JCL提交与调试

在编程学习与工程实践中,常会遇到一个误区:认为掌握语法就能顺利完成任务。实际上,对于COBOL这类运行在大型机上的语言,真正的挑战往往在于环境搭建、作业提交和错误定位。编译器与作业控制语言(JCL)是衔接代码与运行环境的关键桥梁。通过开源的GnuCOBOL,开发者可以在本地快速验证程序逻辑,而掌握JCL的DD语句、数据集定义和SYSOUT输出,则是让作业在z/OS系统上稳定运行的必要技能。从控制断点报表、文件合并到表处理,COBOL练习涉及大量与文件系统和数据处理相关的细节。理解这些问题,不仅有助于完成课程

weixin_29206669的博客 288

RAG在医药行业为什么80%都翻车了?

这篇文章不是要劝你别做RAG,而是把坑说清楚。医药行业有它的特殊性——监管压力、专业术语密度、多语言混排、文档结构复杂——这些因素叠加在一起,让标准RAG教程里的那套方法论几乎直接失效

qq_31808385的博客 635

C2-COBOL程序结构解析:四大DIVISION与SECTION/PARAGRAPH工程实践

COBOL作为企业级关键系统长期服役的底层语言,其核心价值不在于语法新颖,而在于通过严格分层的程序结构保障金融、政务等场景下的确定性与可维护性。其结构原理源于打孔卡时代对可读性、可校验性的极致追求,演进为现代C2-COBOL中四大DIVISION(IDENTIFICATION、ENVIRONMENT、DATA、PROCEDURE)的语义隔离机制,配合SECTION与PARAGRAPH构成的模块化执行契约。这种‘结构即契约’的设计,使数据定义(如COMP-3精确存储)、环境适配(SELECT逻辑映射)、错误处

weixin_34094282的博客 237

免Root抓包神器Packet Capture:安卓App数据捕获全攻略

本文详细介绍了免Root安卓抓包神器Packet Capture的安装与使用全攻略。通过利用安卓系统的VPN Service API,该工具无需Root权限即可捕获并解密App的HTTP/HTTPS网络流量。文章从核心原理、证书安装、实战抓包步骤到结果分析与常见问题排查,提供了完整指南,是移动端开发、安全测试和数据分析的实用利器。

weixin_29232507的博客 1075

JCL需要续行时我们怎么办

我们在写JCL时经常会遇到续行的情况。因为z/OS只认JCL中的前71列中的内容,后边的都会被忽略。而我们的JCL语句加上参数通常会超过71个字符。这时候我们就需要按照JCL语法中的续行规则将一句JCL语句分成多行。以前我每次遇到的时候要么找一个JCL抄一下格式,要么现去google一下,可是每次写对了以后也就忘的差不多了。这次又是被折磨了一番。于是决定总结出来为自己方便为大家方便。 续行写法主...

soniczhouyu的专栏 990

Cesium实战:5分钟搞定离线地图与地形加载(附避坑指南)

本文详细介绍了Cesium在内网环境下的离线部署实战方案,重点解决了影像与地形数据的本地加载问题。通过逐步指导项目配置、本地瓦片与自定义地形数据的处理,并优化相机控制体验,帮助开发者快速构建安全、高效的三维地球应用,避免常见的401错误与加载失败陷阱。

weixin_30632089的博客 281

EC20模块实战:5步搞定MQTT连接阿里云IoT(附常见错误排查)

本文详细介绍了使用EC20 4G模块通过AT指令连接阿里云IoT平台的完整实战流程。文章以智能农业项目为背景,从硬件接线、网络注册、PDP激活,到MQTT连接配置、一型一密动态注册及数据收发,提供了清晰的5步操作指南,并重点附上了常见错误排查方法,帮助开发者快速实现稳定可靠的物联网设备上云。

weixin_29209801的博客 196

JCL那些事儿(一)

我本人是很爱看小说的,虽然没有读完,但是那种风格的文章还是挺喜欢的,所以这篇JCL那些事,我也试着用一种比较浪的方式来写吧. 话说,JCL,他得名于谁我就不知道了,但是他得名的故事肯定没有朱重八精彩便是了,他的全名是Job control language,虽然,也和language搭上了亲戚,但他却不是一门编程语言.那他是一种什么样的语言呢,我把他理解成'代办中介',因为他是用户与操作系统的接

Mr-CoboL 1303

QGIS v3.28 高效加载OSM在线地图的三种实用方法

本文详细介绍了在QGIS v3.28中高效加载OSM在线地图的三种实用方法:通过XYZ Tiles直接连接、使用QuickMapServices插件以及配置WMS/WTMS服务。针对每种方法提供了具体操作步骤、常见问题解决方案和性能优化建议,帮助用户根据需求选择最适合的方案,提升GIS工作效率。

weixin_29233333的博客 433

开始使用自己的CLIST或REXX

概述   欲学习CLIST或REXX,写好一REXX之后,却不知该放在什么位置,使之可用’TSO REXX名字’调用。查阅IBM文档,言之可将PDS置于SYSPROC/SYSEXEC(如同JCL中的DD语句的名字,可对应于多个文件的联结,亦可用TSO命令ALLOCATE分配之)之下。但若每次登录TSO都要修改SYSPROC/SYSEXEC,岂不麻烦? LOGON PROCEDURE解释 ...

weixin_30814223的博客 222

详解大模型微调数据集构建方法(持续更新)

本文详细介绍了大模型微调数据集构建方法,希望能对学习大模型的同学们有所帮助。 文章目录 1. 前言 2. 微调数据集构建方法 2.1 方法一 2.2 方法二 2.3 方法三 2.4 方法四 2.5 方法五

herosunly的博客 28万+

生成EtherCAT从站XML图片信息方法

详细介绍了EtherCAT从站XML文件中图片元素的生成方法。

kevin1499的博客 2128

(转)MVS-os390系统管理-第三章 作业控制语言

http://zmdxyboyandy.blog.bokee.net/bloggermodule/blog_viewblog.do?id=205835 MVS-os390系统管理-第三章 作业控制语言 字体大小:大 | 中 | 小 2006-07-28 18:25 - 阅读:3567 - 评论:2 第三章 作业控制语言3.1  基本概念   在大型服务器系统中,当用户需要使用计算机完成...

mlxia的专栏 640

<PLC><汇川>汇川PLC基于EtherCat协议使用转矩模式控制SV630N伺服驱动电机

本系列是关于PLC相关的博文,包括PLC编程、PLC与上位机通讯、PLC与下位驱动、仪器仪表等通讯、PLC指令解析等相关内容。PLC品牌包括但不限于西门子、三菱等国外品牌,汇川、信捷等国内品牌。除了PLC为主要内容外,PLC相关元器件如触摸屏(HMI)、交换机等工控产品,如果有值得记录的内容,也会添加进来。

用沸腾的热血,支付我们的人生吧! 4158

cobol结构

cobol结构

小安然的博客 510

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

COBOL语言编写<hello world>

编写一个COBOL程序需要创建3个数据集,如: CN0010.COBOL.CBOL:存放COBOL源代码。 CN0010.COBOL.JCL:存放编译连接和调用的JCL代码。(编译连接:compile,调用:gohell) CN0010.COBOL.LOADLIB:用于生成加载模块。  (recfm=u,lrecl=0,blksize=32760) COBOL源代码编写完成后,必须先提交c

qq395740774的专栏 1981

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: DD Statement
下一篇: GDG
Mainframer
博客等级 码龄19年 7粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值