OUTREC Data Conversion
OUTREC Data Conversion Example
Scenario - Convert the first five byte ZD to FS while sorting.
Input File - MATEPK.SORT.INPUT01 - FB file of 80 length
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 00001 student1 dept1 560 00003 student3 dept2 520 00004 student4 dept1 540 00005 student5 dept2 500 00002 student2 dept3 510
JCL -
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//MATEPKD JOB (123),'MTH',NOTIFY=&SYSUID
//*
//STEP01 EXEC PGM=SORT
//SORTIN DD DSN=MATEPK.SORT.INPUT01,DISP=SHR
//SORTOUT DD DSN=MATEPK.MERGE.OUTPUT,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// SPACE=(CYL,(1,4),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,5,CH,A)
OUTREC FIELDS=(1,5,ZD,TO=FS,LENGTH=6,X,6,73)
/*
Output -
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 1 student1 dept1 560 2 student2 dept3 510 3 student3 dept2 520 4 student4 dept1 540 5 student5 dept2 500
Explaining Example -
- OUTREC FIELDS=(1,5,ZD,TO=FS,LENGTH=6,..) converts the first five bytes ZD from input file to FS of 6 bytes and writes it to output.
- 7th byte will be placed as a space in output file.
- OUTREC FIELDS=(..,6,73) copies the input file data from 6th byte to the output file from 8th byte onwards as it is.