Joined: 05 Jan 2007 Posts: 101 Location: chennai (India)
Pls find the error msg below..
I checked the error code in preview mode, the asterisk (*) under C'000000008' is appearing under 'INCLUDE'. so i decided to share it in attachmate for better understanding.
Code:
SYNCSORT FOR Z/OS 1.4.0.0R
SYSIN :
SORT FIELDS=(16,7,CH,A,49,9,CH,A)
INCLUDE COND=(49,9,SS,EQ,C'000000008,000000028,000000040,
*
000000041,000000042,000000043,000000045,000000046,
*
000000053,000000055,000000056,000000057,000000059,000000060')
*
WER161B ALTERNATE PARM USED
WER251A INCLUDE/OMIT INVALID SELF DEF TERM
WER275A NO KEYWORDS FOUND ON CONTROL STATEMENT
WER275A NO KEYWORDS FOUND ON CONTROL STATEMENT
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
WER449I SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
I agree with Dave.
There are two forms of the SS condition, e.g:
Code:
1,3,SS,EQ,C'ABC,DEF,GHI'
In this form (character string length greater than field length), SS checks the field for each group of three characters. So first it checks the field for 'ABC', then 'BC,' and so on. The comma is not really a delimiter - it's just a way to separate the needed groups of 3 characters.
Code:
1,80,SS,EQ,C'ABC,DEF,GHI'
In this form (field length greater than character string length), SS checks for the complete string everywhere in the record. So first it checks 1-11 for 'ABC,DEF,GHI', then it checks 2-12 and so on. The comma is just a character - it's not a delimiter or group separator.
This is the form you're using and explains why it didn't do what you thought it would. Other condition with the ORs, which Dave has shown, should do what you want.
Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
If you have those many different values for the positions 49,9 - you've got to use ORs as you show. I don’t think so that there is some other way round to make your sort-card look rather elegant .
bodatrinadh - It's been more than 4 years now that you had been a member of this very Forum, please use BBcode Tags when you post some code or error message/s.
and get a U0016 with following messages in SYSOUT:
Code:
SYSIN :
OPTION COPY
INCLUDE COND=(1,2,SS,EQ,C'GB,C
*
AC')
*
WER251A INCLUDE/OMIT INVALID SELF DEF TERM
WER275A NO KEYWORDS FOUND ON CONTROL STATEMENT
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
WER449I SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
Syncsort manual wrote:
If the control statement does contain a literal string that would extend beyond column 71, place a continuation character in column 72 and begin the continuation of the literal string in column 16 of the next card image.
Anuj,
The sort card shown by bodatrinadh in his original post was perfectly fine except for the continuation which Gerry has corrected in his post above. The continuation character HAS to be at pos-72 and NOT as shown in your example.
Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
There is something to learn, for me, today. However, something I'm missing here - below are the two rcords in input and I need all the records from input to output which have GB or AC appearing somewehre in the entire record, so basically both the records should appear in output:
Anuj,
I don't have syncsort so pardon me if my suggestion is not relevant but it looks like you are searching for the "string" in the first 2 bytes and not the entire record. The card looks for search string in the first 2 byte and it doesn't find the string.
SORTIN : RECFM=FB ; LRECL= 80; BLKSIZE= 80
SORTOUT : RECFM=FB ; LRECL= 80; BLKSIZE= 80
5,868K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,
0 BYTES RESERVE REQUESTED, 156K BYTES USED
INSERT 0, DELETE 2
SYNCSMF CALLED BY SYNCSORT; RC=0000
SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
BSAM WAS USED FOR SORTIN
BSAM WAS USED FOR SORTOUT
RCD IN 2, OUT 0
SORTIN : RECFM=FB ; LRECL= 80; BLKSIZE= 80
SORTOUT : RECFM=FB ; LRECL= 80; BLKSIZE= 80
5,868K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,
0 BYTES RESERVE REQUESTED, 156K BYTES USED
INSERT 0, DELETE 2
SYNCSMF CALLED BY SYNCSORT; RC=0000
SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
BSAM WAS USED FOR SORTIN
BSAM WAS USED FOR SORTOUT
RCD IN 2, OUT 0
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
Arun Raj wrote:
Syncsort manual wrote:
If the control statement does contain a literal string that would extend beyond column 71, place a continuation character in column 72 and begin the continuation of the literal string in column 16 of the next card image.