VLTEST allows you to do the following when variable-length records are processed:
-
Choose the type of record length validity testing to be performed.
-
Choose whether or not to verify the correct sequence of segments in variable-length spanned records.
Record length validity testing may be performed in all types of applications: sort, merge, copy, and BetterGener. Segment sequence checking may only be done during sort and merge applications.
The first subparameter of the VLTEST PARM is a number n that instructs MFX in the type of validity testing to be performed on variable-length records. Choosing a validity test instructs MFX to terminate with a critical error (outlined in WER027A, WER160A or WER167A) in the event of an illegal condition.
A primary use of VLTEST instructs the sort/merge in the handling of “short” variable-length records, i.e., records not long enough to contain all of the control fields specified in the SORT/MERGE control statement. The delivered default for VLTEST is 1.
When VLTEST is set to an even number, MFX will accept short variable-length records, padding them with binary zeros to the length of the sort key for the sort compare process. In order to prevent system 0C7 abends due to the binary zero padding, the CMP PARM is automatically set to CMP=CLC in these cases. The binary zeros are removed from the record, restoring it to its original state, as the output record is being written.
|
The second subparameter allows you to specify whether or not MFX should verify that the sequence of segments is correct in each variable-length spanned record during sort and merge applications. ON is the delivered default and signals that the segment sequence should be verified. If OFF is selected, all illogical record segments encountered in the input file will be eliminated and message WER464I will be produced. If OFF4 is selected, the processing described for OFF will occur, but in addition if an illogical segment is found, a return code of 4 will be returned if not overridden by a higher return code set for another reason.
The second subparameter does not apply during copy applications. In a copy application all illogical record segments encountered in the input file will be eliminated.