JCL面试题总结
发布时间:2022-12-19 15:07:32
JCL部分:一,DISP参数用来告诉系统要使用的数据集的状态是什么并且告诉系统当本作业步正常或异常结束时如何处理这个数据集。默认的是(NEW,DELETE,DELETE)数据集状态描述:NEW:分配新的数据集。OLD:指明数据集在本作业步执行前已经存在,这里用排他方式使用它(独占这个数据集)。SHR:指明数据集在本作业步执行前已经存在,这里用共享的方式使用它。这两种方式每写入一次就刷新一次,即覆盖先前写入的记录。MOD:指明是以下两种情况之一:如果数据集已经存在,独占这个数据集,而且在本作业步里的新数据会加到文件末尾,要求数据集必须是顺序文件。如果数据集不存在,在本作业步里创建它。以上两种情况下,数据集都是排他性使用的,文件打开后,读写指针都会移到文件末尾。正常结束时的处理参数:DELETE:指明本作业步结束后系统删除此数据集,释放所占空间。KEEP:指明作业步结束时数据集仍然保留。PASS:指明数据集要保留给后面的作业步使用,一般对临时数据集使用。CATLG:指明作业步结束后保留该数据集并自动对数据集编目。UNCATLG:指明作业步结束后自动清除数据集编目。非正常结束时的处理参数:DELETE:指明作业步结束后系统删除此数据集,释放所占空间。KEEP:指明非正常结束时数据集仍然保留。CATLG:指明作业步结束后自动对数据集编目。UNCATLG:指明作业步结束后自动清除数据集编目。二,JCL中怎么定义在子程序中要调用的文件?DD语句三,DATASET怎么从一个STEP传递到另一个STEP?A:传递由DISP参数决定,使用DATASET只能被传递到下一个STEP//STEPA>>>>EXECPGM=FILL//DD1DDDSN=SWITH.GROUP1,…,DISP=(,PASS…//STEPBEXECPGM=CHAR//DD2DDDSN=STEPA.DD1,DISP=(OLD,CATLG,DELETE四,JOBLIB语句和STEPLIB语句和JCLLIB语句有什么区别?>>>>JOBLIB是特殊的DD语句的名字;该语句跟在JOB语句之后,指定一个存放程序的私有库的名称,作用于整个JOB,对于所有的steps都有效,并且不能放在编目过程中,系统到里面去找EXEC