资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
JCLJCL UtilityUtility 之之 IDCAMSIDCAMS 复制数据集复制数据集FiledFiled UnderUnder ( (JCLJCL UtilityUtility) ) byby RaymondRaymond onon 03-12-200803-12-2008 IDCAMS 这个 utility 主要功能是通过 JCL 来操作 Data Set 和 VSAM 文件的。以 下 JCL 的一个 STEP,就是 IDCAMS 常用的使用方法:/stepname EXEC PGM=IDCAMS /SYSPRINT DD SYSOUT=A /*以上的 SYSPRINT 会把 IDCAMS 的信息都输出,输出到 JOB LOG 中 /ddname DD DSN= /*在以上的 DD 段中,有些 JCL 需要定义一个 DD 段,来定义输入 Data Set。 有些 JCL 需要定义两个 DD 段,在定义了 /*输入 Data Set 的同时,定义输出 Data Set。 /SYSIN DD * /*命令语句 /*功能一:复制一个 Sequential Data Set使用 REPRO 命令来完成复制功能,该命令可以用于复制 Sequential Data Set,或者复制 Partitioned Data Set 的 member。具体复制方法如下面的 JCL 所示:/STEP1 EXEC PGM=IDCAMS /SYSPRINT DD SYSOUT=A /in-ddname DD DSN= /out-ddname DD DSN= /SYSIN DD * REPRO - INFILE(in-ddname) - OUTFILE(out-ddname) /*如上的 JCL 所示,上面的 JCL 用于复制两个 Sequential Data Set。另外,IDCAMS 还提供了两个有趣的参数,使用这两个参数,可以有选择地复制 Data Set 中的记录。这两个参数分别是 COUNT 和 SKIP,可以在复制的时候添 加。COUNT 参数的使用方法如下所示:REPRO - INFILE(in-ddname)- OUTFILE(out-ddname) - COUNT(n)以上 JCL 添加了 COUNT 参数,在复制的过程中,会只复制 in-ddname的前 n 行记录。SKIP 参数的使用方法如下所示:REPRO - INFILE(in-ddname)- OUTFILE(out-ddname) - SKIP(n)以上 JCL 添加了 SKIP 参数,在复制的过程中,在复制in-ddname的时候, 会跳过前 n 行记录,即不复制in-ddname的前 n 行记录。下面是一个 COUNT 和 SKIP 参数共同使用,来控制复制记录的例子:REPRO INFILE(INDD) OUTFILE(OUTDD) COUNT(100) SKIP(4)上面的 JCL 会复制 INDD 的前 100 行记录,并且略过前 4 行记录进行复制。复制 后的结果会保存在 OUTDD 中。用用 IDCAMS 程序定义程序定义 VSAM 数据集数据集1、用于建立和维护 VSAM 数据集和世代数据集。2、当使用 VSAM 数据集或维护系统目录时,必须使用 AMS 命令。3、AMS 命令分两类:功能命令,如定义数据集,列表目录等;辅助命令,作用是设置条件执行功能。4、AMS 实用程序的调用模式使用 AMS 主要有 TSO 环境下通过 AMS 命令及利用 JCL 调用方法。JCL 调用模式:/JOB1 JOB/JOBCAT DD/ DSNAME=DB.DATA,DISP=SHR/STEP EXEC PGM=IDCAMS/SYSPRINT DD SYSOUT=*/SYSIN DD *COMMAND parameters/*注:JOBCAT DD 语句定义一个目录名;EXEC 语句指出 AMS 程序名为 IDCAMS;SYSPRINT DD 语句指定系统的输出信息;SYSIN DD 语句为 IDCAMS 提供各种 AMS 命令;5、AMS 命令及功能ALTER:修改数据集和目录属性;BLDINDEX:建立辅助索引;DEFINE ALIAS:为目录或数据集建立别名;DEFINE ALTERNATEINDEX:定义辅助索引;DEFINE CLUSTER:为 VSAM 数据集定义簇;DEFINE GENERATION DATA GROUP:为世代数据集定义编目入口;DEFINE NONVSAM:为非 VSAM 数据集定义编目入口;DEFINE PAGE SPACE:定义系统页空间数据集;DEFINE PATH:定义连接辅助索引与主数据集的路径;DEFINE USER CATALOG:定义用户目录;DELETE:删除目录、VSAM 及非 VSAM 数据集;EXPORT:中断用户目录与主目录的联系;IMPORT:接通用户目录与主目录的联系;LISTCAT:列表编目内容;PRINT:打印 VSAM、非 VSAM 数据集及目录内容;REPR:拷贝 VSAM、非 VSAM 数据集及目录,分类及综合编目功能新手入门之如何创建和使用新手入门之如何创建和使用 GDG(IDCAMS)GDG(IDCAMS)本版都是作者原创,转载请注明出处FROM:http:/www.kokwind.com/bbs/AUTHOR:Aven guo世代数据集组 GDG(GENERATION DATA GROUP)是一组编目的数据集,其组内的每一个数据集称为世代数据集或一代数据集,它们具有相同的名字且在时间序列上是相关的。如要求保留以年内的工资发放数据,每月的工资数据集就是一个世代数据集,全年 12 个月的工资数据集便构成了一个世代数据集组。世代数据集可以是顺序数据集或分区数据集,它可以写在磁盘或磁带上,但一个 GDG 的所有数据集应驻留在相同介质上。由于一个 GDG 中的所有数据集都使用相同的名字,所以要区分各个世代数据集,就要使用世代编号。世代编号可以是相对编号或绝对编号。系统在维护 GDG 时使用绝对编号,而应用程序员通常则使用相对编号。 相对编号:假设由一个 3 代的 GDG,PAYROLL.DATA(其中这 3 代数据集分别为 8、9、10 三个月份的数据,10 月份数据为当前代数据集),则当前一代数据集(10 月份的数据集)表示为:DSN=PAYROLL.DATA(0),上一代数据集(9 月份的数据集)则表示为 SN=PAYROLL.DATA(-1),更早一代的数据集(8 月份的数据集)则表示为:DSN=PAYROLL.DATA(-2). 如果在该 GDG 中要产生新一代(11 月)数据集,则可写为DSN=PAYROLL.DATA(+1),由此可见这些相对编号时相对于当前一代数据集而言,当前一代数据集用零表示,在当前一代前存入的世代数据集用负数表示,在其之后存入的世代数据集用正数表示。 绝对编号:在每一个 GDG 名后加一个后缀 GxxxxVyy,其中 xxxx 为绝对世代编号,yy 是版本号(00-99) ,如果 DSN=PAYROLL.DATA(0),对应的实际名字为: PAYROLL.DATA.G0004V00, 而 DSN=PAYROLL.DATA(-1),则对应的实际名字为:PAYROLL.DATA.G0003V00。 参数: NAME: 确定了 GDG 名(STJI.MJA.VE025.TESTGDG),它表示这个 GDG 的每一代具有的名为:STJI.MJA.VE025.TESTGDG.GxxxxVyy ,这里“xxxx”是世代编号, “yy”是版本号; LIMIT: 指定在 GDG 中可以有几个世代数据集; EMPTY 或 NOEMPTY: 指出当 GDG 中的世代数据集达到 LIMIT 给定的最大数,而又要加入新的世代数据集时,是否将所有世代数据集移出 GDG,用 EMPTY 参数表示全部移出,NOEMPTY 表示在 GDG01 中保留最新的三个世代数据集; SCRATCH 或 NOSCRATCH: 指出移出 GDG 的世代数据集是否删除,SCRATCH 参数表示删除,NOSCRATCH 参数表示不删除。 GDG 的定义及建立参考 JCL4, 存入和读取都可以通过 IEBGENER 来实现 删除一个 GDG 不像其他类型的数据集那样简单,它需要以下步骤: (1) 删除 GDG 中的各个世代数据集 (2) 删除 GDG BASE 注:GDG base 并无实体存在,所以没有卷的问题 复制内容到剪贴板 /JOBCARD /* /* STEP00 GDG /* /STEP00 EXEC PGM=IDCAMS /SYSPRINT DD SYSOUT=
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号