OUTREC Squeezing Data Example


Scenario - Remove the () from data in first 29 bytes and remove spaces between the data and separate the data with ‘,’.

Input File - MATEPK.SORT.INPUT01 - FB file of 80 length

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
(  student1     )            dept1          560       01012015
  (   student2   )           dept2          520       03032015
        (  student3  )       dept1          540       06022015
(student4    )               dept2          500       09202015
    (   student5   )         dept3          510       05182015

JCL -

----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//MATEPKD  JOB (123),'MTH',NOTIFY=&SYSUID
//*
//STEP01   EXEC PGM=SORT
//SORTIN   DD DSN=MATEPK.SORT.INPUT03,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 *
     OPTION COPY
     OUTREC FIELDS=(1,80,SQZ=(SHIFT=LEFT,
	 PREBLANK=C'()',MID=C','))
/*

Output -

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
student1,dept1,560,01012015
student2,dept2,520,03032015
student3,dept1,540,06022015
student4,dept2,500,09202015
student5,dept3,510,05182015

Explaining Example -

  1. OUTREC FIELDS=(1,80,SQZ=(SHIFT=LEFT,..)) - Squeezes the data in 1-80 bytes to the left.
  2. OUTREC FIELDS=(1,80,SQZ=(..,PREBLANK=C'()',..)) - Blanks out the ()
  3. OUTREC FIELDS=(1,80,SQZ=(.., MID=C',')) - the data which had spaces in between separated by ‘,’.