JCL Utility 之 IDCAMS复制数据集

十二月 3, 2008 by Raymond
Filed under: JCL Utility 

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中。

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
  • Share/Bookmark

Comments

Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!





  • 分类目录

  • 功能

  • 联络订阅

    google reader
    订阅到抓虾
    订阅到鲜果
    订阅到飞鸽
    bloglines
    my yahoo
    netvibes