I am trying to convert a fixed length file to a variable length file, and while doing so I would like the trailing spaces to be removed.
Sample input data -
****** ***************************** Top of Data ******************************
000001 0000000000000001
FFFFFFFFFFFFFFFF44444444444444444444444444444444444444444444444444444444
000000000000000100000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000002 0000000000000002AAAAA
FFFFFFFFFFFFFFFFCCCCC444444444444444444444444444444444444444444444444444
000000000000000211111000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000003 0000000000000003BB
FFFFFFFFFFFFFFFFCC444444444444444444444444444444444444444444444444444444
000000000000000322000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000004 0000000000000004CCCCCCCCCCCC
FFFFFFFFFFFFFFFFCCCCCCCCCCCC44444444444444444444444444444444444444444444
000000000000000433333333333300000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000005 0000000000005
FFFFFFFFFFFFF44444444444444444444444444444444444444444444444444444444444
000000000000500000000000000000000000000000000000000000000000000000000000
000001 0000000000000001
FFFFFFFFFFFFFFFF44444444444444444444444444444444444444444444444444444444
000000000000000100000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000002 0000000000000002AAAAA
FFFFFFFFFFFFFFFFCCCCC444444444444444444444444444444444444444444444444444
000000000000000211111000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000003 0000000000000003BB
FFFFFFFFFFFFFFFFCC444444444444444444444444444444444444444444444444444444
000000000000000322000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000004 0000000000000004CCCCCCCCCCCC
FFFFFFFFFFFFFFFFCCCCCCCCCCCC44444444444444444444444444444444444444444444
000000000000000433333333333300000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000005 0000000000005
FFFFFFFFFFFFF44444444444444444444444444444444444444444444444444444444444
000000000000500000000000000000000000000000000000000000000000000000000000
Expected output result -
****** ***************************** Top of Data ******************************
000001 0000000000000001
FFFFFFFFFFFFFFFF
0000000000000001
------------------------------------------------------------------------------
000002 0000000000000002AAAAA
FFFFFFFFFFFFFFFFCCCCC
000000000000000211111
------------------------------------------------------------------------------
000003 0000000000000003BB
FFFFFFFFFFFFFFFFCC
000000000000000322
------------------------------------------------------------------------------
000004 0000000000000004CCCCCCCCCCCC
FFFFFFFFFFFFFFFFCCCCCCCCCCCC
0000000000000004333333333333
------------------------------------------------------------------------------
000005 0000000000005
FFFFFFFFFFFFF
0000000000005
000001 0000000000000001
FFFFFFFFFFFFFFFF
0000000000000001
------------------------------------------------------------------------------
000002 0000000000000002AAAAA
FFFFFFFFFFFFFFFFCCCCC
000000000000000211111
------------------------------------------------------------------------------
000003 0000000000000003BB
FFFFFFFFFFFFFFFFCC
000000000000000322
------------------------------------------------------------------------------
000004 0000000000000004CCCCCCCCCCCC
FFFFFFFFFFFFFFFFCCCCCCCCCCCC
0000000000000004333333333333
------------------------------------------------------------------------------
000005 0000000000005
FFFFFFFFFFFFF
0000000000005
The SORT JCL I am using -
//STEP0001 EXEC PGM=SORT,COND=(0,NE)
//SORTIN DD DSN=&HLQ..TEST.FB,
// DISP=SHR
//OUTPUTFI DD DSN=&HLQ..TEST.FBTOVB,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(15,15),RLSE),
// RECFM=VB,
// LRECL=27994,
// DSORG=PS
//SYSIN DD *
SORT FIELDS=COPY
OUTFIL FNAMES=OUTPUTFI,FTOV,VLTRIM=X'40'
/*
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=&HLQ..TEST.FB,
// DISP=SHR
//OUTPUTFI DD DSN=&HLQ..TEST.FBTOVB,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(15,15),RLSE),
// RECFM=VB,
// LRECL=27994,
// DSORG=PS
//SYSIN DD *
SORT FIELDS=COPY
OUTFIL FNAMES=OUTPUTFI,FTOV,VLTRIM=X'40'
/*
//SYSOUT DD SYSOUT=*
But I keep getting the trailing spaces even though the file gets converted to variable length format. I thought VLTRIM would strip them off. When I replace the spaces in input file with '*' and use VLTRIM=C'*', the '*' are removed and are replaced with spaces. I am confused as to why trailing blanks keep coming in both cases. Shouldn't VLTRIM remove them and adjust the RDW accordingly. Or may be I am missing something.
Please help.
Thanks.