<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mainframe is Back &#187; JCL Utility</title>
	<atom:link href="http://www.ibmmainframe.cn/category/%e5%bc%80%e5%8f%91%e6%8c%87%e5%8d%97programming-guide/jcl-utility/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ibmmainframe.cn</link>
	<description>Everything about Mainframe: 中文大型机资讯网</description>
	<lastBuildDate>Wed, 28 Jul 2010 11:40:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>JCL Utility 之 IDCAMS删除Data Set(Deleting Cataloged Data Sets)</title>
		<link>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e5%88%a0%e9%99%a4data-setdeleting-cataloged-data-sets/</link>
		<comments>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e5%88%a0%e9%99%a4data-setdeleting-cataloged-data-sets/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 03:05:59 +0000</pubDate>
		<dc:creator>Raymond</dc:creator>
				<category><![CDATA[JCL Utility]]></category>
		<category><![CDATA[JCL]]></category>

		<guid isPermaLink="false">http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e5%88%a0%e9%99%a4data-setdeleting-cataloged-data-sets/</guid>
		<description><![CDATA[IDCAMS Utility中，还提供了一个’DELETE’命令，用于删除Cataloged Data Set。在删除Data Set的同时，对Data Set进行uncatalog操作。’DELETE’可以操作的包括： 1. Sequential Data Set 2. Partitioned Data Set 3. Partitioned Data Set中的member ‘DELETE’命令的语法： //STEP1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=A //SYSIN DD *   DELETE data-set-name   DELETE data-set-name(member) /*   删除Data Set的例子： DELETE MIB.TEMP.DATA 删除member的例子： DELETE MIB.PGM.LOAD(COMPIT) PURGE: 在使用’DELETE’命令时，还可以使用’PURGE’参数。使用’DELETE’时，默认情况是’NOPURGE’。添加’PURGE’参数后，即不管现在Data Set的状态是什么，都进行删除操作。 使用’PURGE’参数删除的一个例子： //SYSIN DD * DELETE data-set-name - PURGE ERASE: [...]]]></description>
			<content:encoded><![CDATA[<p>IDCAMS Utility中，还提供了一个’DELETE’命令，用于删除Cataloged Data Set。在删除Data Set的同时，对Data Set进行uncatalog操作。’DELETE’可以操作的包括：</p>
<p>1. Sequential Data Set 2. Partitioned Data Set 3. Partitioned Data Set中的member</p>
<p>‘DELETE’命令的语法：</p>
<table border="1" cellspacing="0" cellpadding="1" width="400">
<tbody>
<tr>
<td width="400" valign="top">//STEP1 EXEC PGM=IDCAMS<br />
//SYSPRINT DD SYSOUT=A<br />
//SYSIN DD *<br />
  DELETE data-set-name<br />
  DELETE data-set-name(member)<br />
/*</td>
</tr>
</tbody>
</table>
<p> </p>
<p>删除Data Set的例子：</p>
<p>DELETE MIB.TEMP.DATA</p>
<p>删除member的例子：</p>
<p>DELETE MIB.PGM.LOAD(COMPIT)</p>
<p>PURGE:</p>
<p>在使用’DELETE’命令时，还可以使用’PURGE’参数。使用’DELETE’时，默认情况是’NOPURGE’。添加’PURGE’参数后，即不管现在Data Set的状态是什么，都进行删除操作。</p>
<p>使用’PURGE’参数删除的一个例子：</p>
<p>//SYSIN DD *</p>
<p>DELETE data-set-name -</p>
<p>PURGE</p>
<p>ERASE:</p>
<p>在使用’DELETE’命令时，还可以添加’ERASE’参数，即在删除Date Set之后，使用二进制的’0’来覆盖 Data Set所占用的磁盘空间。也就是所谓的完全删除。</p>
<p>使用’ ERASE’参数删除的一个例子：</p>
<p>//SYSIN DD *</p>
<p>DELETE data-set-name -</p>
<p>ERASE</p>
<p>即在删除’ data-set-name’后,’ data-set-name’所占用的DASD空间，会被二进制的’0’所覆盖。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e5%88%a0%e9%99%a4data-setdeleting-cataloged-data-sets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JCL Utility 之 IDCAMS重命名Data Set(Renaming Data Sets)</title>
		<link>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e9%87%8d%e5%91%bd%e5%90%8ddata-setrenaming-data-sets/</link>
		<comments>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e9%87%8d%e5%91%bd%e5%90%8ddata-setrenaming-data-sets/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 01:47:09 +0000</pubDate>
		<dc:creator>Raymond</dc:creator>
				<category><![CDATA[JCL Utility]]></category>
		<category><![CDATA[JCL]]></category>

		<guid isPermaLink="false">http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e9%87%8d%e5%91%bd%e5%90%8ddata-setrenaming-data-sets/</guid>
		<description><![CDATA[IDCAMS的另一个常用功能就是Data Set的重命名。Data Set的重命名使用’ALTER’命令来完成。’ALTER’可以重命名操作的Data Set，除了Sequential Data Set外,还可以操作Partitioned Data Set，以及对Partitioned Data Set中member的重命名。 使用’ALTER’命令重命名Data Set的语法: ALTER old-data-set-name NEWNAME(new-data-set-name) 其中’ old-data-set-name’和’ new-data-set-name’既可以是’ Partitioned Data Set’，也可以是’ Sequential Data Set’。 使用’ALTER’命令重命名member的语法： ALTER data-set-name(old-member) NEWNAME(data-set-name(new-member)) 以下是一个在JCL中使用’ALTER’命令的例子： //STEP1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=A //SYSIN DD * ALTER MIB.TEMP.DATA NEWNAME(MIB.TEST.DATA) ALTER MIB.PGM.LOAD(COMP) NEWNAME(MIB.PGM.LOAD(COMPIT)) /* 在以上的JCL中，分别将名为’MIB.TEMP.DATA’的Data Set重命名为了名为’ MIB.TEST.DATA’的Data Set。 在第二个’ALTER’命令中，将名为’ COMP’的member，重命名为了’ COMPIT’。]]></description>
			<content:encoded><![CDATA[<p>IDCAMS的另一个常用功能就是Data Set的重命名。Data Set的重命名使用’ALTER’命令来完成。’ALTER’可以重命名操作的Data Set，除了Sequential Data Set外,还可以操作Partitioned Data Set，以及对Partitioned Data Set中member的重命名。</p>
<p>使用’ALTER’命令重命名Data Set的语法:</p>
<p>ALTER old-data-set-name NEWNAME(new-data-set-name)</p>
<p>其中’ old-data-set-name’和’ new-data-set-name’既可以是’ Partitioned Data Set’，也可以是’ Sequential Data Set’。</p>
<p>使用’ALTER’命令重命名member的语法：</p>
<p>ALTER data-set-name(old-member) NEWNAME(data-set-name(new-member))</p>
<p>以下是一个在JCL中使用’ALTER’命令的例子：</p>
<table border="1" cellspacing="0" cellpadding="1" width="404">
<tbody>
<tr>
<td width="402" valign="top">//STEP1 EXEC PGM=IDCAMS<br />
//SYSPRINT DD SYSOUT=A<br />
//SYSIN DD *<br />
ALTER MIB.TEMP.DATA NEWNAME(MIB.TEST.DATA)<br />
ALTER MIB.PGM.LOAD(COMP) NEWNAME(MIB.PGM.LOAD(COMPIT))<br />
/*</td>
</tr>
</tbody>
</table>
<p>在以上的JCL中，分别将名为’MIB.TEMP.DATA’的Data Set重命名为了名为’ MIB.TEST.DATA’的Data Set。</p>
<p>在第二个’ALTER’命令中，将名为’ COMP’的member，重命名为了’ COMPIT’。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e9%87%8d%e5%91%bd%e5%90%8ddata-setrenaming-data-sets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JCL Utility 之 IDCAMS输出Data Set</title>
		<link>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e8%be%93%e5%87%badata-set/</link>
		<comments>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e8%be%93%e5%87%badata-set/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 09:48:53 +0000</pubDate>
		<dc:creator>Raymond</dc:creator>
				<category><![CDATA[JCL Utility]]></category>
		<category><![CDATA[JCL]]></category>

		<guid isPermaLink="false">http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e8%be%93%e5%87%badata-set/</guid>
		<description><![CDATA[IDCAMS的另一个实用功能就是输出Data Set中的记录。具体的JCL如下所示： //STEP1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=A //ddname DD DSN=&#8230; //*在DD段中定义要输出的Data Set //SYSIN DD *   PRINT -   INFILE(ddname) -   CHAR /* 在以上的JCL的命令控制部分，除了INFILE的定义外，还添加了一个’CHAR’参数。’CHAR’参数用来控制输出记录的形式，’CHAR’表示以字符形式输出Data Set中的记录。除了’CHAR’之外，还有其他参数，如下表所示： 参数名称 参数功能 CHAR 此参数控制Data Set以字符形式输出 hexadecimal 此参数控制Data Set以16进制形式输出 DUMP 此参数控制Data Set同时以字符和16进制形式输出 下面是一个以16进制输出Data Set的语句： PRINT INFILE(DDIN) HEX COUNT和SKIP参数在输出Data Set中，依然可以使用，用于控制输出Data Set的记录。如下面的JCL例子，输出 ’DDIN’ Data Set的前100行记录，并且跳过前10行记录不输出： PRINT INFILE(DDIN) HEX COUNT(100) SKIP(10)]]></description>
			<content:encoded><![CDATA[<p>IDCAMS的另一个实用功能就是输出Data Set中的记录。具体的JCL如下所示：</p>
<p>//STEP1 EXEC PGM=IDCAMS<br />
//SYSPRINT DD SYSOUT=A<br />
//ddname DD DSN=&#8230;<br />
//*在DD段中定义要输出的Data Set<br />
//SYSIN DD *<br />
  PRINT -<br />
  INFILE(ddname) -<br />
  CHAR<br />
/*</p>
<p>在以上的JCL的命令控制部分，除了INFILE的定义外，还添加了一个’CHAR’参数。’CHAR’参数用来控制输出记录的形式，’CHAR’表示以字符形式输出Data Set中的记录。除了’CHAR’之外，还有其他参数，如下表所示：</p>
<table border="1" cellspacing="0" cellpadding="1" width="498">
<tbody>
<tr>
<td width="171" valign="top">参数名称</td>
<td width="325" valign="top">参数功能</td>
</tr>
<tr>
<td width="173" valign="top">CHAR</td>
<td width="324" valign="top">此参数控制Data Set以字符形式输出</td>
</tr>
<tr>
<td width="174" valign="top">hexadecimal</td>
<td width="323" valign="top">此参数控制Data Set以16进制形式输出</td>
</tr>
<tr>
<td width="175" valign="top">DUMP</td>
<td width="323" valign="top">此参数控制Data Set同时以字符和16进制形式输出</td>
</tr>
</tbody>
</table>
<p>下面是一个以16进制输出Data Set的语句：</p>
<p>PRINT INFILE(DDIN) HEX</p>
<p>COUNT和SKIP参数在输出Data Set中，依然可以使用，用于控制输出Data Set的记录。如下面的JCL例子，输出<br />
’DDIN’ Data Set的前100行记录，并且跳过前10行记录不输出：</p>
<p>PRINT INFILE(DDIN) HEX COUNT(100) SKIP(10)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e8%be%93%e5%87%badata-set/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JCL Utility 之 IDCAMS复制数据集</title>
		<link>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e5%a4%8d%e5%88%b6%e6%95%b0%e6%8d%ae%e9%9b%86/</link>
		<comments>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e5%a4%8d%e5%88%b6%e6%95%b0%e6%8d%ae%e9%9b%86/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 09:15:36 +0000</pubDate>
		<dc:creator>Raymond</dc:creator>
				<category><![CDATA[JCL Utility]]></category>
		<category><![CDATA[JCL]]></category>

		<guid isPermaLink="false">http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e5%a4%8d%e5%88%b6%e6%95%b0%e6%8d%ae%e9%9b%86/</guid>
		<description><![CDATA[IDCAMS这个utility主要功能是通过JCL来操作Data Set和VSAM文件的。以下JCL的一个STEP，就是IDCAMS常用的使用方法： //stepname EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=A //*以上的SYSPRINT会把IDCAMS的信息都输出，输出到JOB LOG中 //ddname DD DSN=&#8230; //*在以上的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=&#8230; //out-ddname DD DSN=&#8230; //SYSIN DD * REPRO - INFILE(in-ddname) - OUTFILE(out-ddname) /* 如上的JCL所示，上面的JCL用于复制两个Sequential Data Set。 [...]]]></description>
			<content:encoded><![CDATA[<p>IDCAMS这个utility主要功能是通过JCL来操作Data Set和VSAM文件的。以下JCL的一个STEP，就是IDCAMS常用的使用方法：</p>
<p>//stepname EXEC PGM=IDCAMS<br />
//SYSPRINT DD SYSOUT=A<br />
//*以上的SYSPRINT会把IDCAMS的信息都输出，输出到JOB LOG中<br />
//ddname DD DSN=&#8230;<br />
//*在以上的DD段中，有些JCL需要定义一个DD段，来定义输入Data Set。有些JCL需要定义两个DD段，在定义了<br />
//*输入Data Set的同时，定义输出Data Set。<br />
//SYSIN DD *<br />
//*命令语句<br />
/*</p>
<p>功能一：复制一个Sequential Data Set</p>
<p>使用REPRO命令来完成复制功能，该命令可以用于复制Sequential Data Set，或者复制Partitioned Data Set的member。具体复制方法如下面的JCL所示：</p>
<p>//STEP1 EXEC PGM=IDCAMS<br />
//SYSPRINT DD SYSOUT=A<br />
//in-ddname DD DSN=&#8230;<br />
//out-ddname DD DSN=&#8230;<br />
//SYSIN DD *<br />
REPRO -<br />
INFILE(in-ddname) -<br />
OUTFILE(out-ddname)<br />
/*</p>
<p>如上的JCL所示，上面的JCL用于复制两个Sequential Data Set。</p>
<p>另外，IDCAMS还提供了两个有趣的参数，使用这两个参数，可以有选择地复制Data Set中的记录。这两个参数分别是COUNT和 SKIP，可以在复制的时候添加。</p>
<p>COUNT参数的使用方法如下所示：</p>
<p>REPRO -<br />
INFILE(in-ddname)-<br />
OUTFILE(out-ddname) -<br />
COUNT(n)</p>
<p>以上JCL添加了COUNT参数，在复制的过程中，会只复制 ‘in-ddname’的前n行记录。</p>
<p>SKIP参数的使用方法如下所示：</p>
<p>REPRO -<br />
INFILE(in-ddname)-<br />
OUTFILE(out-ddname) -<br />
SKIP(n)</p>
<p>以上JCL添加了SKIP参数，在复制的过程中，在复制‘in-ddname’的时候，会跳过前n行记录，即不复制‘in-ddname’的前n行记录。</p>
<p>下面是一个COUNT和SKIP参数共同使用，来控制复制记录的例子：</p>
<p>REPRO INFILE(INDD) OUTFILE(OUTDD) COUNT(100) SKIP(4)</p>
<p>上面的JCL会复制INDD的前100行记录，并且略过前4行记录进行复制。复制后的结果会保存在OUTDD中。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ibmmainframe.cn/2008/12/jcl-utility-%e4%b9%8b-idcams%e5%a4%8d%e5%88%b6%e6%95%b0%e6%8d%ae%e9%9b%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
