DFSORT OUTREC Extending with OVERLAY

DFSORT OUTREC: Reformatting with OVERLAY DFSORT OUTREC: Reformatting with FINDREP

Advertisements


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,…)


Name Description
Extending position of field1 in o/p fileSpecifies 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 feild1Field1 physical length in input file.
Overlay operationSpecifies 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.


Example: -

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 ********************************

Job:

000100 //Jobcard 
000400 //*                                                                     
000500 //**********************************************************************
000600 //*                                                                     
000700 //* SORT FOR OUTREC STATEMENT                                           
000800 //*                                                                     
000900 //**********************************************************************
001100 //STEP01   EXEC PGM=SORT                                                
001300 //SORTIN   DD DSN=MTHUSER.SORT.INPUT01,DISP=SHR                    
001800 //SORTOUT  DD SYSOUT=*                                                  
001900 //SYSOUT   DD SYSOUT=*                                                  
002400 //SYSIN    DD *                                                         
002411      OPTION COPY                                                        
002420      OUTREC OVERLAY=(30:30,4,TRAN=LTOU,                                 
002430                     85:45,3,ZD,MUL,+10,TO=ZD,LENGTH=4)                  
003500 /*                                                                      
****** **************************** 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 Solution:

  1. 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.
  2. 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.


DFSORT OUTREC: Reformatting with OVERLAY DFSORT OUTREC: Reformatting with FINDREP

Advertisements