<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="0.92">
<channel>
	<docs>http://backend.userland.com/rss092</docs>
	<title>MVSFORUMS.com</title>
	<link>http://www.mvsforums.com/helpboards/</link>
	<description>A Community of and for MVS Professionals</description>
	<managingEditor>admin@mvsforums.com</managingEditor>
	<webMaster>admin@mvsforums.com</webMaster>
	<lastBuildDate>Sun, 05 Feb 2012 04:31:23 GMT</lastBuildDate>
<item>
	<title>TSO and ISPF :: RE: IOF panel calling from REXX</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58872#58872</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=2&quot; target=&quot;_blank&quot;&gt;kolusu&lt;/a&gt;&lt;br /&gt;

Posted: Fri Feb 03, 2012 1:21 pm (GMT -5)&lt;br /&gt;
Topic Replies: 1&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;sudipta15ee&lt;/span&gt;, 
&lt;br /&gt;

&lt;br /&gt;
Are you kidding? You started 5 topics and 4 of them are dealing with the same question. Do you even bother to read the responses ?
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Here is a list of all the topics you started.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mvsforums.com/helpboards/search.php?search_id=usertopics&amp;amp;user=24853&quot; target=&quot;_blank&quot;&gt;http://www.mvsforums.com/helpboards/search.php?search_id=usertopics&amp;amp;user=24853&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Kolusu
&lt;br /&gt;_________________&lt;br /&gt;Kolusu - DFSORT Development Team (IBM) 
&lt;br /&gt;
DFSORT is on the Web at: 
&lt;br /&gt;
&lt;a href=&quot;http://www.ibm.com/storage/dfsort&quot; target=&quot;_blank&quot;&gt;www.ibm.com/storage/dfsort&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>TSO and ISPF :: IOF panel calling from REXX</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58871#58871</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=24853&quot; target=&quot;_blank&quot;&gt;sudipta15ee&lt;/a&gt;&lt;br /&gt;
Subject: IOF panel calling from REXX&lt;br /&gt;
Posted: Fri Feb 03, 2012 1:09 pm (GMT -5)&lt;br /&gt;
Topic Replies: 1&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;how do i call IOF panel from REXX?
&lt;br /&gt;
then I have to give some line command and close this panel and return to the  rexx exec.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Could anyone help me?
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Please give some rexx code. &lt;img src=&quot;http://www.mvsforums.com/helpboards/images/smiles/icon_sad.gif&quot; alt=&quot;Sad&quot; border=&quot;0&quot; /&gt;
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Utilities :: RE: Recalling migrated datasets by dataset HLQs</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58870#58870</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=6900&quot; target=&quot;_blank&quot;&gt;expat&lt;/a&gt;&lt;br /&gt;

Posted: Fri Feb 03, 2012 5:27 am (GMT -5)&lt;br /&gt;
Topic Replies: 2&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Have a read of &lt;a href=&quot;http://www.mvsforums.com/helpboards/viewtopic.php?t=11936&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;THIS&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; topic.
&lt;br /&gt;_________________&lt;br /&gt;If it's true that we are here to help others, 
&lt;br /&gt;
then what exactly are the others here for ?&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Application Programming :: RE: Easytrieve - match criteria - order not change/sorted</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58869#58869</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=13723&quot; target=&quot;_blank&quot;&gt;radkrish82&lt;/a&gt;&lt;br /&gt;

Posted: Fri Feb 03, 2012 5:10 am (GMT -5)&lt;br /&gt;
Topic Replies: 10&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;if anyone knows the solution, pls provide. thanks in advance.
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Application Programming :: RE: Easytrieve - match criteria - order not change/sorted</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58868#58868</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=13723&quot; target=&quot;_blank&quot;&gt;radkrish82&lt;/a&gt;&lt;br /&gt;

Posted: Fri Feb 03, 2012 4:42 am (GMT -5)&lt;br /&gt;
Topic Replies: 10&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Quote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;What you say about DFSort, SyncSort and temporary fixes - does not sound practical. &lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt; 
&lt;br /&gt;
Its live. To implement in production for permanent fix, you do require to submit rfs which follows review checklist from prod monitoring team. If ICETOOL is present in permanent move to prod, it is getting rejected. I have also enjoyed working in shops which accepts DFSORT. current shop doesnt.
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Application Programming :: RE: Easytrieve - match criteria - order not change/sorted</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58867#58867</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=8191&quot; target=&quot;_blank&quot;&gt;Anuj Dhawan&lt;/a&gt;&lt;br /&gt;

Posted: Fri Feb 03, 2012 4:00 am (GMT -5)&lt;br /&gt;
Topic Replies: 10&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;What you say about DFSort, SyncSort and temporary fixes - does not sound practical. You said:&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Quote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;They have their decade old standards still un changed.they allow dfsort logic only as temporary fix (overrides) or an immediate fix JUST to close the issue asap to escape from SLA's.&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;I wonder if you change the LPAR itself for the fix, executes the fix in other LPAR or you mention some specific STEPLIBs to pick up the SORT of your interest. It's confusing.
&lt;br /&gt;_________________&lt;br /&gt;Regards,
&lt;br /&gt;
Anuj&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Application Programming :: RE: Easytrieve - match criteria - order not change/sorted</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58866#58866</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=13723&quot; target=&quot;_blank&quot;&gt;radkrish82&lt;/a&gt;&lt;br /&gt;

Posted: Fri Feb 03, 2012 12:18 am (GMT -5)&lt;br /&gt;
Topic Replies: 10&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;dont know why they are not allowing DFSORT techniques.They have their decade old standards still un changed.they allow dfsort logic only as temporary fix (overrides)  or an immediate fix JUST to close the issue asap to escape from SLA's. Out of my 3 shops, only this shop clients not willing to change.
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Quote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;Are you under the impression that if you sort the file to a temporary dataset it will also alter the contents of the input file? Your input file will remain as is. &lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
I may be in correct, but I meant it will alter the functionality if it is sorted. 
&lt;br /&gt;
I dont know the logic. I know by overlaying seq num to the end of FB file, we can remove duplicates. 
&lt;br /&gt;
[/quote]
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Utilities :: RE: Recalling migrated datasets by dataset HLQs</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58865#58865</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=2&quot; target=&quot;_blank&quot;&gt;kolusu&lt;/a&gt;&lt;br /&gt;

Posted: Thu Feb 02, 2012 3:07 pm (GMT -5)&lt;br /&gt;
Topic Replies: 2&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;tcurrier&lt;/span&gt;, 
&lt;br /&gt;

&lt;br /&gt;
Use HRECALL in batch. 
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;
&lt;br /&gt;
//STEP0100 EXEC PGM=IKJEFT01
&lt;br /&gt;
//SYSTSPRT DD&amp;nbsp; SYSOUT=*
&lt;br /&gt;
//SYSOUT&amp;nbsp; &amp;nbsp;DD&amp;nbsp; SYSOUT=* 
&lt;br /&gt;
//SYSTSIN&amp;nbsp; DD&amp;nbsp; *
&lt;br /&gt;
HRECALL NODE1.NODE2.** NOWAIT 
&lt;br /&gt;
//*&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
Check this link for detailed syntax and examples.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2u360/2.9.2&quot; target=&quot;_blank&quot;&gt;http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2u360/2.9.2&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Kolusu
&lt;br /&gt;_________________&lt;br /&gt;Kolusu - DFSORT Development Team (IBM) 
&lt;br /&gt;
DFSORT is on the Web at: 
&lt;br /&gt;
&lt;a href=&quot;http://www.ibm.com/storage/dfsort&quot; target=&quot;_blank&quot;&gt;www.ibm.com/storage/dfsort&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Utilities :: Recalling migrated datasets by dataset HLQs</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58864#58864</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=3696&quot; target=&quot;_blank&quot;&gt;tcurrier&lt;/a&gt;&lt;br /&gt;
Subject: Recalling migrated datasets by dataset HLQs&lt;br /&gt;
Posted: Thu Feb 02, 2012 2:17 pm (GMT -5)&lt;br /&gt;
Topic Replies: 2&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Hi, I'd like to recall all migrated datasets whose names meet a specified high level qualifer(s), via a batch job ....  For example:
&lt;br /&gt;

&lt;br /&gt;
NODE1.NODE2.* 
&lt;br /&gt;
NODE1.NODE2.NODE3.*
&lt;br /&gt;

&lt;br /&gt;
Is there a way to do this, and if so, what would be the most efficient way ?
&lt;br /&gt;

&lt;br /&gt;
Thanks
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Application Programming :: RE: Easytrieve - match criteria - order not change/sorted</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58863#58863</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=2&quot; target=&quot;_blank&quot;&gt;kolusu&lt;/a&gt;&lt;br /&gt;

Posted: Thu Feb 02, 2012 11:35 am (GMT -5)&lt;br /&gt;
Topic Replies: 10&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;radkrish82 wrote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;But FILEA can't be sorted.&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;radkrish82&lt;/span&gt;, 
&lt;br /&gt;

&lt;br /&gt;
Why can't you sort? Are you under the impression that if you sort the file to a temporary dataset it will also alter the contents of the input file? Your input file will remain as is.
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;radkrish82 wrote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;DFSORT is allowed only for temporary fix in my shop. The above logic which I tried in easytrieve didnt fulfill the requirement. If you can provide dfsort, i will try to use it for temporary fix.&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
You said your shop has syncsort. 
&lt;br /&gt;

&lt;br /&gt;
Kolusu
&lt;br /&gt;_________________&lt;br /&gt;Kolusu - DFSORT Development Team (IBM) 
&lt;br /&gt;
DFSORT is on the Web at: 
&lt;br /&gt;
&lt;a href=&quot;http://www.ibm.com/storage/dfsort&quot; target=&quot;_blank&quot;&gt;www.ibm.com/storage/dfsort&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Data Management :: Problem with RMM and VRS definitions with GDG data sets</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58862#58862</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=18&quot; target=&quot;_blank&quot;&gt;warp5&lt;/a&gt;&lt;br /&gt;
Subject: Problem with RMM and VRS definitions with GDG data sets&lt;br /&gt;
Posted: Thu Feb 02, 2012 8:12 am (GMT -5)&lt;br /&gt;
Topic Replies: 0&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;We have transferred from CA1 to RMM. After we are using RMM we have found that cataloged datasets on tape volumes are being scratched even  
&lt;br /&gt;
though the datasets are still cataloged and valid. We had a default     
&lt;br /&gt;
expiration of 7 days, when a data set is older than the 7 days it will  
&lt;br /&gt;
be scratched even though it should not be because it is still cataloged and a GDG. We also have some VRS definitions. The question is, what definitions are necessary to make sure that cataloged datasets, in particular GDG datasets, will not be scratched as long as they are cataloged?  Any ideas would be appreciated.                             
&lt;br /&gt;
                                      
&lt;br /&gt;
One of our VRS definitions that should apply to the following two cases:
&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;
&lt;br /&gt;
//*---------------------------------------------------------------------
&lt;br /&gt;
//* VRS FOR GENERATION DATA GROUPS&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
//*---------------------------------------------------------------------
&lt;br /&gt;
&amp;nbsp;RMM ADDVRS DSNAME&amp;#40;'**.G%%%%V00'&amp;#41; GDG CYCLES COUNT&amp;#40;99999&amp;#41; -&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;DELDATE&amp;#40;1999/365&amp;#41; LOCATION&amp;#40;HOME&amp;#41; PRIORITY&amp;#40;0&amp;#41; OWNER&amp;#40;LIBRARY&amp;#41; -&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;WHILECATALOG&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;                                                                        
&lt;br /&gt;
Here is a GDG that looks OK:&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Data set name . . &amp;#58; 'PDBP1D.DBINS.DSNLOBTS.ICP.G0251V00'&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Volume serial . . &amp;#58; B45094 Physical file sequence number . . &amp;#58; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Owner . . . . . . &amp;#58; UDBP1AD Data set sequence number . . . . &amp;#58; 1&amp;nbsp; 
&lt;br /&gt;
Job name . . . . &amp;#58; ICP10C06&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Step name . . . . &amp;#58; DSNUPROC Record format . . . . &amp;#58; FB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Program name . . &amp;#58; DSNUTILB Block size . . . . . &amp;#58; 28672&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
DD name . . . . . &amp;#58; SYS00078 Logical record length &amp;#58; 4096&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Create date . . . &amp;#58; 2012/02/01 YYYY/MM/DD Block count . . . . . &amp;#58; 24&amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Create time . . . &amp;#58; 20&amp;#58;27&amp;#58;39 Total block count . . &amp;#58; 24&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Data set size &amp;#40;KB&amp;#41; . &amp;#58; 672&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Expiration date . &amp;#58; 2012/05/01 YYYY/MM/DD Percent of volume . . &amp;#58; 0&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Original . . . . &amp;#58; YYYY/MM/DD Device number . . . . &amp;#58; D287&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
System id . . . . &amp;#58; Z9P1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Last job name . . &amp;#58; ICP10C06 Last DD name . . . . &amp;#58; SYS00078&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Last step name . &amp;#58; DSNUPROC Last device number . &amp;#58; D287&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Last program name &amp;#58; DSNUTILB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Date last read . &amp;#58; 2012/02/01 VRS management value &amp;#58;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Date last written &amp;#58; 2012/02/01 Management class . . &amp;#58;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Data class . . . . . &amp;#58;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Retention date . &amp;#58; WHILECATLG Storage class . . . . &amp;#58;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
VRS retained . . &amp;#58; YES Storage group . . . . &amp;#58;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;
                                                                        
&lt;br /&gt;
And here is a GDG that we can not explain at all:                       
&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;
&lt;br /&gt;
Data set name . . &amp;#58; 'BACKUP.MVS040.SFULL.PRIM.G0504V00'&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Volume serial . . &amp;#58; B21016 Physical file sequence number . . &amp;#58; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Owner . . . . . . &amp;#58; JOBTRAC Data set sequence number . . . . &amp;#58; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Job name . . . . &amp;#58; BKMVS040&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Step name . . . . &amp;#58; DMMVS040 Record format . . . . &amp;#58; U&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Program name . . &amp;#58; ADRDSSU Block size . . . . . &amp;#58; 32000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
DD name . . . . . &amp;#58; BACKUP1 Logical record length &amp;#58; 255&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Create date . . . &amp;#58; 2012/02/02 YYYY/MM/DD Block count . . . . . &amp;#58; 40191 
&lt;br /&gt;
Create time . . . &amp;#58; 06&amp;#58;30&amp;#58;57 Total block count . . &amp;#58; 40191&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Data set size &amp;#40;KB&amp;#41; . &amp;#58; 1255969&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Expiration date . &amp;#58; 1999/00/00 YYYY/MM/DD Percent of volume . . &amp;#58; 0&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Original . . . . &amp;#58; 1999/00/00 YYYY/MM/DD Device number . . . . &amp;#58; D180&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
System id . . . . &amp;#58; Z9P1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Last job name . . &amp;#58; BKMVS040 Last DD name . . . . &amp;#58; BACKUP1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Last step name . &amp;#58; DMMVS040 Last device number . &amp;#58; D180&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Last program name &amp;#58; ADRDSSU&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Date last read . &amp;#58; 2012/02/02 VRS management value &amp;#58;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Date last written &amp;#58; 2012/02/02 Management class . . &amp;#58;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
Data class . . . . . &amp;#58;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
Retention date . &amp;#58; Storage class . . . . &amp;#58;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
VRS retained&amp;nbsp; . . &amp;#58; NO&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Storage group . . . . &amp;#58;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Utilities :: RE: All cataloged datasets on Tape</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58861#58861</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=6900&quot; target=&quot;_blank&quot;&gt;expat&lt;/a&gt;&lt;br /&gt;

Posted: Thu Feb 02, 2012 3:44 am (GMT -5)&lt;br /&gt;
Topic Replies: 3&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;The code below might save you or boss reinventing the wheel. It's something I wrote about 12 years ago for storage management tasks.
&lt;br /&gt;

&lt;br /&gt;
Does require DFSORT to be installed........................................
&lt;br /&gt;

&lt;br /&gt;
The INCLUDES and EXCLUDES support full use of * ** and % name masking.
&lt;br /&gt;

&lt;br /&gt;
Just stick the REXX code into SYSEXEC as a member CSIUTIL and off you go. Hopefully the options are clear from the stuff written in the JCL, but for your case &lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;PARM='CSIUTIL SCAN TAPE'&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;Should give you what you need. 
&lt;br /&gt;

&lt;br /&gt;
If you need any more info, feel free to ask. 
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;//XXCSUTIL&amp;nbsp; JOB 'JOB INFORMATION',
&lt;br /&gt;
//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CLASS=M,
&lt;br /&gt;
//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MSGCLASS=T,
&lt;br /&gt;
//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NOTIFY=&amp;amp;SYSUID
&lt;br /&gt;
//*
&lt;br /&gt;
//*--------------------------------------------------------------------
&lt;br /&gt;
//STEP0020 EXEC PGM=IKJEFT01,DYNAMNBR=256,
&lt;br /&gt;
//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PARM='CSIUTIL SCAN TAPE DASD MIGR GDG'
&lt;br /&gt;
//*--------------------------------------------------------------------
&lt;br /&gt;
//* INCLUDES DD USE ==DATASET PATTERN TO OVERRIDE EXCLUDES
&lt;br /&gt;
//*--------------------------------------------------------------------
&lt;br /&gt;
//INCLUDES DD *
&lt;br /&gt;
XX.**.TXT
&lt;br /&gt;
/*
&lt;br /&gt;
//EXCLUDES DD *
&lt;br /&gt;
/*
&lt;br /&gt;
//*********************************************************************
&lt;br /&gt;
//*&amp;nbsp; &amp;nbsp;PARM VALUES - SCAN&amp;nbsp; &amp;nbsp; - LIST DATASETS ONLY
&lt;br /&gt;
//*&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- RUN&amp;nbsp; &amp;nbsp; &amp;nbsp;- DELETE OR HSM REQUEST FOR DATASETS
&lt;br /&gt;
//*********************************************************************
&lt;br /&gt;
//**&amp;nbsp; FOR LIST / DELETE OF DATASETS - USE ANY COMBINATION OF OPTIONS
&lt;br /&gt;
//**-----------------------------------------------------------------**
&lt;br /&gt;
//* SCAN / RUN&amp;nbsp; &amp;nbsp; - DASD&amp;nbsp; &amp;nbsp; - LIST / DELETE DASD DATASETS
&lt;br /&gt;
//*&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- MIGR&amp;nbsp; &amp;nbsp; - LIST / DELETE MIGRATED DATASETS
&lt;br /&gt;
//*&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- TAPE&amp;nbsp; &amp;nbsp; - LIST / DELETE TAPE DATASETS
&lt;br /&gt;
//* NOT WITH GDGF - GDG&amp;nbsp; &amp;nbsp; &amp;nbsp;- LIST / DELETE EMPTY GDG BASE
&lt;br /&gt;
//* NOT WITH GDG&amp;nbsp; - GDGF&amp;nbsp; &amp;nbsp; - LIST / DELETE GDS DATASETS AND GDG BASE
&lt;br /&gt;
//**-----------------------------------------------------------------**
&lt;br /&gt;
//*&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MIGR - USE ML1 OR ML2 TO LIMIT MIGRAT LEVEL IF REQUIRED
&lt;br /&gt;
//*********************************************************************
&lt;br /&gt;
//**&amp;nbsp; FOR HSM PROCESSING - USE ONLY 1 OPTION &amp;#40;EXCEPT BACKDSD BACKMG1&amp;#41;
&lt;br /&gt;
//**-----------------------------------------------------------------**
&lt;br /&gt;
//* SCAN / RUN&amp;nbsp; &amp;nbsp; - RECALL&amp;nbsp; - RECALL SELECTED DATASETS
&lt;br /&gt;
//*&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- ARCH&amp;nbsp; &amp;nbsp; - MIGRATE SELECTED DATASETS TO MGMT DEFAULT
&lt;br /&gt;
//*&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- ARCH2&amp;nbsp; &amp;nbsp;- MIGRATE SELECTED DATASETS TO ML2
&lt;br /&gt;
//*&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- M1M2&amp;nbsp; &amp;nbsp; - MIGRATE FROM ML1 TO ML2
&lt;br /&gt;
//*&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- BACKDSD - PERFORM HSM BACKUP ON DASD DATASETS
&lt;br /&gt;
//*&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- BACKMG1 - PERFORM HSM BACKUP ON ML1 DATASETS
&lt;br /&gt;
//**-----------------------------------------------------------------**
&lt;br /&gt;
//* RECALL ONLY&amp;nbsp; &amp;nbsp;- USE ML1 OR ML2 TO LIMIT MIGRAT LEVEL IF REQUIRED
&lt;br /&gt;
//*********************************************************************
&lt;br /&gt;
//SYSEXEC&amp;nbsp; DD DSN=XX.REXX,DISP=SHR
&lt;br /&gt;
//SYSOUT&amp;nbsp; &amp;nbsp;DD SYSOUT=*
&lt;br /&gt;
//SYSPRINT DD SYSOUT=*
&lt;br /&gt;
//DFSMSG&amp;nbsp; &amp;nbsp;DD SYSOUT=*
&lt;br /&gt;
//TOOLMSG&amp;nbsp; DD SYSOUT=*
&lt;br /&gt;
//EXCLUDE&amp;nbsp; DD SYSOUT=*
&lt;br /&gt;
//REPORT&amp;nbsp; &amp;nbsp;DD SYSOUT=*
&lt;br /&gt;
//SYSTSPRT DD SYSOUT=*
&lt;br /&gt;
//SYSTSIN&amp;nbsp; DD DUMMY
&lt;br /&gt;
//TEMPWK1&amp;nbsp; DD DISP=&amp;#40;MOD,PASS,DELETE&amp;#41;,
&lt;br /&gt;
//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SPACE=&amp;#40;CYL,&amp;#40;50,50&amp;#41;&amp;#41;,
&lt;br /&gt;
//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RECFM=FB,LRECL=100
&lt;br /&gt;
//TEMPWK2&amp;nbsp; DD DISP=&amp;#40;MOD,PASS,DELETE&amp;#41;,
&lt;br /&gt;
//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SPACE=&amp;#40;CYL,&amp;#40;50,50&amp;#41;&amp;#41;,
&lt;br /&gt;
//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RECFM=FB,LRECL=100
&lt;br /&gt;
//TEMPWK3&amp;nbsp; DD DISP=&amp;#40;MOD,PASS,DELETE&amp;#41;,
&lt;br /&gt;
//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SPACE=&amp;#40;CYL,&amp;#40;50,50&amp;#41;&amp;#41;,
&lt;br /&gt;
//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RECFM=FB,LRECL=100&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt; &lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;/* REXX *** BATCH LIST / DELETE / HSM ACTION FOR SELECTED DATASETS&amp;nbsp; &amp;nbsp;*/
&lt;br /&gt;
SIGNAL ON SYNTAX NAME ERR
&lt;br /&gt;
CARD = COPIES&amp;#40;' ',80&amp;#41;
&lt;br /&gt;
ARG RUN OPTS
&lt;br /&gt;
IF RUN &amp;lt;&amp;gt; &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;THEN RUN = &amp;quot;SCAN&amp;quot;
&lt;br /&gt;
IF OPTS = &amp;quot;&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;THEN OPTS = &amp;quot;DASD TAPE MIGR&amp;quot;
&lt;br /&gt;
BACKDSD = ' '
&lt;br /&gt;
BACKMG1 = ' '
&lt;br /&gt;
HSM = 0
&lt;br /&gt;
IF POS&amp;#40;'MIGR',OPTS&amp;#41;&amp;nbsp; &amp;gt; 0&amp;nbsp; &amp;nbsp;THEN HSM = HSM + 1
&lt;br /&gt;
IF POS&amp;#40;'ARCH ',OPTS&amp;#41; &amp;gt; 0&amp;nbsp; &amp;nbsp;THEN HSM = HSM + 1
&lt;br /&gt;
IF POS&amp;#40;'ARCH2',OPTS&amp;#41; &amp;gt; 0&amp;nbsp; &amp;nbsp;THEN HSM = HSM + 1
&lt;br /&gt;
IF POS&amp;#40;'M1M2',OPTS&amp;#41;&amp;nbsp; &amp;gt; 0&amp;nbsp; &amp;nbsp;THEN HSM = HSM + 1
&lt;br /&gt;
IF POS&amp;#40;'RECALL',OPTS&amp;#41; &amp;gt; 0&amp;nbsp; THEN HSM = HSM + 1
&lt;br /&gt;
IF POS&amp;#40;'BACKDSD',OPTS&amp;#41; &amp;gt; 0 THEN DO
&lt;br /&gt;
&amp;nbsp; BACKDSD = 'Y'
&lt;br /&gt;
&amp;nbsp; IF BACKMG1 = 'Y' THEN DO
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; HSM = HSM + 1
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
END
&lt;br /&gt;
IF POS&amp;#40;'BACKMG1',OPTS&amp;#41; &amp;gt; 0 THEN DO
&lt;br /&gt;
&amp;nbsp; BACKMG1 = 'Y'
&lt;br /&gt;
&amp;nbsp; IF BACKDSD = 'Y' THEN DO
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; HSM = HSM + 1
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
END
&lt;br /&gt;
IF HSM &amp;gt; 1 THEN DO
&lt;br /&gt;
&amp;nbsp; SAY &amp;quot;ONLY ONE HSM REQUEST CAN BE PROCESSED IN THE JOB &amp;quot;
&lt;br /&gt;
&amp;nbsp; SAY &amp;quot;PARMS = &amp;quot;OPTS
&lt;br /&gt;
&amp;nbsp; EXIT 4
&lt;br /&gt;
END
&lt;br /&gt;
GDGX = ''
&lt;br /&gt;
GDGZ = 0
&lt;br /&gt;
IF POS&amp;#40;'GDG ',OPTS&amp;#41; &amp;gt; 0 &amp;amp; POS&amp;#40;'GDGF',OPTS&amp;#41; &amp;gt; 0 THEN DO
&lt;br /&gt;
&amp;nbsp; SAY &amp;quot;ONLY ONE GDG PARAMETER MAY BE SPECIFIED&amp;quot;
&lt;br /&gt;
&amp;nbsp; SAY &amp;quot;PARMS = &amp;quot;OPTS
&lt;br /&gt;
&amp;nbsp; EXIT 4
&lt;br /&gt;
END
&lt;br /&gt;
IF POS&amp;#40;'GDG ',OPTS&amp;#41; &amp;gt; 0
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;THEN&amp;nbsp; GDGX = 'GDG'
&lt;br /&gt;
IF POS&amp;#40;'GDGF',OPTS&amp;#41; &amp;gt; 0
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;THEN&amp;nbsp; GDGX = 'GDGF'
&lt;br /&gt;
MIGONLY = &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot;
&lt;br /&gt;
IF POS&amp;#40;&amp;quot;ML1&amp;quot;,OPTS&amp;#41; &amp;gt; 0
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;THEN&amp;nbsp; MIGONLY = &amp;quot;ML1&amp;quot;
&lt;br /&gt;
IF POS&amp;#40;&amp;quot;ML2&amp;quot;,OPTS&amp;#41; &amp;lt;&amp;gt; 0 &amp;amp; MIGONLY &amp;lt;&amp;gt; &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; SAY &amp;quot;ONLY ONE MIGRATION LEVEL MAY BE SPECIFIED&amp;quot;
&lt;br /&gt;
&amp;nbsp; SAY &amp;quot;PARMS = &amp;quot;OPTS
&lt;br /&gt;
&amp;nbsp; EXIT 4
&lt;br /&gt;
END
&lt;br /&gt;
ELSE DO
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;&amp;quot;ML2&amp;quot;,OPTS&amp;#41; &amp;lt;&amp;gt; 0
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;THEN MIGONLY = &amp;quot;ML2&amp;quot;
&lt;br /&gt;
END
&lt;br /&gt;
IF POS&amp;#40;MIGONLY,OPTS&amp;#41; &amp;gt; 0 THEN DO
&lt;br /&gt;
&amp;nbsp; OPTS = OVERLAY&amp;#40;&amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot;,OPTS,POS&amp;#40;MIGONLY,OPTS&amp;#41;&amp;#41;
&lt;br /&gt;
END
&lt;br /&gt;
DO A = 1 TO WORDS&amp;#40;OPTS&amp;#41;
&lt;br /&gt;
&amp;nbsp; IF A = 1
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;THEN CARDO = OVERLAY&amp;#40;' INCLUDE COND=&amp;#40;',CARD,1&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;ELSE CARDO = CARD
&lt;br /&gt;
&amp;nbsp; IF A = WORDS&amp;#40;OPTS&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;THEN ENDIT = &amp;quot;&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;ELSE ENDIT = &amp;quot;,OR,&amp;quot;
&lt;br /&gt;
&amp;nbsp; IF WORD&amp;#40;OPTS,A&amp;#41; = &amp;quot;MIGR&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;IF MIGONLY = &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CARDX = &amp;quot;46,4,CH,EQ,C'MIGR'&amp;quot;||ENDIT
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;END
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;ELSE DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CARDX = &amp;quot;&amp;#40;46,4,CH,EQ,C'MIGR',AND,52,3,CH,EQ,C'&amp;quot;MIGONLY&amp;quot;'&amp;#41;&amp;quot; ,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ||ENDIT
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;END
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE IF WORD&amp;#40;OPTS,A&amp;#41; = &amp;quot;GDG&amp;quot; | WORD&amp;#40;OPTS,A&amp;#41; = &amp;quot;GDGF&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CARDX = &amp;quot;46,4,CH,EQ,C'GDG '&amp;quot;||ENDIT
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE IF WORD&amp;#40;OPTS,A&amp;#41; = &amp;quot;BACKDSD&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CARDX = &amp;quot;46,4,CH,EQ,C'DASD'&amp;quot;||ENDIT
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE IF WORD&amp;#40;OPTS,A&amp;#41; = &amp;quot;ARCH&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CARDX = &amp;quot;46,4,CH,EQ,C'DASD'&amp;quot;||ENDIT
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE IF WORD&amp;#40;OPTS,A&amp;#41; = &amp;quot;ARCH2&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CARDX = &amp;quot;46,4,CH,EQ,C'DASD'&amp;quot;||ENDIT
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE IF WORD&amp;#40;OPTS,A&amp;#41; = &amp;quot;BACKMG1&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CARDX = &amp;quot;&amp;#40;46,4,CH,EQ,C'MIGR',AND,52,3,CH,EQ,C'ML1'&amp;#41;&amp;quot;||ENDIT
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE IF WORD&amp;#40;OPTS,A&amp;#41; = &amp;quot;M1M2&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CARDX = &amp;quot;&amp;#40;46,4,CH,EQ,C'MIGR',AND,52,3,CH,EQ,C'ML1'&amp;#41;&amp;quot;||ENDIT
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE IF WORD&amp;#40;OPTS,A&amp;#41; = &amp;quot;RECALL&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF MIGONLY = &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; CARDX = &amp;quot;46,4,CH,EQ,C'MIGR'&amp;quot;||ENDIT
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ELSE&amp;nbsp; CARDX = &amp;quot;46,4,CH,EQ,C'MIGR',AND,52,3,CH,EQ,C'&amp;quot;MIGONLY&amp;quot;'&amp;quot; ,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;||ENDIT
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE CARDX = &amp;quot;46,4,CH,EQ,C'&amp;quot;WORD&amp;#40;OPTS,A&amp;#41;&amp;quot;'&amp;quot;||ENDIT
&lt;br /&gt;
&amp;nbsp; CARDO = OVERLAY&amp;#40;CARDX,CARDO,16&amp;#41;
&lt;br /&gt;
&amp;nbsp; SRTOUT.A = CARDO
&lt;br /&gt;
&amp;nbsp; SRTOUT.0 = A
&lt;br /&gt;
END
&lt;br /&gt;
CTEMP01 = 0
&lt;br /&gt;
CTEMP02 = 0
&lt;br /&gt;
CTEMP03 = 0
&lt;br /&gt;
&amp;quot;ALLOC FI&amp;#40;TEMP01&amp;#41; NEW CYLINDERS SPACE&amp;#40;50 50&amp;#41; RECFM&amp;#40;F B&amp;#41; LRECL&amp;#40;100&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;quot;ALLOC FI&amp;#40;TEMP02&amp;#41; NEW CYLINDERS SPACE&amp;#40;50 50&amp;#41; RECFM&amp;#40;F B&amp;#41; LRECL&amp;#40;100&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;quot;ALLOC FI&amp;#40;TEMP03&amp;#41; NEW CYLINDERS SPACE&amp;#40;50 50&amp;#41; RECFM&amp;#40;F B&amp;#41; LRECL&amp;#40;100&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;quot;ALLOC FI&amp;#40;TEMP04&amp;#41; NEW CYLINDERS SPACE&amp;#40;50 50&amp;#41; RECFM&amp;#40;F B&amp;#41; LRECL&amp;#40;100&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;quot;ALLOC FI&amp;#40;TEMP05&amp;#41; NEW CYLINDERS SPACE&amp;#40;50 50&amp;#41; RECFM&amp;#40;F B&amp;#41; LRECL&amp;#40;100&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;quot;EXECIO * DISKR INCLUDES &amp;#40; STEM CAT. FINIS&amp;quot;
&lt;br /&gt;
DO KCNT = 1 TO CAT.0
&lt;br /&gt;
&amp;nbsp; IF SUBSTR&amp;#40;CAT.KCNT,1,2&amp;#41; = &amp;quot;==&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; KEY = SUBSTR&amp;#40;CAT.KCNT,3,44&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; DDNAME = &amp;quot;TEMP03&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; ELSE DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; KEY = SUBSTR&amp;#40;CAT.KCNT,1,44&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; DDNAME = &amp;quot;TEMP01&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; CALL CSIUTIL&amp;#40;KEY DDNAME&amp;#41;
&lt;br /&gt;
END
&lt;br /&gt;
&amp;quot;EXECIO 0 DISKW TEMP01 &amp;#40; FINIS&amp;quot;
&lt;br /&gt;
&amp;quot;EXECIO 0 DISKW TEMP03 &amp;#40; FINIS&amp;quot;
&lt;br /&gt;
CAT.0 = 0
&lt;br /&gt;
DROP CAT.
&lt;br /&gt;
&amp;quot;EXECIO * DISKR EXCLUDES &amp;#40; STEM CAT. FINIS&amp;quot;
&lt;br /&gt;
DDNAME = &amp;quot;TEMP02&amp;quot;
&lt;br /&gt;
DO KCNT = 1 TO CAT.0
&lt;br /&gt;
&amp;nbsp; KEY = SUBSTR&amp;#40;CAT.KCNT,1,44&amp;#41;
&lt;br /&gt;
&amp;nbsp; CALL CSIUTIL&amp;#40;KEY DDNAME&amp;#41;
&lt;br /&gt;
END
&lt;br /&gt;
&amp;quot;EXECIO 0 DISKW TEMP02 &amp;#40; FINIS&amp;quot;
&lt;br /&gt;
IF CTEMP01 &amp;gt; 0 | CTEMP03 &amp;gt; 0 THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;quot;ALLOC FI&amp;#40;TOOLIN&amp;#41; RECFM&amp;#40;F B&amp;#41; LRECL&amp;#40;80&amp;#41; TRACKS SPACE&amp;#40;5 5&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; COPY&amp;nbsp; &amp;nbsp;FROM&amp;#40;TEMP01&amp;#41;&amp;nbsp; TO&amp;#40;TEMPWK1&amp;#41;&amp;nbsp; USING&amp;#40;CTL1&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; COPY&amp;nbsp; &amp;nbsp;FROM&amp;#40;TEMP02&amp;#41;&amp;nbsp; TO&amp;#40;TEMPWK1&amp;#41;&amp;nbsp; USING&amp;#40;CTL2&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; SELECT FROM&amp;#40;TEMPWK1&amp;#41; TO&amp;#40;TEMPWK2&amp;#41;&amp;nbsp; ON&amp;#40;1,44,CH&amp;#41; NODUPS&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; COPY&amp;nbsp; &amp;nbsp;FROM&amp;#40;TEMP03&amp;#41;&amp;nbsp; TO&amp;#40;TEMPWK2&amp;#41;&amp;nbsp; USING&amp;#40;CTL1&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; COPY&amp;nbsp; &amp;nbsp;FROM&amp;#40;TEMPWK2&amp;#41; TO&amp;#40;TEMP05&amp;#41;&amp;nbsp; &amp;nbsp;USING&amp;#40;CTL3&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; COPY&amp;nbsp; &amp;nbsp;FROM&amp;#40;TEMP02&amp;#41;&amp;nbsp; TO&amp;#40;TEMPWK3&amp;#41;&amp;nbsp; USING&amp;#40;CTL2&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; COPY&amp;nbsp; &amp;nbsp;FROM&amp;#40;TEMP03&amp;#41;&amp;nbsp; TO&amp;#40;TEMPWK3&amp;#41;&amp;nbsp; USING&amp;#40;CTL1&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; SELECT FROM&amp;#40;TEMPWK3&amp;#41; TO&amp;#40;TEMP04&amp;#41;&amp;nbsp; &amp;nbsp;ON&amp;#40;1,44,CH&amp;#41; NODUPS&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; COPY&amp;nbsp; &amp;nbsp;FROM&amp;#40;TEMP04&amp;#41;&amp;nbsp; TO&amp;#40;EXCLUDE&amp;#41;&amp;nbsp; USING&amp;#40;CTL4&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;quot;EXECIO&amp;quot; QUEUED&amp;#40;&amp;#41; &amp;quot;DISKW TOOLIN &amp;#40; FINIS&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;quot;ALLOC FI&amp;#40;CTL1CNTL&amp;#41; RECFM&amp;#40;F B&amp;#41; LRECL&amp;#40;80&amp;#41; TRACKS SPACE&amp;#40;5 5&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; SORT FIELDS=&amp;#40;1,44,CH,A&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; SUM&amp;nbsp; FIELDS=NONE&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; INREC BUILD=&amp;#40;1,99,C'1'&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; IF SRTOUT.0 &amp;gt; 0 THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; DO A = 1 TO SRTOUT.0
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; QUEUE SRTOUT.A
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; &amp;quot;EXECIO&amp;quot; QUEUED&amp;#40;&amp;#41; &amp;quot;DISKW CTL1CNTL &amp;#40; FINIS&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;quot;ALLOC FI&amp;#40;CTL2CNTL&amp;#41; RECFM&amp;#40;F B&amp;#41; LRECL&amp;#40;80&amp;#41; TRACKS SPACE&amp;#40;5 5&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; SORT FIELDS=&amp;#40;1,44,CH,A&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; SUM&amp;nbsp; FIELDS=NONE&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; INREC BUILD=&amp;#40;1,100&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; IF SRTOUT.0 &amp;gt; 0 THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; DO A = 1 TO SRTOUT.0
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; QUEUE SRTOUT.A
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; &amp;quot;EXECIO&amp;quot; QUEUED&amp;#40;&amp;#41; &amp;quot;DISKW CTL2CNTL &amp;#40; FINIS&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;quot;ALLOC FI&amp;#40;CTL3CNTL&amp;#41; RECFM&amp;#40;F B&amp;#41; LRECL&amp;#40;80&amp;#41; TRACKS SPACE&amp;#40;5 5&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; SORT FIELDS=&amp;#40;1,44,CH,A&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; INCLUDE COND=&amp;#40;100,1,CH,EQ,C'1'&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;quot;EXECIO&amp;quot; QUEUED&amp;#40;&amp;#41; &amp;quot;DISKW CTL3CNTL &amp;#40; FINIS&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;quot;ALLOC FI&amp;#40;CTL4CNTL&amp;#41; RECFM&amp;#40;F B&amp;#41; LRECL&amp;#40;80&amp;#41; TRACKS SPACE&amp;#40;5 5&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; SORT FIELDS=&amp;#40;1,44,CH,A&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; QUEUE &amp;quot; INCLUDE COND=&amp;#40;100,1,CH,NE,C'1'&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;quot;EXECIO&amp;quot; QUEUED&amp;#40;&amp;#41; &amp;quot;DISKW CTL4CNTL &amp;#40; FINIS&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;quot;CALL *&amp;#40;ICETOOL&amp;#41;&amp;quot;
&lt;br /&gt;
END
&lt;br /&gt;
ELSE EXIT
&lt;br /&gt;
&amp;quot;EXECIO * DISKR TEMP05 &amp;#40; STEM DSNS. FINIS&amp;quot;
&lt;br /&gt;
DO A = 1 TO DSNS.0
&lt;br /&gt;
&amp;nbsp; PARSE VAR DSNS.A&amp;nbsp; &amp;nbsp;1 DSNAME&amp;nbsp; &amp;nbsp; &amp;nbsp;45 . ,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 46 DEVICE&amp;nbsp; &amp;nbsp; &amp;nbsp;50 . ,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 52 MIGLEV&amp;nbsp; &amp;nbsp; &amp;nbsp;55 . ,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 56 VOLUMES&amp;nbsp; &amp;nbsp; 77 .
&lt;br /&gt;
&amp;nbsp; IF MIGONLY &amp;lt;&amp;gt; &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot; &amp;amp; MIGLEV &amp;lt;&amp;gt; &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; IF MIGLEV &amp;lt;&amp;gt; MIGONLY
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; THEN ITERATE
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;'DASD',OPTS&amp;#41; &amp;gt; 0 &amp;amp; DEVICE = &amp;quot;DASD&amp;quot; &amp;amp; MIGLEV = &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; PUSH DSNAME DEVICE MIGLEV VOLUMES
&lt;br /&gt;
&amp;nbsp; &amp;quot;EXECIO 1 DISKW REPORT&amp;quot;
&lt;br /&gt;
&amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;THEN &amp;quot; DELETE '&amp;quot;STRIP&amp;#40;DSNAME&amp;#41;&amp;quot;'&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;'TAPE',OPTS&amp;#41; &amp;gt; 0 &amp;amp; DEVICE = &amp;quot;TAPE&amp;quot; &amp;amp; MIGLEV = &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; PUSH DSNAME DEVICE MIGLEV VOLUMES
&lt;br /&gt;
&amp;nbsp; &amp;quot;EXECIO 1 DISKW REPORT&amp;quot;
&lt;br /&gt;
&amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;THEN &amp;quot; DELETE '&amp;quot;STRIP&amp;#40;DSNAME&amp;#41;&amp;quot;'&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;'MIGR',OPTS&amp;#41; &amp;gt; 0 &amp;amp; MIGLEV &amp;lt;&amp;gt; &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; PUSH DSNAME DEVICE MIGLEV VOLUMES
&lt;br /&gt;
&amp;nbsp; &amp;quot;EXECIO 1 DISKW REPORT&amp;quot;
&lt;br /&gt;
&amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;THEN &amp;quot; DELETE '&amp;quot;STRIP&amp;#40;DSNAME&amp;#41;&amp;quot;'&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;'GDG',OPTS&amp;#41; &amp;gt; 0 &amp;amp; DEVICE = 'GDG ' THEN DO
&lt;br /&gt;
&amp;nbsp; PUSH DSNAME DEVICE
&lt;br /&gt;
&amp;nbsp; &amp;quot;EXECIO 1 DISKW REPORT&amp;quot;
&lt;br /&gt;
&amp;nbsp; GDGZ = GDGZ + 1
&lt;br /&gt;
&amp;nbsp; GDGS.GDGZ = DSNAME
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;'RECALL',OPTS&amp;#41; &amp;gt; 0 &amp;amp; MIGLEV &amp;lt;&amp;gt; &amp;quot;&amp;nbsp; &amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; PUSH DSNAME DEVICE MIGLEV VOLUMES
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;EXECIO 1 DISKW REPORT&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; &amp;quot; HRECALL '&amp;quot;STRIP&amp;#40;DSNAME&amp;#41;&amp;quot;'&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;'ARCH ',OPTS&amp;#41; &amp;gt; 0 &amp;amp; MIGLEV = &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; PUSH DSNAME DEVICE MIGLEV VOLUMES
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;EXECIO 1 DISKW REPORT&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; &amp;quot; HMIG '&amp;quot;STRIP&amp;#40;DSNAME&amp;#41;&amp;quot;'&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;'ARCH2',OPTS&amp;#41; &amp;gt; 0 &amp;amp; MIGLEV = &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; PUSH DSNAME DEVICE MIGLEV VOLUMES
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;EXECIO 1 DISKW REPORT&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; &amp;quot; HMIG '&amp;quot;STRIP&amp;#40;DSNAME&amp;#41;&amp;quot;' ML2&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;'M1M2',OPTS&amp;#41; &amp;gt; 0 &amp;amp; MIGLEV = &amp;quot;ML1&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; PUSH DSNAME DEVICE MIGLEV VOLUMES
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;EXECIO 1 DISKW REPORT&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; &amp;quot; HMIG '&amp;quot;STRIP&amp;#40;DSNAME&amp;#41;&amp;quot;' ML2&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;'BACKDSD',OPTS&amp;#41; &amp;gt; 0 &amp;amp; MIGLEV = &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; PUSH DSNAME DEVICE MIGLEV VOLUMES
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;EXECIO 1 DISKW REPORT&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; &amp;quot; HBACKDS '&amp;quot;STRIP&amp;#40;DSNAME&amp;#41;&amp;quot;'&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; IF POS&amp;#40;'BACKMG1',OPTS&amp;#41; &amp;gt; 0 &amp;amp; MIGLEV = &amp;quot;ML1&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; PUSH DSNAME DEVICE MIGLEV VOLUMES
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;EXECIO 1 DISKW REPORT&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; &amp;quot; HBACKDS '&amp;quot;STRIP&amp;#40;DSNAME&amp;#41;&amp;quot;'&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
END
&lt;br /&gt;
IF GDGZ &amp;gt; 0 THEN DO
&lt;br /&gt;
&amp;nbsp; DO A = 1 TO GDGZ
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; X = OUTTRAP&amp;#40;'GDGO.'&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot; LISTCAT ENT&amp;#40;'&amp;quot;STRIP&amp;#40;GDGS.A&amp;#41;&amp;quot;'&amp;#41;&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; X = OUTTRAP&amp;#40;OFF&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; DO AA = 1 TO GDGO.0
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PARSE VAR GDGO.AA G1 G2 G3
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IF G1 = &amp;quot;NONVSAM&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IF GDGX = &amp;quot;GDGF&amp;quot; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN &amp;quot; DELETE '&amp;quot;STRIP&amp;#40;G3&amp;#41;&amp;quot;'&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ELSE DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SAY &amp;quot;GDG BASE &amp;quot;STRIP&amp;#40;GDGS.A&amp;#41;&amp;quot; IS NOT EMPTY&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ITERATE A
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; IF RUN = &amp;quot;RUN&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; &amp;quot; DELETE '&amp;quot;STRIP&amp;#40;GDGS.A&amp;#41;&amp;quot;'&amp;quot;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
END
&lt;br /&gt;
EXIT
&lt;br /&gt;
/*-------------------------------------------------------------------*/
&lt;br /&gt;
CSIUTIL&amp;#58;
&lt;br /&gt;
ARG KEY DDNAME .
&lt;br /&gt;
MODRSNRC = SUBSTR&amp;#40;' ',1,4&amp;#41;
&lt;br /&gt;
CSIFILTK = SUBSTR&amp;#40;KEY,1,44&amp;#41;
&lt;br /&gt;
CSICATNM = SUBSTR&amp;#40;' ',1,44&amp;#41;
&lt;br /&gt;
CSIRESNM = SUBSTR&amp;#40;' ',1,44&amp;#41;
&lt;br /&gt;
CSIDTYPS = SUBSTR&amp;#40;' ',1,16&amp;#41;
&lt;br /&gt;
CSICLDI&amp;nbsp; = SUBSTR&amp;#40;'Y',1,1&amp;#41;
&lt;br /&gt;
CSIRESUM = SUBSTR&amp;#40;' ',1,1&amp;#41;
&lt;br /&gt;
CSIS1CAT = SUBSTR&amp;#40;' ',1,1&amp;#41;
&lt;br /&gt;
CSIRESRV = SUBSTR&amp;#40;' ',1,1&amp;#41;
&lt;br /&gt;
CSINUMEN = '0002'X
&lt;br /&gt;
CSIFLD1&amp;nbsp; = 'VOLSER&amp;nbsp; '
&lt;br /&gt;
CSIFLD2&amp;nbsp; = 'DEVTYP&amp;nbsp; '
&lt;br /&gt;
CSIOPTS&amp;nbsp; = CSICLDI || CSIRESUM || CSIS1CAT || CSIRESRV
&lt;br /&gt;
CSIFIELD = CSIFILTK || CSICATNM || CSIRESNM || CSIDTYPS || CSIOPTS
&lt;br /&gt;
CSIFIELD = CSIFIELD || CSINUMEN || CSIFLD1 || CSIFLD2
&lt;br /&gt;
WORKLEN = 4096
&lt;br /&gt;
DWORK = '00001000'X || COPIES&amp;#40;'00'X,WORKLEN-4&amp;#41;
&lt;br /&gt;
RESUME = 'Y'
&lt;br /&gt;
CATNAMET = SUBSTR&amp;#40;' ',1,44&amp;#41;
&lt;br /&gt;
DNAMET = SUBSTR&amp;#40;' ',1,44&amp;#41;
&lt;br /&gt;
DO WHILE RESUME = 'Y'
&lt;br /&gt;
&amp;nbsp;ADDRESS LINKPGM 'IGGCSI00&amp;nbsp; MODRSNRC&amp;nbsp; CSIFIELD&amp;nbsp; DWORK'
&lt;br /&gt;
&amp;nbsp;RESUME = SUBSTR&amp;#40;CSIFIELD,150,1&amp;#41;
&lt;br /&gt;
&amp;nbsp;USEDLEN = C2D&amp;#40;SUBSTR&amp;#40;DWORK,9,4&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp;POS1=15
&lt;br /&gt;
&amp;nbsp;DO WHILE POS1 &amp;lt; USEDLEN
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = '0'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CATNAME=SUBSTR&amp;#40;DWORK,POS1+2,44&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IF CATNAME &amp;lt;&amp;gt; CATNAMET THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CATNAMET = CATNAME
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;POS1 = POS1 + 50
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;END
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;DNAME = SUBSTR&amp;#40;DWORK,POS1+2,44&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;PROC = 1
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = 'C' THEN DTYPE = 'CLUSTER '
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ELSE IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = 'D' THEN DTYPE = 'DATA&amp;nbsp; &amp;nbsp; '
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ELSE IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = 'I' THEN DTYPE = 'INDEX&amp;nbsp; &amp;nbsp;'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ELSE IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = 'A' THEN DTYPE = 'NONVSAM '
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ELSE IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = 'H' THEN DTYPE = 'GDS&amp;nbsp; &amp;nbsp; &amp;nbsp;'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ELSE IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = 'B' THEN DTYPE = 'GDG&amp;nbsp; &amp;nbsp; &amp;nbsp;'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ELSE IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = 'R' THEN DTYPE = 'PATH&amp;nbsp; &amp;nbsp; '
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ELSE IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = 'G' THEN DTYPE = 'AIX&amp;nbsp; &amp;nbsp; &amp;nbsp;'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ELSE IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = 'X' THEN DTYPE = 'ALIAS&amp;nbsp; &amp;nbsp;'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ELSE IF SUBSTR&amp;#40;DWORK,POS1+1,1&amp;#41; = 'U' THEN DTYPE = 'UCAT&amp;nbsp; &amp;nbsp; '
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ELSE DTYPE = '&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;IF DTYPE = 'ALIAS&amp;nbsp; &amp;nbsp;' | DTYPE = 'INDEX&amp;nbsp; &amp;nbsp;' | ,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; DTYPE = 'DATA&amp;nbsp; &amp;nbsp; ' | DTYPE = 'PATH&amp;nbsp; &amp;nbsp; ' | DTYPE = '&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN PROC = 0
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; NUMVOL = 0
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; POS1 = POS1 + 46
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; NUMVOL = C2D&amp;#40;SUBSTR&amp;#40;DWORK,POS1+4,2&amp;#41;&amp;#41;/6
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; POS2 = POS1+8
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; VOLSER = &amp;quot;&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; DO I = 1 TO NUMVOL
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; VOLSER = STRIP&amp;#40;VOLSER||&amp;quot; &amp;quot;||SUBSTR&amp;#40;DWORK,POS2,6&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; POS2 = POS2 + 6
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; DEVTY1 = SUBSTR&amp;#40;DWORK,POS2,4&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; DEVTY2 = C2X&amp;#40;SUBSTR&amp;#40;DWORK,POS2,4&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF SUBSTR&amp;#40;DEVTY2,5,2&amp;#41; = '20' THEN DELDEV = 'DASD'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ELSE
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IF SUBSTR&amp;#40;DEVTY2,5,2&amp;#41; = '80' THEN DELDEV = 'TAPE'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ELSE
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DELDEV = 'XXXX'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF DTYPE = 'CLUSTER' THEN DELDEV = 'DASD'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF DTYPE&amp;nbsp; = 'GDG&amp;nbsp; &amp;nbsp; &amp;nbsp;'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; DELDEV = 'GDG '
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF DELDEV = 'DASD'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; MIGLEV = ' ML1'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ELSE&amp;nbsp; MIGLEV = ' ML2'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF LEFT&amp;#40;VOLSER,6&amp;#41; &amp;lt;&amp;gt; 'MIGRAT'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; MIGLEV = '&amp;nbsp; &amp;nbsp; '
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF LEFT&amp;#40;VOLSER,6&amp;#41; = 'MIGRAT'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THEN&amp;nbsp; DELDEV = 'MIGR'
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IF DNAMET &amp;lt;&amp;gt; DNAME &amp;amp; PROC = 1 THEN DO
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; PUSH DNAME DELDEV MIGLEV VOLSER
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;EXECIO 1 DISKW &amp;quot;DDNAME
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; INTERPRET &amp;quot;C&amp;quot;DDNAME&amp;quot; = C&amp;quot;DDNAME&amp;quot; + 1&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; DNAMET=DNAME
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; END
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; POS1 = POS1 + C2D&amp;#40;SUBSTR&amp;#40;DWORK,POS1,2&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; END
&lt;br /&gt;
END
&lt;br /&gt;
RETURN
&lt;br /&gt;
/*-------------------------------------------------------------------*/
&lt;br /&gt;
ERR&amp;#58;
&lt;br /&gt;
&amp;nbsp; SIGNAL OFF SYNTAX
&lt;br /&gt;
&amp;nbsp; DROPBUF
&lt;br /&gt;
&amp;nbsp; SAY &amp;quot;ERROR ROUTINE STARTING&amp;quot;
&lt;br /&gt;
&amp;nbsp; SAY &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot;
&lt;br /&gt;
&amp;nbsp; SAY RIGHT&amp;#40;SIGL,6&amp;#41; &amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;quot; SOURCELINE&amp;#40;SIGL&amp;#41;
&lt;br /&gt;
&amp;nbsp; SAY &amp;quot;&amp;nbsp; &amp;nbsp;&amp;quot;
&lt;br /&gt;
&amp;nbsp; TRACE I
&lt;br /&gt;
&amp;nbsp; INTERPRET SOURCELINE&amp;#40;SIGL&amp;#41;&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;_________________&lt;br /&gt;If it's true that we are here to help others, 
&lt;br /&gt;
then what exactly are the others here for ?&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Application Programming :: RE: Easytrieve - match criteria - order not change/sorted</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58860#58860</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=13723&quot; target=&quot;_blank&quot;&gt;radkrish82&lt;/a&gt;&lt;br /&gt;

Posted: Thu Feb 02, 2012 2:54 am (GMT -5)&lt;br /&gt;
Topic Replies: 10&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Quote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;How do you plan to do that without sorting the file ? How are you appending the seqnum to the records without sorting?&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;
FILE B records are searched in FILEA. The program in previous step takes care of populating seq no if duplicates found in FILEB. Without sorting the file FILEA, I couldnt handle the logic. 
&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Quote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;You are sorting the input dataset to a temporary file and you will use that temporary file to match.&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;
Apologise, Kolusu. File B can be sorted. But FILEA can't be sorted. I tried sorting this to a temporary file and wrote easy trieve with usual matching logic : 
&lt;br /&gt;
If acct of file A &amp;gt; acct of file B
&lt;br /&gt;
read fileB
&lt;br /&gt;
If acct of file A &amp;lt; acct of file B
&lt;br /&gt;
read filec
&lt;br /&gt;
If acct of file A = acct of file B
&lt;br /&gt;
process logic to get result head and sub#.
&lt;br /&gt;
It didnt work. 
&lt;br /&gt;
DFSORT is allowed only for temporary fix in my shop. The above logic which I tried in easytrieve didnt fulfill the requirement. If you can provide dfsort, i will try to use it for temporary fix.
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Utilities :: RE: All cataloged datasets on Tape</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58859#58859</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=18&quot; target=&quot;_blank&quot;&gt;warp5&lt;/a&gt;&lt;br /&gt;

Posted: Thu Feb 02, 2012 2:28 am (GMT -5)&lt;br /&gt;
Topic Replies: 3&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;Thanks a lot for your answer.  Your suggestion sounds very interesting and I will definitely examine that.  The problem is that we have data sets that are cataloged and valid, but due to an error in the tape management parameters (changed tape management systems) these new data sets have been overwritten by even newer data sets - in other words the tapes became scratch even though they should not have.  My boss already wrote a rexx to process all the user catalogs, but this examines the idcams output, that IGGCSIRX sounds even better.  Thanks.
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Application Programming :: RE: Easytrieve - match criteria - order not change/sorted</title>
	<link>http://www.mvsforums.com/helpboards/viewtopic.php?p=58858#58858</link>
	<description>Author: &lt;a href=&quot;http://www.mvsforums.com/helpboards/profile.php?mode=viewprofile&amp;u=2&quot; target=&quot;_blank&quot;&gt;kolusu&lt;/a&gt;&lt;br /&gt;

Posted: Wed Feb 01, 2012 12:03 pm (GMT -5)&lt;br /&gt;
Topic Replies: 10&lt;br /&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;radkrish82 wrote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;Thanks Kolusu.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
yes I noticed now&lt;span style=&quot;font-weight: bold&quot;&gt; File2 has duplicates&lt;/span&gt; on one account out of 3000 accounts only on match criteria fields. But by populating seq no of 4 byte numeric, these duplicate records are differentiated. For match fields, duplicates exists. In such case, duplicate record is removed keeping the first. we can do it in easytrieve writing duplicate records too and next step we can remove the duplicates.&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
How do you plan to do that without sorting the file ? How are you appending the seqnum to the records without sorting?
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;radkrish82 wrote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;
&lt;br /&gt;
The fileA should not be sorted because it is arranged in the order of Header followed by its trailer. &lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
You are sorting the input dataset to a temporary file and you will use that temporary file to match. 
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;radkrish82 wrote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;]If its not an optmised code when we do it in easytrieve, can you please help me to achieve it in syncsort.&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
I'm a DFSORT developer. DFSORT and Syncsort are competitive products. I'm happy to answer questions on DFSORT and DFSORT's ICETOOL, but I don't answer questions on Syncsort.
&lt;br /&gt;_________________&lt;br /&gt;Kolusu - DFSORT Development Team (IBM) 
&lt;br /&gt;
DFSORT is on the Web at: 
&lt;br /&gt;
&lt;a href=&quot;http://www.ibm.com/storage/dfsort&quot; target=&quot;_blank&quot;&gt;www.ibm.com/storage/dfsort&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
</description>
</item>
</channel>
</rss>


