Ron,

You can use the following DFSORT JCL which will reformat the file as you 
need. The length of the file is now increased to 99 bytes (19 additional 
zero for all the 19 occurrences if the data is present.

//STEP0100 EXEC PGM=SORT 
//SYSOUT   DD SYSOUT=* 
//SORTIN   DD * 
XX123478965456 
//SORTOUT  DD SYSOUT=* 
//SYSIN    DD * 
  OPTION COPY 
  INREC IFOUTLEN=99,IFTHEN=(WHEN=INIT,BUILD=(1,2,98:79,2,100:3,76)), 
  IFTHEN=(WHEN=(100,4,CH,NE,C' '), 
  OVERLAY=(03:100,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(104,4,CH,NE,C' '), 
  OVERLAY=(08:104,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(108,4,CH,NE,C' '), 
  OVERLAY=(13:108,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(112,4,CH,NE,C' '), 
  OVERLAY=(18:112,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(116,4,CH,NE,C' '), 
  OVERLAY=(23:116,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(120,4,CH,NE,C' '), 
  OVERLAY=(28:120,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(124,4,CH,NE,C' '), 
  OVERLAY=(33:124,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(128,4,CH,NE,C' '), 
  OVERLAY=(38:128,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(132,4,CH,NE,C' '), 
  OVERLAY=(43:132,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(136,4,CH,NE,C' '), 
  OVERLAY=(48:136,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(140,4,CH,NE,C' '), 
  OVERLAY=(53:140,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(144,4,CH,NE,C' '), 
  OVERLAY=(58:144,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(144,4,CH,NE,C' '), 
  OVERLAY=(63:144,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(148,4,CH,NE,C' '), 
  OVERLAY=(68:148,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(152,4,CH,NE,C' '), 
  OVERLAY=(73:152,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(156,4,CH,NE,C' '), 
  OVERLAY=(78:156,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(160,4,CH,NE,C' '), 
  OVERLAY=(83:160,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(164,4,CH,NE,C' '), 
  OVERLAY=(88:164,4,UFF,EDIT=(TTTTT)),HIT=NEXT), 
  IFTHEN=(WHEN=(168,4,CH,NE,C' '), 
  OVERLAY=(93:168,4,UFF,EDIT=(TTTTT))) 
//*       

Thanks,
Kolusu
DFSORT Development
IBM Corporation

IBM Mainframe Discussion List <[email protected]> wrote on 
10/15/2013 11:27:44 AM:

> From: Ron Thomas <[email protected]>
> To: [email protected], 
> Date: 10/15/2013 11:28 AM
> Subject: DFSORT (File Reformat)
> Sent by: IBM Mainframe Discussion List <[email protected]>
> 
> Hello
> 
> We have a input file of length 80 bytes, in this file from the 3'rd 
> position the 4 byte data is defined as a array of 19 occurence. The 
> last 2 bytes is of character data.
> 
> We need to reformat this file, there is a chance that data may 
> occure only say 10 times.
> 
> Here we need to put "0" in front of the data only if data is present
> in the layout from position 3. No need to put any data in front if 
> there is no file data  for e.g say in position "51"
> 
> e.g  INPUT FILE :-  XX123478965456
>      OUTPUT FILE :  XX012340789605456
> 
> Pls let me know how this to be done using SORT ?  No issume if the 
> length of the file is modified by this process
> 
> Thanks
> Ron T
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
> 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to