JCL Procedure
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 Procedure相关推荐
- class function或class procedure是什么意思
类函数\类过程. 它们是直接操作在类上面(没有实例化的对象) 下面是Delphi Help 的描述 A class method is a method (oth ...
- Database项目中关于Procedure sp_refreshsqlmodule_internal的错误
最近项目中发现一怪问题,使用DB项目发布数据库时,总提示 "(110,1): SQL72014: .Net SqlClient Data Provider: Msg 1222, Level ...
- Oracle job procedure 存储过程定时任务
Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 ...
- 27.5. PROCEDURE ANALYSE()
数据列优化 SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]]) 原文出处:Netkiller 系列 ...
- Oracle procedure
@创建过程的语法 CREATE [OR REPLACE] PROCEDURE <procedure name>[(<parameter list>)] IS|AS <lo ...
- 存储过程和函数 PROCEDURE FUNCTION
SQL语句执行的时候,要首先编译,然后在被执行.在大型数据库系统中,为了提高效率,将为了完成特定功能的SQL语句集进行编译优化后,存储在数据库服务器中,用户通过指定存储过程的名字来调用执行. 具体而言 ...
- python调用dll报错:ValueError: Procedure called with not enough arguments (4 bytes missing) or wrong call
python调用dll报错:ValueError: Procedure called with not enough arguments (4 bytes missing) or wrong call ...
- SAP QM初阶执行事务代码QDB1,报错- Sampling procedure NM000001 has no sampling scheme-
SAP QM初阶执行事务代码QDB1,报错- Sampling procedure NM000001 has no sampling scheme- SAP QM模块里,事务代码QDB1用于维护取样策 ...
- SAP QM维护检验计划指派取样策略时候报错:Sampling procedure is not permitted for insp.point-related inspection
SAP QM维护检验计划指派取样策略时候报错:Sampling procedure is not permitted for insp.point-related inspection 执行事务代码Q ...
最新文章
- Android使用自定义View时:Error inflating class错误的原因。
- 日本机器人实力大盘点,和Atlas的高调刷屏相比,日本机器人的默默崛起更让人忌惮...
- a标签download属性无效_HTML从零开始——链接标签
- 在网页中插入百度地图的那些事
- 微服务开发的 10 个最佳实践
- 为什么不断做迁移,那是在还技术债
- Mysql 时间格式默认空串 ‘0000-00-00 00:00:00‘ select抛出异常的解决方法
- ABP官方文档翻译 5.1 Web API控制器
- dosbox运行C语言,DOSBox怎么用?DOSBox使用教程
- 【详解】EL表达式和JSTL标签库的使用
- 举例 微积分 拉格朗日方程_拉格朗日方程的应用及举例08讲(推荐文档)
- C/C++ 编码准则,可借鉴的东西还挺多!
- 机械革命计算机配置,机械革命笔记本Bios设置方法
- js数组倒序排列+字符串数组转为数字数组
- 教你巧用万用表测量大值电阻
- php 安全禁止函数,禁用危险函数-PHP安全
- SpringBoot+SpringBootJPA+Thymeleaf实现基本CURD+分页
- 一个简单的百度爬虫实例
- NVT | 67x USB MSDC设备分析
- Opengl ES之矩阵变换