Hi Ekta,
I tried with VLTESTI but it did'nt work, i got the same abend(short record).
Hi William,
I tried VLTEST=0 too and i am getting the same abend.
I gave PARM='IIRC', it shouted at me saying PARM FIELD ERROR - IIRC and gave the same abend. am i using the correct syntax ?
By the way what does the parm VLTESTI=1 or VLTESTI=0 does ?
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
Hello,
There was misunderstanding in the previous post(s).
Here is the descripton of the Syncsort VLTEST* parms:
Quote:
VLTESTI
VLTESTI specifies to SyncSort how to process variable-length records that do not contain
all specified INCLUDE or OMIT fields. VLTESTI applies to the INCLUDE and OMIT
control statements as well as OUTFIL and JOINKEYS INCLUDE/OMIT processing.
The delivered default of 0 instructs SyncSort to terminate if a record does not completely
contain all INCLUDE or OMIT fields. A WER250A critical error message is generated to
indicate this condition.
When VLTESTI=1 is specified, a record that does not completely contain all INCLUDE/
OMIT fields is treated as having failed the comparison. SyncSort will omit the record if
INCLUDE is being used or include the record if OMIT has been specified.
When VLTESTI=2 is specified, SyncSort will treat comparisons to fields not completely
contained within the record as false and decide a record?s status for inclusion or omission
from fields that are available. If all fields are not present, the record will be processed as
having failed the comparison. SyncSort will omit the record if INCLUDE is being used or
include the record if OMIT has been specified.
Cannot be used with Tape Sort.
Quote:
VLTEST
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 SyncSort in the
type of validity testing to be performed on variable-length records. Choosing a validity test
instructs SyncSort to terminate with a critical error (outlined in WER027A, WER160A or
WER167A) in the event of an illegal condition.
In particular, 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, SyncSort 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.
0** No validity testing of variable-length records.
1 If input record is shorter than control fields, terminate. This is the delivered
default.
2** If input record is longer than maximum LRECL or l2 value, terminate.
3 If either or both of tests 1 and 2, terminate.
4** If input record is longer than output LRECL or l3 value, terminate.
5 If input record is shorter than control fields, or longer than output LRECL or l3
value, or both, terminate.
6** If input record is longer than the maximum input LRECL or l2 value, or longer
than the output LRECL, or both, terminate.
7 If input record is shorter than control fields, or longer than input LRECL or l2
value, or longer than output LRECL or l3 value, or any or all of these, terminate.
The second subparameter allows you to specify whether or not SyncSort 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.
SyncSort 5.32 for z/OS 1.2 Programmer?s Guide
The second subparameter does not apply during copy applications.
Note: If an illegal condition is detected during a validity test and segment sequence checking
is on, message WER182A will be issued.
Cannot be used with Tape Sort.
** These values force the use of CMP=CLC for variable-length input.
If you don't have a Syncsort manual, you should obtain one. The documentation is free to registered users.