# Copying VSAM to VSAM with variable records.

Author Message
mfuser.84

New User

Joined: 12 Oct 2015
Posts: 1
Location: India

 Posted: Mon Oct 12, 2015 5:00 pm Hi, This is my first post here, I have the following scenario. Could someone provide your suggession, I need to copy a VSAM file with LRECL of 442 to LRECL of 642 and reformat the records like this - VSAM1: The minimum record length is 221 and maximum of 442. VSAM2: The minimum record length is 321 and maximum of 642. The condition here is - if position 85,3,CH = 88,3,CH, then, Build - (1:1,221,222:100X) if condition doesnt match i.e, 85,3,CH Not = 88,3,CH, then, Build (1:1,221,222:100X,322:222,221,543:100X). Please note my vsam is defined with noreuse. Could you please provide a solution to this ?
Bill Woodger

Moderator Emeritus

Joined: 09 Mar 2011
Posts: 7310
Location: Inside the Matrix

Posted: Mon Oct 12, 2015 5:28 pm

Firstly, you are making life difficult for yourself and others with your BUILD, by including columns where they are not needed:
 Code: Build - (1:1,221,222:100X) Build (1:1,221,222:100X,322:222,221,543:100X)

 Code: BUILD=(1,221,100X) BUILD=(1,221,100X,222,221,100X)

And even using BUILD:

 Code: OVERLAY=(1,221,100X)

The second BUILD you can leave as BUILD for clarity. To use OVERLAY you'd have to use columns, and be careful with the order of them. So stick to BUILD.

However, if you want variable-length VSAM records, you need to tell DFSORT that. Look at the RECORD Control Statement in the Application Programming Guide and note what is needed for VSAM.

If your output is NOREUSE, you should be able to deal with that in the normal way.
 View Bookmarks All times are GMT + 6 Hours

 Topic Forum Replies Similar Topics DECIMAL HOST VARIABLE OR PARAMETER 14... DB2 6 copy file 2 data into file1 for match... DFSORT/ICETOOL 4 Write records with 3 or less rows in ... DFSORT/ICETOOL 3 Recreating VSAM cluster catalog info ... All Other Mainframe Topics 6 retrieve volume records from decollec... DFSORT/ICETOOL 4
Search our Forums: