Whenever this number(include cond options) goes beyond 999,the job is getting abend.
Now I want to split this file in such a way that when it crosses 999,I need to create another sort step(flat file).
Means if my include cond is more than 999 after running the program,I need to create 2 out put files that were having the frst 999 records in one file and the remaining in another file.
The number of include cond differs on each day.But the maximum will be 2000 only.
After the sort step I need to create 2 files like
first file :
Code:
SORT FIELDS=(7,12,CH,A)
INCLUDE COND=((7,12,CH,EQ,X'aaaaaa'),OR,
(7,12,CH,EQ,X'bbbbbbbbbbbbb'),OR,
(7,12,CH,EQ,X'ccccc'),OR,
(7,12,CH,EQ,X'ddddd'),OR,
(7,12,CH,EQ,X'eeee'),OR,
.
.------------------------------->till 999 records
second file :
Code:
SORT FIELDS=(7,12,CH,A)
INCLUDE COND= (7,12,CH,EQ,X'qqqq'),OR,
(7,12,CH,EQ,X'wwww'),OR,
(7,12,CH,EQ,X'jjjj').
Kolusu,
Thanks for u r reply.But unfortunately nothing has worked out for me.Still I am getting the error
WER002A EXCESS CARDS when I use the SIZE VSCORE option.
The remaining options also not suitable for my requirement.Because
1) my include condition is having the length of 30 characters each.(so i could not code 2 include's in one line)
2)I can't use the SAVE REST option,because I need to inclde the SORT FIELDS option in the second file as well and
we need to include the ')' at the end of 999 include condition.
3)I am not sure whether I will always receive more than 999 cards in each day.Some times I may get less than 999 cards also.
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
Posted: Tue Jul 06, 2004 3:00 am Post subject:
Kolusu,
I am confused with option 1 that you posted above.
You are saying, Syncsort will not complain, if the INCLUDE is written 2 per line than one per line (in this particular situation where the number of INCLUDEs are large)? Because, if I see correctly, the number of conditions are still same only their 'formatting' has been changed.
BTW, bprasanna, can't the INCLUDEs be replaced with LT/LE and GT/GE? Your example shows, the strings to be included vary 'sequentially'. _________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes.
Joined: 26 Nov 2002 Posts: 12376 Topics: 75 Location: San Jose
Posted: Tue Jul 06, 2004 6:14 am Post subject:
Cogito,
The poster had more than 1000 include conditions, and each condition is written on a separate line. so the total sysin cards are more than 1000 lines.
Some shops have the installation defaults , that if you have more than 1000 lines , then you will encounter an EXCESS CARDS ERROR. This is the error OP is facing.
My suggestion is to write 2 include conditions on one line, so that the no: of sysin cards are reduced by half.
Quote:
1) my include condition is having the length of 30 characters each.(so i could not code 2 include's in one line)
Bprassana,
I just noticed that you are coding your include cond in hex format. Since the field in question is of CHARACTER format, why not code the literals which is only 12 bytes.Then you can code 2 include conditions on one line.
Quote:
I can't use the SAVE REST option,because I need to inclde the SORT FIELDS option in the second file as well
The file is first sorted and then only your include condition is validated as it is coded on the OUTFIL. so the REST file from the SAVE option is already sorted on the specified fields.
Quote:
3)and we need to include the ')' at the end of 999 include condition. I am not sure whether I will always receive more than 999 cards in each day.Some times I may get less than 999 cards also.
Your first post mentions that you are dynamically generating the control cards. While generating the control cards itself can't you just code the closing paranthesis and the card for the REST file with SAVE OPTION?
Here the problem is,, I was not supposed to touch the program which was creating these sort conditions.Actually I will get a flat file with all the sysin
cards as mentioned above.Now I need to divide this file into 2 files as shown above and one more thing is I may not get the records in sequence.Just to give the example I have shown the include conditions.
''The file is first sorted and then only your include condition is validated as it is coded on the OUTFIL. so the REST file from the SAVE option is already sorted on the specified fields.""
I tried by coding OUTFIL option with the SAVE,But I am getting the first file
like
Sort fields=(.....................)
Include cond=(xxxxxxxxxxxxxxxxxxx),
.
.
. ),
in one file
.
.
. ),
in other file.
Since I need to use this SYSIN cards in the subsequent steps in my jcl,I need to create the 2 seperate sort cards as I have shown in my firsr post.
Now look at the listing in sysout. The parameter you are looking is MINCORE. That is the parameter which controls the sysin control cards. I am guessing that your shop has set it at <= 500k.
You can override this parameter up to 2M with the following override.
Code:
PGM=SORT,PARM='MINCORE=750K'
If 750K is not sufficient and you continue to have this problem, you can incrementally raise the MINCORE value. However, I do not recommend exceeding 2M.
I ran the JCL which u provided have provided. As you said the MINCORE value is around 500k.
Here are those details which I got in syout.
SYNCSORT RELEASE 1.1
--------------------------
*.MAXMERG = 8,OC
MAXWKSP = MAX
* MINCORE = 524288
*.MINMERG = 2
MINWKSP = 8
* MODSLNK = N
MSG = AP
* MSGCLAS = ABCD I
In the syout it has mentioned that
* - INDICATES A VALUE WHICH IS DIFFERENT FROM THE DEFAULT VALUE
When I changed this value to 2M,4M and 0M , still the job got the same error.It seems in our environmnet we are not allowed to over ride this parameter.If this one is not possible through SORT,I am plannig to write an EZT or COBOL program.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum