Lizette Koehler wrote:

>I am looking to see if there are any easy ways to do the following

Mitch gave you a solution, but if you don't want a new product or lost ( damn! 
;-D ) some useful $$$$ to purchase it ...


>Control card Input that affects the DSNx is okay to list - no need to know 
>what is in the Control member at this time.

What if those JCLs refer to a Proc member with DD DISP= statements? Just don't 
forget them. Be also careful for any referbacks like this:

//PEST DD DSN=*.T1,VOL=REF=*.T1,DISP=(OLD,PASS) 


>This information is not in a Scheduler package.  So this is just grunt type 
>work.

Ouch...


>I have a couple of options with REXX and SAS.  But thought if anyone had any 
>ideas, I would like to see if there is another way to do this.

You need a good parser which can parse multiple lines at one stage where the 
contents you need are in unknown sequence and in unknown quantity of lines.

REXX or SAS could be good. I have used REXX and ISP services in the past to get 
my members and process them.
 
You could also use this in REXX: 

x = outtrap('list.') 
address tso listds dsn.name member 

... and thus capturing a list of members.


>I will eventually run SMF data and compare it to these reports to see what is 
>actually running or in use.

RACF SMF records type 80 could be useful if you have ALL(READ) set for all your 
dataset profiles in RACF.


>I can unload the JCL PDS into an IEBUPDTE file and go from there or use REXX 
>with LM functions to read members one at a time.

You can make that list smaller by using a SORT utility to do a search for DISP= 
and just copy those lines, but then if the DISP= and DSN= are on two different 
lines, that SORT search will not really work...

But then, I have used the PARSE function in REXX in the past to scan for DISP 
and again for DSN and combining them and have a list of DSN together with DPS.

Something like this:

For each line
   Search for DD
          second loop - PARSE for DISP and PARSE again for DSN
          Repeat (wash, rinse, spin, hang up, etc.), until next DD, if found 
exit loop and write down DSN + DIP


>Thoughts or suggestions always welcomed.

Of course you can delegate it to someone else! :-D

PS: I have also done this similar exercise in REXX where I needed to convert a 
list of multiple printer settings in one Printer subsystem to create a member 
for each printer to be used in another printer subsystem. Had to process about 
15 000 printer definitions where each printer has one or many printer 
definition settings in random sequence.

Groete / Greetings
Elardus Engelbrecht

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to