Run the 4's then run the 5's.  It can't be that simple.

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of 
Frank Swarbrick
Sent: Tuesday, April 03, 2012 4:24 PM
To: IBM-MAIN@bama.ua.edu
Subject: VSAM help wanted for random reads

Current program does the following (in COBOL!).

- Opens KSDS for I-O
- Sequentially processes another file (non-VSAM).
- For each record in the non-VSAM file it attempts a random (keyed) read of a 
record on the KSDS file.  The key is, essentially, a concatenation of a record 
type code ('4' or '5') and an account number.  If no record of type '4' is 
found then it tries again for the same account, but with record type '5'.  If 
either the '4' or '5' type is found it updates it and rewrites the record 
(assuming the data changed).

This takes about 16 minutes to run.  However if the 'type 5' logic is removed, 
so that it only ever looks for type '4' records, it takes only about one minute.

Our resident VSAM expert says it has something to do with the VSAM "sequence 
set" and the fact that only one is kept in memory at a time.  Since the same 
sequence set doesn't appear to be able to be used for both the 'type 4' records 
and the 'type 5' records it's constantly going back and forth, loading the 
"other" sequence set from disk.  He says on VSE (which we were up until May 
2010) more than one sequence set can be in memory, but with MVS this appears to 
not be the case.


Hopefully that reason is accurate.  Is there a solution?  We thought about 
having two COBOL FDs pointing to two DDs, where both DDs pointed to the same 
KSDS.  This would probably(?) work, except for the fact of the update.

Thanks,
Frank


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

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

Reply via email to