idcams的用法

2026/1/14 13:55:55

JCL Utility 之 IDCAMS复制数据集

Filed Under (JCL Utility) by Raymond on 03-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)

本版都是作者原创,转载请注明出处 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来实


idcams的用法.doc 将本文的Word文档下载到电脑
搜索更多关于: idcams的用法 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219