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相关推荐

  1. class function或class procedure是什么意思

    类函数\类过程.   它们是直接操作在类上面(没有实例化的对象) 下面是Delphi    Help    的描述            A class method is a method (oth ...

  2. Database项目中关于Procedure sp_refreshsqlmodule_internal的错误

    最近项目中发现一怪问题,使用DB项目发布数据库时,总提示 "(110,1): SQL72014: .Net SqlClient Data Provider: Msg 1222, Level ...

  3. Oracle job procedure 存储过程定时任务

    Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 ...

  4. 27.5. PROCEDURE ANALYSE()

    数据列优化 SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]]) 原文出处:Netkiller 系列 ...

  5. Oracle procedure

    @创建过程的语法 CREATE [OR REPLACE] PROCEDURE <procedure name>[(<parameter list>)] IS|AS <lo ...

  6. 存储过程和函数 PROCEDURE FUNCTION

    SQL语句执行的时候,要首先编译,然后在被执行.在大型数据库系统中,为了提高效率,将为了完成特定功能的SQL语句集进行编译优化后,存储在数据库服务器中,用户通过指定存储过程的名字来调用执行. 具体而言 ...

  7. 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 ...

  8. SAP QM初阶执行事务代码QDB1,报错- Sampling procedure NM000001 has no sampling scheme-

    SAP QM初阶执行事务代码QDB1,报错- Sampling procedure NM000001 has no sampling scheme- SAP QM模块里,事务代码QDB1用于维护取样策 ...

  9. 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 ...

最新文章

  1. Android使用自定义View时:Error inflating class错误的原因。
  2. 日本机器人实力大盘点,和Atlas的高调刷屏相比,日本机器人的默默崛起更让人忌惮...
  3. a标签download属性无效_HTML从零开始——链接标签
  4. 在网页中插入百度地图的那些事
  5. 微服务开发的 10 个最佳实践
  6. 为什么不断做迁移,那是在还技术债
  7. Mysql 时间格式默认空串 ‘0000-00-00 00:00:00‘ select抛出异常的解决方法
  8. ABP官方文档翻译 5.1 Web API控制器
  9. dosbox运行C语言,DOSBox怎么用?DOSBox使用教程
  10. 【详解】EL表达式和JSTL标签库的使用
  11. 举例 微积分 拉格朗日方程_拉格朗日方程的应用及举例08讲(推荐文档)
  12. C/C++ 编码准则,可借鉴的东西还挺多!
  13. 机械革命计算机配置,机械革命笔记本Bios设置方法
  14. js数组倒序排列+字符串数组转为数字数组
  15. 教你巧用万用表测量大值电阻
  16. php 安全禁止函数,禁用危险函数-PHP安全
  17. SpringBoot+SpringBootJPA+Thymeleaf实现基本CURD+分页
  18. 一个简单的百度爬虫实例
  19. NVT | 67x USB MSDC设备分析
  20. Opengl ES之矩阵变换

热门文章

  1. IOS 中 pch 文件详解
  2. 聊聊Kotlin包的概念(一)
  3. 可口可乐为何频出奇葩口味?
  4. 药明康德成都研发中心投入运营;中国白酒行业净利润将迎来七年来首次下滑 | 美通企业日报...
  5. 【狮子数学】05极限的计算——数列极限的计算
  6. 大陆ARS-408XX毫米波雷达
  7. 魔百盒CM201-1刷机教程
  8. Python--栈和队列
  9. 用C语言API(常用)操作MySql数据库
  10. 操作电脑:谨防“腕管综合症”