thala_ds
New User
Joined: 05 Jun 2012 Posts: 18 Location: India
|
|
|
|
Hi,
I have a requirement of copying 2 files having different lrecls. We are taking a daily backup of files. We need to add the date at the beginning of the file before taking a backup. The date will be received in another file. I need to merge both the files so that the date will be added at the beginning of the backup file.
I have to do this for 5 files which has different lrecls ie, 550,650,717,800 etc.
I tried the below SYNCTOOL and it worked fine. But i need a generic sort tool so that i don't need to specify the lrecls everytime i copy the files.
Code: |
//S010 EXEC PGM=SYNCTOOL
//DFSMSG DD SYSOUT=*
//TOOLMSG DD SYSOUT=*
//IN DD DSN=FILE1.DATE,DISP=SHR ====> Input date file
//T1 DD DSN=&T1,DISP=(,PASS),SPACE=(CYL,(1,1),RLSE)
//CON DD DSN=&T1,DISP=(OLD,PASS),VOL=REF=*.T1
// DD DSN=FILE2.DATA,DISP=SHR ====> Input data file
//OUT DD DSN=FILE.OUTPUT, ====> Merged Output file
// DISP=(,CATLG),SPACE=(CYL,(1,1),RLSE)
//TOOLIN DD *
COPY FROM(IN) USING(CTL1)
COPY FROM(CON) TO(OUT)
//CTL1CNTL DD *
OUTFIL FNAMES=T1,
OUTREC=(C'PROCESSING DATE :',1,10,600:X) === > Here 600 is the LRECL .
/*
|
Hope i explained clearly. Please advise .
Thanks.
Code'd |
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
SyncSort questions live in the JCL forum, not the DFSORT forum.
If you search the JCL forum for SYMNAMES you will find several examples of using a symbol to get data (often a date) from a single-record file.
The technique uses two steps, one being very tiny which generates a symbol-name with the value from the file. This goes to a, typically temporary, dataset and can be used in the main processing step.
If you use HEADER1 on OUTFIL (with REMOVECC) you should be able to get the correct record-length without having to "know" it. Thus the same two steps will suffice for all your datasets. |
|