SORT FIELDS=COPY
INCLUDE COND=((5,2,CH,EQ,C'BC',AND,73,1,CH,EQ,X'F1'),OR,
(5,2,CH,EQ,C'US',AND,430,4,CH,EQ,X'00077A14'))
the job is giving maxcc=0 however i am not getting the expected output...the record for the second cond are getting selected..while records of 1st con are not comin...i have checked manually that there are 2 records present in the input file...and if i am using the first cond alone the job is selting those 2 records...
when i am giving both the conditions...i am getting the following msg in the spool
0 BYTES RESERVE REQUESTED, 2,256K BYTES USED
20K BYTES OF EMERGENCY SPACE ALLOCATED
SORTIN : RECFM=VB ; LRECL= 23472; BLKSIZE= 27998
SORTOUT : RECFM=VB ; LRECL= 23472; BLKSIZE= 27998
7,848K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,
0 BYTES RESERVE REQUESTED, 2,112K BYTES USED
INSERT 0, DELETE 52
SYNCSMF CALLED BY SYNCSORT; RC=0000
SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
SORTIN : EXCP'S=1,UNIT=3390,DEV=5A4A,CHP=(6A6CD0D4DEE8EAF2,3),VOL=PBP077
SORTOUT : EXCP'S=1,UNIT=3390,DEV=5B41,CHP=(6A6CD0D4DEE8EAF2,3),VOL=PBP005
TOTAL OF 2 EXCP'S ISSUED FOR COPYING
RCD IN 55, OUT 3
RELEASE 1.3 BATCH 0494 TPF LEVEL 2.0
END SYNCSORT - SORTDB,S020,,DIAG=EE00,7186,C204,00CE,A6FA,488B,8648,44E0
Please tell me why the combine sort crieteria is not working
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
zavedali85,
BTW, are you sure you have input records satifying both the criteria? May be this has something to do with the options to handle short records in your VB file.
Code:
EXEC PGM=SORT,PARM='VLTESTI=2'
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.
yes Arun...I have checked manually....records setisfying both the crieteria are present....infact i ran sort by both crieteria used alone and i am getting the results..its not working when i am trying to use both conds together.
For VB record,the first postion in the file will be the 5th postion.Did u take care of this.If so can you give me the input record which you used for testing
The VLTEST option 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 field(s) 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
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
zavedali85,
Glad that it worked.
VLTESTI option determines if an INCLUDE/OMIT condition needs to be treated as failed or not if any of the fields compared are missing in a VB file record. I am not sure what's the default value in your site. See my previous post for explanation for VLTESTI=2. It is explained in detail in the SyncSort manual.