IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

SYNCSORT TOTAL=(96,8,ZD,M10) giving SOC7


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
saurabh39
Warnings : 1

Active User


Joined: 11 Apr 2008
Posts: 144
Location: Jamshedpur

PostPosted: Fri Apr 11, 2008 8:40 pm
Reply with quote

Hi,

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."
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Fri Apr 11, 2008 9:32 pm
Reply with quote

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.

Again, please post the sysin and sysouts.
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Fri Apr 11, 2008 9:37 pm
Reply with quote

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.
Back to top
View user's profile Send private message
saurabh39
Warnings : 1

Active User


Joined: 11 Apr 2008
Posts: 144
Location: Jamshedpur

PostPosted: Fri Apr 11, 2008 9:42 pm
Reply with quote

Following is the SYSIN
Code:
  OPTION COPY                                                           
  INREC IFTHEN=(WHEN=(69,1,CH,EQ,C'N',AND,70,1,CH,EQ,C'A'),             
  BUILD=(1,95,C'000000010000000000000000')),                           
  IFTHEN=(WHEN=(69,1,CH,EQ,C'N',AND,70,1,CH,EQ,C'C'),                   
  BUILD=(1,95,C'000000000000000100000000')),                           
  IFTHEN=(WHEN=(69,1,CH,EQ,C'Y'),                                       
  BUILD=(1,95,C'000000000000000000000001'))                             
  OUTFIL NODETAIL,                                                     
  BUILD=(150X),                                                         
  HEADER2=(1:'REPORT  ID: XX-XXXX',57:'XXXXXXXX XXXXXXX',100:'PAGE :', 
           PAGE,/,                                                     
           1:'PROGRAM ID: XXXXXXXX',56:'XXXXXX XXXXXXX XXXXXX',         
           100:'DATE :',DATE=(MD4/),/,                                 
           55:'MONTHLY REBATE SUMMARY',100:'TIME :',TIME=(12:),/),     
 SECTIONS=(1,6,SKIP=P,                                                 
   TRAILER3=(1,41,/,                                                   
   1:'ELIGIBLE CM :',20:TOTAL=(96,8,ZD,M10)))
Back to top
View user's profile Send private message
saurabh39
Warnings : 1

Active User


Joined: 11 Apr 2008
Posts: 144
Location: Jamshedpur

PostPosted: Fri Apr 11, 2008 9:55 pm
Reply with quote

Hi Frank,

Sorry for posting question in wrong folder.

Frank Yaeger wrote:
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.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Apr 11, 2008 10:02 pm
Reply with quote

Hello,

It will abend. When you code control statements that are for a particular sort, you must make sure your jcl will invoke that sort product.

As Frank mentioned, one will be the standard or default sort product and the other will probably need to be "pointed to" by a joblib or steplib.
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Fri Apr 11, 2008 10:04 pm
Reply with quote

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.....
Back to top
View user's profile Send private message
saurabh39
Warnings : 1

Active User


Joined: 11 Apr 2008
Posts: 144
Location: Jamshedpur

PostPosted: Fri Apr 11, 2008 11:03 pm
Reply with quote

Sorry forgot to send the sysout.
Here is the copy of sysout for the step that abended.


Code:
SYNCSORT FOR Z/OS  1.2.3.0R    U.S. PATENTS: 4210961, 5117495   (C) 2005 SYNCSO
                                    AMERICAN EXPRESS   TRS   IPC   z/OS   1.7.1
PRODUCT LICENSED FOR CPU SERIAL NUMBER 18715, MODEL 2094 705              LICEN
SYSIN :                                                                       
  OPTION COPY                                                                 
  INREC IFTHEN=(WHEN=(69,1,CH,EQ,C'N',AND,70,1,CH,EQ,C'A'),                   
  BUILD=(1,95,C'000000010000000000000000')),                                   
  IFTHEN=(WHEN=(69,1,CH,EQ,C'N',AND,70,1,CH,EQ,C'C'),                         
  BUILD=(1,95,C'000000000000000100000000')),                                   
  IFTHEN=(WHEN=(69,1,CH,EQ,C'Y'),                                             
  BUILD=(1,95,C'000000000000000000000001'))                                   
  OUTFIL NODETAIL,                                                             
  BUILD=(150X),                                                               
  HEADER2=(1:'REPORT  ID: BQ-0610',57:'AMERICAN EXPRESS',100:'PAGE :',         
           PAGE,/,                                                             
           1:'PROGRAM ID: BQ610000',56:'REBATE REWARDS SYSTEM',               
           100:'DATE :',DATE=(MD4/),/,                                         
           55:'MONTHLY REBATE SUMMARY',100:'TIME :',TIME=(12:),/),             
 SECTIONS=(1,6,SKIP=P, 
 TRAILER3=(1,41,/,                             
 1:'ELIGIBLE CM :',20:TOTAL=(96,8,ZD,M10)))
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Sat Apr 12, 2008 1:02 am
Reply with 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?
Back to top
View user's profile Send private message
saurabh39
Warnings : 1

Active User


Joined: 11 Apr 2008
Posts: 144
Location: Jamshedpur

PostPosted: Sat Apr 12, 2008 1:05 pm
Reply with quote

Hi,

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.

Regards,
Tushar
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Sat Apr 12, 2008 8:39 pm
Reply with quote

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?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Sat Apr 12, 2008 11:14 pm
Reply with quote

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 icon_confused.gif

As has already been asked (multiple times) - what value will be used when NONE of the IFTHENs are equal?
Back to top
View user's profile Send private message
saurabh39
Warnings : 1

Active User


Joined: 11 Apr 2008
Posts: 144
Location: Jamshedpur

PostPosted: Mon Apr 14, 2008 6:38 pm
Reply with quote

Hi,

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.

Let me know if you require more information.

Regards,
Tushar
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Mon Apr 14, 2008 7:22 pm
Reply with quote

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'))
Back to top
View user's profile Send private message
saurabh39
Warnings : 1

Active User


Joined: 11 Apr 2008
Posts: 144
Location: Jamshedpur

PostPosted: Mon Apr 14, 2008 7:32 pm
Reply with quote

Hi,

Perseverance pays off T icon_biggrin.gif .......and thats what happened today......and finally my trauma with SORT is finally over icon_exclaim.gif .
Thanks to everyone who replied to my question.
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Mon Apr 14, 2008 7:43 pm
Reply with quote

saurabh39 wrote:
Perseverance pays off T icon_biggrin.gif .......and thats what happened today......and finally my trauma with SORT is finally over icon_exclaim.gif .
Thanks to everyone who replied to my question.
Could you explain how/what caused the success?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Mon Apr 14, 2008 7:43 pm
Reply with quote

Hello Tushar,

Good to hear that it is working - thank you for posting icon_smile.gif

If you can post the solution, it will probably help someone else who encounters a similar situation.

d
Back to top
View user's profile Send private message
saurabh39
Warnings : 1

Active User


Joined: 11 Apr 2008
Posts: 144
Location: Jamshedpur

PostPosted: Mon Apr 14, 2008 7:59 pm
Reply with quote

Hi All,

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
Code:

  OPTION COPY                                                           
  INREC IFTHEN=(WHEN=(69,1,CH,EQ,C'N',AND,70,1,CH,EQ,C'A'),             
  BUILD=(1,95,C'000000010000000000000000')),                           
  IFTHEN=(WHEN=(69,1,CH,EQ,C'N',AND,70,1,CH,EQ,C'C'),                   
  BUILD=(1,95,C'000000000000000100000000')),                           
  IFTHEN=(WHEN=NONE),                                                   
  BUILD=(1,95,C'000000000000000000000001'))                             
  OUTFIL NODETAIL,                                                     
  BUILD=(150X),                                                         
  HEADER2=(1:'REPORT  ID: BQ-0610',57:'AMERICAN EXPRESS',100:'PAGE :', 
           PAGE,/,                                                     
           1:'PROGRAM ID: BQ610000',56:'REBATE REWARDS SYSTEM',         
           100:'DATE :',DATE=(MD4/),/,                                 
           55:'MONTHLY REBATE SUMMARY',100:'TIME :',TIME=(12:),/),     
 SECTIONS=(1,6,SKIP=P,                                                 
   TRAILER3=(1,41,/,                                                   
   1:'ELIGIBLE CM :',20:TOTAL=(96,8,ZD,M10)))                           


Quote:

INREC IFTHEN=(WHEN=(69,1,CH,EQ,C'N',AND,70,1,CH,EQ,C'A'),
BUILD=(1,95,C'000000010000000000000000')),

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.
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Mon Apr 14, 2008 8:28 pm
Reply with quote

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.......
Back to top
View user's profile Send private message
saurabh39
Warnings : 1

Active User


Joined: 11 Apr 2008
Posts: 144
Location: Jamshedpur

PostPosted: Tue Apr 15, 2008 9:40 am
Reply with quote

Hi,

Quote:

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.....


Well that shouldnot happen....but i will check if that was the case and let you know.

Regards,
Tushar
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Compare only first records of the fil... SYNCSORT 7
No new posts Null values are considered in Total c... DFSORT/ICETOOL 6
No new posts CSQBGET - Call giving completion code... COBOL Programming 3
No new posts Count Records with a crietaria in a f... DFSORT/ICETOOL 5
No new posts DFSORT/SYNCSORT/ICETOOL JCL & VSAM 8
Search our Forums:

Back to Top