View previous topic :: View next topic
|
Author |
Message |
mkk157
Active User
Joined: 17 May 2006 Posts: 310
|
|
|
|
Dear Expert,
My requirement is as below:
The length of the input file is 80 bytes and I want to copy a particular field from position 17 to 20 which is in Binary format to the first four bytes of the output file in the same Binary format.
And I want to keep all the remaining 76 bytes as spaces.
Can you provide me the SORT card for this. |
|
Back to top |
|
|
krisprems
Active Member
Joined: 27 Nov 2006 Posts: 649 Location: India
|
|
|
|
Code: |
//*******************************************************
//STEP1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=I/P FILE FB/80
//SORTOUT DD DSN=O/P FILE FB/80
//SYSIN DD *
SORT FIELDS=COPY
OUTREC OVERLAY=(17,4,80:X)
/*
|
|
|
Back to top |
|
|
Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Krisprems,
That won't work. 80:X in OVERLAY will just put a blank in position 80 - it will not put blanks in positions 5-80 as you seem to be assuming (overlay only changes the positions you tell it to change). 17-20 will have the original value instead of blanks.
The correct DFSORT job is:
Code: |
//S1 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=... input file (FB/80)
//SORTOUT DD DSN=... output file (FB/80)
//SYSIN DD *
OPTION COPY
OUTREC BUILD=(1:17,4,80:X)
/*
|
80:X in BUILD will put blanks in positions 5-80. |
|
Back to top |
|
|
|