DFSORT/OVERLAY/VB RECORD
Posted: Wed Apr 16, 2008 12:31 pm
Hi,
I have Variable length input file which has 4 types of records.
Requirement is to mask some of the fields for type 1 and type 2 record.
used the Overlay command to mask those fields.
type 3 and type 4 records should come exactly as it is there in the input file.
But when compared for alphanumeric fields gets pouplated with low values when there is no value in the input file( i.e) when checked with HEX ON it is not showing anything in the input file, but it is showing low values in the output file.
i hv given the code which is used for the mask field.
Let me know if there is any way where i can exactly copy what is available in the input to the output if the type of record is '3' . Record type is determined by the value stored at 15th position.
I have Variable length input file which has 4 types of records.
Requirement is to mask some of the fields for type 1 and type 2 record.
used the Overlay command to mask those fields.
type 3 and type 4 records should come exactly as it is there in the input file.
But when compared for alphanumeric fields gets pouplated with low values when there is no value in the input file( i.e) when checked with HEX ON it is not showing anything in the input file, but it is showing low values in the output file.
i hv given the code which is used for the mask field.
//SORT001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=Input File,DISP=SHR
//SORTOUT DD DSN=Output File,
// DISP=(NEW,CATLG,DELETE),
// UNIT=PERMDB,SPACE=(CYL,(400,100),RLSE),
// DCB=(RECFM=VB,LRECL=882,BLKSIZE=0)
//SYSIN DD *
OPTION COPY
OUTREC IFTHEN=(WHEN=(15,1,CH,EQ,X'F1'),
OVERLAY=(337:40X,425:16C'X',445:16C'X',463:420X)),
IFTHEN=(WHEN=(15,1,CH,EQ,X'F2'),OVERLAY=(79:420X))
/*
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=Input File,DISP=SHR
//SORTOUT DD DSN=Output File,
// DISP=(NEW,CATLG,DELETE),
// UNIT=PERMDB,SPACE=(CYL,(400,100),RLSE),
// DCB=(RECFM=VB,LRECL=882,BLKSIZE=0)
//SYSIN DD *
OPTION COPY
OUTREC IFTHEN=(WHEN=(15,1,CH,EQ,X'F1'),
OVERLAY=(337:40X,425:16C'X',445:16C'X',463:420X)),
IFTHEN=(WHEN=(15,1,CH,EQ,X'F2'),OVERLAY=(79:420X))
/*
Let me know if there is any way where i can exactly copy what is available in the input to the output if the type of record is '3' . Record type is determined by the value stored at 15th position.