OUTREC: Extending records with OVERLAY
OUTREC: Extending records with OVERLAY
Summary
- OVERLAY parameter can be used to extend your output record without affecting the rest of the record.
Syntax -
OPTION COPY
OUTREC OVERLAY=(Extending position of field1 in o/p file,
Starting position of field1 in i/p file, Length of field1,overlay operation,…)
Extending position of field1 in o/p file | Specifies field1 extending position in the output file after sorting. |
Starting position of field1 in i/p file | Specifies field1 starting position in the input file after sorting. |
Length of feild1 | Field1 physical length in input file. |
Overlay operation | Specifies the overlay operation |
Note! The OVERLAY parameter of the OUTREC statement can be used to overlay specified columns with reformatting items, without affecting the rest of your reformatted record.
All of these reformatting features can be used with the OVERLAY parameter of the INREC statement and OUTFIL statement, as well as with the OUTREC statement.
All of these reformatting features can be used with the OVERLAY parameter of the INREC statement and OUTFIL statement, as well as with the OUTREC statement.
Example -
Scenario - Overlay dept with DEPT in all rows and multiply marks with 10 and place the result from 85th position (extending the record length to 88).
Input File - MTHUSER.SORT.INPUT01 - FB file of 80 length
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
********************************* Top of Data **********************************
00001 student1 dept1 560
00003 student3 dept2 520
00004 student4 dept1 540
00005 student5 dept2 500
00002 student2 dept3 510
******************************** Bottom of Data ********************************
JCL -
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
***************************** Top of Data ******************************
//Job-card
//*
//**********************************************************************
//*
//* SORT FOR OUTREC STATEMENT
//*
//**********************************************************************
//STEP01 EXEC PGM=SORT
//SORTIN DD DSN=MTHUSER.SORT.INPUT01,DISP=SHR
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
OUTREC OVERLAY=(30:30,4,TRAN=LTOU,
85:45,3,ZD,MUL,+10,TO=ZD,LENGTH=4)
/*
**************************** Bottom of Data ****************************
Output -
-----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+---
********************************* TOP OF DATA *******************************************
00001 student1 DEPT1 560 5600
00003 student3 DEPT2 520 5200
00004 student4 DEPT1 540 5400
00005 student5 DEPT2 500 5000
00002 student2 DEPT3 510 5100
******************************** BOTTOM OF DATA ******************************** *********
Explaining Example -
- OUTREC OVERLAY=(30:30,4,TRAN=LTOU,..) - Converts the data lower to upper from 30th position of length 4 and writes to output from 30th position.
- OUTREC OVERLAY=(..,85:45,3,ZD,MUL,+10,TO=ZD,LENGTH=4) - the data from 45th byte multiplies with 10 and writes the result to output of the length 4 from 85th position.
Note! The OVERLAY parameter of the OUTREC statement can be used to overlay specified columns with reformatting items, without affecting the rest of your reformatted record.
All of these reformatting features can be used with the OVERLAY parameter of the INREC statement and OUTFIL statement, as well as with the OUTREC statement.
All of these reformatting features can be used with the OVERLAY parameter of the INREC statement and OUTFIL statement, as well as with the OUTREC statement.