sinusam
New User
Joined: 06 Jan 2004 Posts: 18
|
|
|
|
Copy KSDS file to another with different record lengths
Requirement: I need to copy some records from one VSAM KSDS file into another KSDS file, where the filenames are accepted as a parameter to a cobol program.
I tried to do this by calling REPRO utility using IDCAMS, in which I specified the INDATASET and OUTDATASET as the two KSDS files respectively.
I suceeded in the following cases.
1. When Record Length of INDATASET and OUTDATASET are identical.
2. When Record Length of INDATASET is lesser than the OUTDATASET.
Now I need to do the following. When I tried, I got an Abend .
1. When Record Length of INDATASET is greater than the OUTDATASET.
How can I do this using REPRO ?
Is there any way, other than IDCAMS - REPRO ?
Regards,
Sinu Sam
|
|
Rajdeep
New User
Joined: 03 Oct 2005 Posts: 1 Location: India
|
|
|
|
Hi,
Using sort, you can copy the VSAM file (with greater record length) into a flat file. Use the following code snippet. The outrec parameter in the sort card gives the length to be copied from the input. I have also used some sort conditions.
Code: |
//STEP010 EXEC PGM=SORT,REGION=6400K
//SORTIN DD DSN=VSAM FILE,
// DISP=SHR
//SORTOUT DD DSN=FLAT FILE,
// DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,
// SPACE=(CYL,(2,10),RLSE),
// DCB=(LRECL=80,BLKSIZE=8000,RECFM=FB)
//SYSIN DD *
SORT FIELDS=(1,10,CH,A)
INCLUDE COND=(9,1,CH,EQ,C'A',OR,9,1,CH,EQ,C'B')
OUTREC FIELDS=(1:1,80)
/* |
|
|
Asif Iqbal
New User
Joined: 17 May 2005 Posts: 27 Location: Pune, India.
|
|
|
|
Quote: |
where the filenames are accepted as a parameter to a cobol program. |
Could you explain this, i couldn't get u here.
Also, Rajdeep's JCL creates a 'flat file' but u need a KSDS (of smaller LRECL). So u create a KSDS cluster of smaller LRECL using IDCAMS/File-Aid and then use REPRO to copy FLAT-FILE to the newly created cluster.
Thanks,
Asif |
|