设为首页 收藏本站
查看: 1496|回复: 0

[经验分享] IBM大型机操作系统 学习笔记(4)

[复制链接]

尚未签到

发表于 2017-5-26 12:27:18 | 显示全部楼层 |阅读模式
  昨天学习了实用程序的调用,鉴于时间关系,只实践了IBEGENER的内容,等有时间了再补上。今天学习了流内过程和编目过程的调用,感觉哈好,就是有一点让我很不爽:我写不出复杂点的JCL语句。这个就郁闷了。没办法,慢慢熟悉吧。
  [基本概念]
  过程:过程是一段预先编写好的JCL语句的集合,它可以被反复调用.包括编目过程和流内过程.
  编目过程:在指定的过程库中编目的过程.该过程库可以是分区数据集或扩展分区数据集,通常系统过程被编目在系统过程库,用户过程被编目在用户过程库.由于调用编目过程时,系统所提供的是该过程的拷贝,所以一个编目过程可以同时被几个作业调用.
  流内过程:放置在作业输入流中的过程. 在一个作业中最多可以有15个流内过程. 不能嵌套使用,也不能被其他作业调用.流内过程和编目过程不同,前者随着一个作业放在输入流中,紧跟在JOB语句之后. 一般而言,流内过程只用于测试阶段,一旦测试通过,即可对其进行编目,即转变为编目过程.
  [流内过程]
  //R123 JOB (456),”SMITH”,CLASS=A#这行 very重要 ,不可漏掉
//RUN PROC# 开始定义一个过程, 此句必须紧跟在JOB语句后面
//GO EXEC PGM=ONE
//SYSOUT DD SYSOUT=A
// PEND# 标志一个流内过程的结束(编目过程不需要此句)
//STEP1 EXEC RUN#调用RUN这个流内过程
  [编目过程]
  该编目过程存放在ST018.PDS.LIB(PROC1)里面
  //RUN PROC# 开始定义一个过程, 此句必须紧跟在JOB语句后面
//GO EXEC PGM=ONE
//SYSOUT DD SYSOUT=A
  调用该编目过程的JCL语句写在另外一个文件
  //MYJOB JOB ....
  //MYLIB JCLLIB ORDER=ST018.PDS.LIB#此步非常之重要,定义一个Private LIB,
  //STP1 EXEC PROC=PROC1#开始调用,注意:过程名不是RUN,而是PROC1,即成员名
  过程的修改:
  [修改DD语句]
  //INVOKE EXECTRANSACT
//procstepname.ddname DD parameter=value

  说明:
  if(procstepname.ddname 不在 parameter.procstepname中)
  {
  新增DD语句ddname
  }
  else
  {
  if(parameter存在于过程中) then 覆盖原来parameter 的值
  if(parameter不存在于过程中)then 新增参数
  if(value==' ') then 还原参数parameter的默认值
  if(被调用过程中存在不是parameter的参数)then 保留那些参数值
  }
  若要使得DD语句无效,请参照下面格式
  //PROCSTEPNAME.DDNAME DD DUMMY
  或者
  //PROCSTEPNAME.DDNAME DD DSN=NULLFILE
  特别提醒: 该做法对BCD参数无效. 如果要连BCD也作用的话, 看下面的格式:
  This is a DD statement in a procedure called PSTEP1:
//DD3 DD DSN=MYDSET,DISP=SHR,
// DCB=(RECFM=FB,
// BLKSIZE=160,LRECL=80)

  Inorder to nullify the entire DCB parameter of the DD statement, each DCBkeyword subparameter specifiedin the procedure definition must be nullified as shown below:
  //PSTEP1.DD3 DD DCB=(RECFM=,BLKSIZE=,LRECL=)
  [修改EXEC语句]
  //STEPNAME EXEC TRANSACT,PARAMETER.STEPNAME=VALUE
  其他的与修改DD语句基本相同.不再累述.
  [使用符号参数]
  定义符号参数(必须在过程中定义):
  //.........,parameter=&A#A是符号
  赋值符号参数:
  方法一
  TRANSACT definition:
//PSTEP1 EXEC PGM=PROG1,
// ACCT=&DEPT1
//PSTEP2 EXEC PGM=PROG2,
// ACCT=&DEPT2
Assigning values to &DEPT:
//JSTEP EXEC TRANSACT,
// DEPT1=GRP50,
// DEPT2=GRP100
  方法二
  TRANSACT definition:
//PSTEP1 EXEC PGM=PROG1,
// ACCT=&DEPT1
//PSTEP2 EXEC PGM=PROG2,
// ACCT=&DEPT2
Assigning values to &DEPT1:
// SET DEPT1=GRP100
//JSTEP EXEC TRANSACT
  小结:
  昨天因为某些原因,放纵自己过度,卡丁至深夜不止,今天没爬起来上课,于是串到下午,呵呵.不过总体还算跟上,高兴啊.老师今天还讲了COND参数的使用,因为前面已经整理过了,所以不再累述.
  几点需注意的:
  1、调用编目过程时,记得加入过程库
  2、过程中禁止出现“/*”、“//DDNAME DD *”,否则,我也不知道会怎样
  3、请求卷的时候,如果填写的卷不存在,会造成作业占着主机资源不放。解决办法,在TIME里面设置一下应该可以,不过我还没亲自实现过,理论上是这么说的。
  PS:各位来我空间的XDJM ,敬请冒个泡,在这里特别点名批评小李,还有达华。。呵呵哈哈^_^

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-381398-1-1.html 上篇帖子: IBM大型机操作系统 学习笔记(2) 下篇帖子: IBM AIX文件服务器挂载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表