I am doing the following in my sort job
1. I am inserting 00000001 in the input file
2. Then I am creating a sectioned report and using Trailer3 TOTAL keyword to sum total, but the job is abending with SOC7. When i removed the total and ran the job ran fine but somehow is encountering data issues when i am using Total.
What Might be the error. I am using ICEMAN.
Another thing which i want to know is -
1. When we insert in a file using C'00000001', does it make the filed as character, if yes suppose i want to insert a numeric field then what should be done.
2. Can DFSORT and SYNCSORT reside in same mainframe installation.
3. If suppose I submit a sort job and want to see which sort it called SYNCSORT or DFSORT, then how to do it. reason when i am submitting the ICEMAN job, i thought DFSORT be printed in spool, but what i got in spool was
"SYNCSORT FOR Z/OS 1.2.3.0R U.S. PATENTS: 4210961, 5117495 (C) 2005 SYNCSORT INC."
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
saurabh39 wrote:
I am doing the following in my sort job
1. I am inserting 00000001 in the input file
2. Then I am creating a sectioned report and using Trailer3 TOTAL keyword to sum total, but the job is abending with SOC7. When i removed the total and ran the job ran fine but somehow is encountering data issues when i am using Total.
Please post all you input and output (initially the dump will not be needed).
Quote:
What Might be the error.
With the input and output, we might be able to figure out the error.
Quote:
Another thing which i want to know is -
1. When we insert in a file using C'00000001', does it make the filed as character, if yes suppose i want to insert a numeric field then what should be done.
Yes, ZD, but the character format is just ZD with a positive sign.
Quote:
2. Can DFSORT and SYNCSORT reside in same mainframe installation.
Yes.
Quote:
3. If suppose I submit a sort job and want to see which sort it called SYNCSORT or DFSORT, then how to do it. reason when i am submitting the ICEMAN job, i thought DFSORT be printed in spool, but what i got in spool was
"SYNCSORT FOR Z/OS 1.2.3.0R U.S. PATENTS: 4210961, 5117495 (C) 2005 SYNCSORT INC."
If you executed DFSORT or ICEMAN or just SORT, there must be aliases pointion the the Syncsort set of products.
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
The 0C7 indicates the data for the TOTAL is invalid for the format you specified (e.g. a digit other than 0-9).
PGM=ICEMAN invokes the primary sort product at your site. In your case, that's obviously Syncsort (WER messages). If it were DFSORT, you'd see ICE messages such as:
Code:
ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - ...
C'00000001' can be processed as CH or ZD.
Yes, a site can have both DFSORT and Syncsort. One would be the primary sort product which would be invoked automatically. The other would have to be invoked using a JOBLIB or STEPLIB to the private libraries the System Programmers installed it in.
I'm a DFSORT developer. DFSORT and Syncsort are competitive products. I'm happy to answer questions on DFSORT and DFSORT's ICETOOL, but I don't answer questions on Syncsort.
This Forum is for DFSORT questions. I was going to move this post to the JCL Forum, but William beat me to it. Please post future Syncsort questions in the JCL Forum.
Yes, a site can have both DFSORT and Syncsort. One would be the primary sort product which would be invoked automatically. The other would have to be invoked using a JOBLIB or STEPLIB to the private libraries the System Programmers installed it in.
Suppose I write a DFSORT on a installation where SYNCSORT is primary, and the keywords i have used is not suppoerted by SYNCSORT. SO in this case will sort program abend or will call DFSORT.
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
saurabh39 wrote:
Suppose I write a DFSORT on a installation where SYNCSORT is primary, and the keywords i have used is not suppoerted by SYNCSORT. SO in this case will sort program abend or will call DFSORT.
If the keywords were not supported, it would be quite clear in the sysouts you have not yet provided.
Still waiting.....
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
I was hoping to see the WER messages in the sysout, but never the less...
And I am not really understanding this as well as I should, but....
What kind of information is being added to the T3 total if all three IFTHENs fail and the record without the BUILD falls through?
Isn't that what the WHEN=NONE is for?
Yesterday i talked to my admisitrator, and he said ICETOOL in no longer a licensed product in out installation, probably this might be the reasob behind the job failing, Let me know if i am right or wrong.
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
saurabh39 wrote:
Yesterday i talked to my admisitrator, and he said ICETOOL in no longer a licensed product in out installation, probably this might be the reasob behind the job failing, Let me know if i am right or wrong.
If your JCL is executing a program named ICETOOL, and you are not getting a 'program not found' error, then a program named ICEMAN is being executed.
If WER type messages are appearing in your sysouts, then ICEMAN is pointing to the Syncsort equivalent.
As far as I know, like DFSort and its ICETOOL, Syncsort and its Synctool do not require separate licensing.
And, again I ask,
Quote:
I was hoping to see the WER messages in the sysout, but never the less...
And I am not really understanding this as well as I should, but....
What kind of information is being added to the T3 total if all three IFTHENs fail and the record without the BUILD falls through?
Isn't that what the WHEN=NONE is for?
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
Hello,
Quote:
Yesterday i talked to my admisitrator, and he said ICETOOL in no longer a licensed product in out installation
Typically, when software is executed that has an expired license, a message is printed telling the user that the product has expired.
In regards to the code being run. . .
It appears (and i may be reading it incorrectly) that there are 3 places a one (1) might be placed to "count" by. Each of these 3 are 8 positions. Only the "count" beginning in 96 seems to be used in the TOTAL
As has already been asked (multiple times) - what value will be used when NONE of the IFTHENs are equal?
No IFTHEN is true - This situation will never occur.
Quote:
It appears (and i may be reading it incorrectly) that there are 3 places a one (1) might be placed to "count" by. Each of these 3 are 8 positions. Only the "count" beginning in 96 seems to be used in the TOTAL
You are correct, in three places i have added one(1) with the length 8, but while debugging i commented out other 2.
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
saurabh39 wrote:
No IFTHEN is true - This situation will never occur.
If this is true, then just skip the last compare.
Change:
IFTHEN=(WHEN=(69,1,CH,EQ,C'Y'),
BUILD=(1,95,C'000000000000000000000001'))
To:
IFTHEN=(WHEN=NONE,
BUILD=(1,95,C'000000000000000000000001'))
Perseverance pays off T .......and thats what happened today......and finally my trauma with SORT is finally over .
Thanks to everyone who replied to my question.
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
saurabh39 wrote:
Perseverance pays off T .......and thats what happened today......and finally my trauma with SORT is finally over .
Thanks to everyone who replied to my question.
The mistake was, when using "WHEN" perhaps it is mandatory to use WHEN=NONE(Can someone confirm this fact)
The final sysin i am using is -
The requirement was -
I have a file having details about card member who are active, or cancelled or defaulted state. I had to prepare a report based on this file as to how many card member for a product are active, cancelled or defaulted state.
To achieve this i wrote a sectioned report(input file was sorted according to a product, and end of each product constituted a section) and inserted 00000001 for each of the condition in different position and then used the total of Trailer3 to get the count. The SYSIN used is
This portion of code insert 1 if the card is active and non defaulted state.
The insertion happens after end of file.
Similarly the next two IFTHEN also does the same for Cancelled and defaulted state respectively, but the insertion of 1 as evident from the code is in different position.
I am using HEADER2 to get the header for the file(since the Section option is to move section to another page when one ends, ie SECTIONS=(1,6,SKIP=P, so header2 will appear in every sectioned report.
Finally using total for count.
Point to be noted though i have inserted 1 in three places i am using only one in Total,this was just for debugging.
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
Bad news....
A record was slipping through that had either an 'N' in 69 and not an 'A' or 'C' in 70......
Or neither a 'Y' or 'N' in 69.....
That record (or records?) was what was S0C7ing...
That record in now being caught by the WHEN=NONE....
Is that what you want?
A simple copy with omits for the three original conditions would output those unexpected records.......