Changing Logical Record Length Example


Scenario - Create new PS file with length 70 different input file length 80.

Input PS File - MATEPK.IEBGENER.INPUTPS

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
E0001    EMPLOYEE1           DIR                 LOC1      0000100000    
E0002    EMPLOYEE2           MGR       DEPT1     LOC1      0000080000    
E0003    EMPLOYEE3           MGR       DEPT2     LOC2      0000075000    
E0004    EMPLOYEE4           TL        DEPT1     LOC1      0000050000    
E0005    EMPLOYEE5           SSE       DEPT1     LOC1      0000045000    
E0006    EMPLOYEE6           SE        DEPT1     LOC1      0000034000    
E0007    EMPLOYEE7           SSE       DEPT2     LOC2      0000046000

Code -

----+----1----+----2----+----3----+----4----+----5----+----6
//MATEPKP  JOB (123),'MTH',CLASS=A,MSGCLASS=A,
//             MSGLEVEL=(1,1),NOTIFY=&SYSUID
//***********************************************************
//* COPY INPUT PS DATA TO NEW PS FILE BY CHANGING LENGTH
//***********************************************************
//STEP10   EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=MATEPK.IEBGENER.INPUTPS,DISP=SHR
//SYSUT2   DD DSN=MATEPK.IEBGENER.OUTPUTPS,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(TRK,(10,10),RLSE),
//            UNIT=3390,VOL=SER=DEVHD4,
//            DCB=(DSORG=PS,RECFM=FB,LRECL=70,BLKSIZE=700)
//SYSIN    DD  *
  GENERATE MAXFLDS=1
    RECORD FIELD=(70,1,,1)
/*

Output - MATEPK.IEBGENER.OUTPUTPS

----+----1----+----2----+----3----+----4----+----5----+----6----+----7
E0001    EMPLOYEE1           DIR                 LOC1      0000100000
E0002    EMPLOYEE2           MGR       DEPT1     LOC1      0000080000
E0003    EMPLOYEE3           MGR       DEPT2     LOC2      0000075000
E0004    EMPLOYEE4           TL        DEPT1     LOC1      0000050000
E0005    EMPLOYEE5           SSE       DEPT1     LOC1      0000045000
E0006    EMPLOYEE6           SE        DEPT1     LOC1      0000034000
E0007    EMPLOYEE7           SSE       DEPT2     LOC2      0000046000

Explaining Example -

  • SYSUT1 DD maps the input data set (MATEPK.IEBGENER.INPUTPS).
  • SYSUT2 DD specifies the output file MATEPK.IEBGENER.OUTPUTPS with record length 70.
  • SYSIN DD specifies the control card as DUMMY to identify no control statements are used.