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

Syncsort count records & match with the count in trailer


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

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Sun May 02, 2010 4:10 pm
Reply with quote

hi Dick,

RC0 and RC4 give me corresponding return codes( 0 & 4) for the same file content, but all others and RC16 give me U0016 only which as you say doesnt mean RC16. I agree. I'll check spool once and let you know.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Sun May 02, 2010 4:14 pm
Reply with quote

hi Dick here is the spool from both RC-

RC4 which runs with Return Code =4 without abend-


Code:
WER108I  SORTIN   : RECFM=FB   ; LRECL=   400; BLKSIZE= 27600                 
WER257I  INREC RECORD LENGTH =   406                                           
WER238I  POTENTIALLY INEFFICIENT USE OF INREC                                 
WER110I  SORTOF01 : RECFM=FB   ; LRECL=   400; BLKSIZE= 27600                 
WER405I  SORTOF01 :  DATA RECORDS OUT          0; TOTAL RECORDS OUT          0
WER461I  SORTOUT/OUTFIL DATA SET CONTAINS NO DATA RECORDS                     
WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE                                 
WER054I  RCD IN          5, OUT          5                                     
WER169I  RELEASE 1.3 BATCH 0491 TPF LEVEL 0.3                                 
WER052I  END SYNCSORT - T5590AG4,STEP01,,DIAG=EA00,7142,C20C,004E,A2F2,4CEB,020



RC16 which abends with U0016-

Code:
WER276B  SYSDIAG= 3096394, 4882832, 4882832, 4731549                         
WER164B  7,908K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,           
WER164B     0 BYTES RESERVE REQUESTED, 2,339,720 BYTES USED                   
WER146B  32K BYTES OF EMERGENCY SPACE ALLOCATED                               
WER108I  SORTIN   : RECFM=FB   ; LRECL=   400; BLKSIZE= 27600                 
WER257I  INREC RECORD LENGTH =   406                                         
WER238I  POTENTIALLY INEFFICIENT USE OF INREC                                 
WER110I  SORTOF01 : RECFM=FB   ; LRECL=   400; BLKSIZE= 27600                 
WER410B  5,856K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,     
WER410B     0 BYTES RESERVE REQUESTED, 2,192,264 BYTES USED                   
WER405I  SORTOF01 :  DATA RECORDS OUT          0; TOTAL RECORDS OUT          0
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                                 
WER461A  SORTOUT/OUTFIL DATA SET CONTAINS NO DATA RECORDS                     
WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
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: Sun May 02, 2010 5:06 pm
Reply with quote

Hello,

Possibly, there is an option set locally that causes the abend when the rc16 is specified?

Suggest looking deeper in the documentation for such an option or talk with whoever installed/supports Syncsort on your system. The posted bit from the manual does not mention a user abend, but this is only a small bit of the material.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Sun May 02, 2010 5:11 pm
Reply with quote

what you stated should be right Dick. I am not sure if I can get those settings changed. But can I use RC4 in place of RC16 ? Is it gonna misfire in some condition ?
Or do I have any other option apart from the RC check of SORT step?
You see all I need is an indication from SORT step regarding whether my counts matched or not.
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: Sun May 02, 2010 5:30 pm
Reply with quote

Hello,

Quote:
But can I use RC4 in place of RC16 ? Is it gonna misfire in some condition ?
Suggest you do some testing. . . There will be no "misfire" but you need to make sure the process works in all possible situations (which only you can define).

I would want to know exactly why the abend occurs (if this were my task). Exactly which step issues the abend? Is it this the sort step or some other step that generates the abend due to the rc16?
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Sun May 02, 2010 5:36 pm
Reply with quote

To get to know the exact reason I need to search out some team which actually can help me out with these deep tech details. I have only 1 step in job and that is SORT.
I understand its the one leading to abend, and perhaps system is not made to handle any other RC from SORT,except 0 & 4, hence in all other RC## it issues the abend.
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: Sun May 02, 2010 6:40 pm
Reply with quote

t5590ag wrote:
But can I use RC4 in place of RC16 ?
Did you even bother to look at the manual?
SyncSort for z/OS 1.3 Programmer’s Guide wrote:
NULLOFL Parameter (Optional)
Code:
        RC0
NULLOFL=RC4
        RC16

The NULLOFL parameter specifies the action to be taken when any non-SORTOUT OUTFIL data set contains no data records.

RC0 The delivered default instructs SyncSort to issue a return code of 0 if not overridden by a higher return code set for another reason.

RC4 Instructs SyncSort to issue a WER461I warning message and continue processing. A return code of 4 will be issued if not overridden by a higher return code set for another reason.

RC16 Instructs SyncSort to issue a WER461A message and to terminate processing with a return code of 16.

[rant]
I guess that since your mainframe skills do not include 'RTFM', spoon feeding the answers to your problems is allowed.....
[/rant]
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Wed May 05, 2010 1:43 pm
Reply with quote

t5590ag,

I guess the RC16 parm in your site has been set to 'ABE'. You can check this out by executing the below JCL.
Code:
//STEP0100 EXEC PGM=SYNCTOOL
//TOOLMSG   DD SYSOUT=*     
//DFSMSG    DD SYSOUT=*     
//OUT       DD SYSOUT=*     
//TOOLIN    DD *           
  DEFAULTS LIST(OUT)       
/*
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu May 06, 2010 6:02 pm
Reply with quote

yes Arun, that is right-

Code:
   * NOSNAP                     
     NULLOFL = RC0               
     NULLOUT = RC0               
   * OUTSPCE = 20%               
     PARMNME = $ORTPARM         
   * PGMRC16                     
   * PREFIX  = WORK.             
   * PRINT121                   
   * RC16    = ABE               
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu May 06, 2010 6:35 pm
Reply with quote

Arun, I was wondering if I can override the ABE value somehow ?
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: Thu May 06, 2010 10:00 pm
Reply with quote

Hello,

This is not tested, but you might add a PARM (or a $ORTPARM DD) to this sort execution that specifies NORC16 so the the ABE will not be invoked.
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Fri May 07, 2010 12:54 pm
Reply with quote

Yes, As Dick said, you can add a PARM to override your site settings.
Code:
EXEC PGM=SORT,PARM='RC16=NOABE'
OR
Code:
EXEC PGM=SORT,PARM='RC16=NORC16'
or add a
Code:
//$ORTPARM DD *
and pass these overrides.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Fri May 07, 2010 1:45 pm
Reply with quote

Hi Arun,

tried all these 3 options. Still abending.
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 May 07, 2010 1:56 pm
Reply with quote

t5590ag wrote:
tried all these 3 options. Still abending.
Please post your sysouts.
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Fri May 07, 2010 2:15 pm
Reply with quote

RC16=ABE will cause the sort to issue user ABEND 16 instead of return code 16. The sort step is abnormally terminated without a dump and subsequent job steps are generally flushed by the operating system. However, JCL may specify job step(s) to be executed
only in the event of an ABEND.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Fri May 07, 2010 2:53 pm
Reply with quote

EXEC PGM=SORT,PARM='RC16=NORC16' gives the following-

Code:
WER131I  PARM FIELD ERROR - RC16=NOR                                     
WER276B  SYSDIAG= 3302559, 4958040, 4958040, 4731549                     
WER164B  7,908K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,       
WER164B     0 BYTES RESERVE REQUESTED, 2,339,720 BYTES USED             
WER146B  32K BYTES OF EMERGENCY SPACE ALLOCATED                         
WER108I  SORTIN   : RECFM=FB   ; LRECL=   400; BLKSIZE= 27600           
WER257I  INREC RECORD LENGTH =   406                                     
WER238I  POTENTIALLY INEFFICIENT USE OF INREC                           
WER110I  SORTOF01 : RECFM=FB   ; LRECL=   400; BLKSIZE= 27600           
WER410B  5,856K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,
WER410B     0 BYTES RESERVE REQUESTED, 2,192,264 BYTES USED             
WER405I  SORTOF01 :  DATA RECORDS OUT          0; TOTAL RECORDS OUT     
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                           
WER461A  SORTOUT/OUTFIL DATA SET CONTAINS NO DATA RECORDS               
WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE                           


EXEC PGM=SORT,PARM='RC16=NOABE' gives this-

Code:
WER131I  PARM FIELD ERROR - RC16=NOA                                   
WER276B  SYSDIAG= 3338357, 4968406, 4968406, 4731549                   
WER164B  7,908K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,     
WER164B     0 BYTES RESERVE REQUESTED, 2,339,720 BYTES USED             
WER146B  32K BYTES OF EMERGENCY SPACE ALLOCATED                         
WER108I  SORTIN   : RECFM=FB   ; LRECL=   400; BLKSIZE= 27600           
WER257I  INREC RECORD LENGTH =   406                                   
WER238I  POTENTIALLY INEFFICIENT USE OF INREC                           
WER110I  SORTOF01 : RECFM=FB   ; LRECL=   400; BLKSIZE= 27600           
WER410B  5,856K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,
WER410B     0 BYTES RESERVE REQUESTED, 2,192,264 BYTES USED             
WER405I  SORTOF01 :  DATA RECORDS OUT          0; TOTAL RECORDS OUT     
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                           
WER461A  SORTOUT/OUTFIL DATA SET CONTAINS NO DATA RECORDS               
WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE                           


//$ORTPARM DD * gives-

Code:
WER276B  SYSDIAG= 3337043, 4968227, 4968227, 4731549                   
WER164B  7,908K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,     
WER164B     0 BYTES RESERVE REQUESTED, 2,339,720 BYTES USED             
WER146B  32K BYTES OF EMERGENCY SPACE ALLOCATED                         
WER108I  SORTIN   : RECFM=FB   ; LRECL=   400; BLKSIZE= 27600           
WER257I  INREC RECORD LENGTH =   406                                   
WER238I  POTENTIALLY INEFFICIENT USE OF INREC                           
WER110I  SORTOF01 : RECFM=FB   ; LRECL=   400; BLKSIZE= 27600           
WER410B  5,856K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,
WER410B     0 BYTES RESERVE REQUESTED, 2,192,264 BYTES USED             
WER405I  SORTOF01 :  DATA RECORDS OUT          0; TOTAL RECORDS OUT     
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                           
WER461A  SORTOUT/OUTFIL DATA SET CONTAINS NO DATA RECORDS               
WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE                           
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 May 07, 2010 3:19 pm
Reply with quote

t5590ag wrote:
tried all these 3 options. Still abending.
Thanks for the post of some of the sysouts.

One question, What are you looking for?
No ABEND but a return code that later steps can check for?
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Fri May 07, 2010 3:25 pm
Reply with quote

yes CICS, I need RC as an indicator for next step. if RC16 doesnt work I'll use RC4. hope it wud be fine. but initially I was suggested a 16 only so just trying to go by that.

but can you guys have a look at one more thing-

Code:
POTENTIALLY INEFFICIENT USE OF INREC 


is it bound to come ? or can we get rid of it somehow ?
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 May 07, 2010 3:37 pm
Reply with quote

t5590ag wrote:
yes CICS, I need RC as an indicator for next step. if RC16 doesnt work I'll use RC4. hope it wud be fine. but initially I was suggested a 16 only so just trying to go by that.
Then revisit an answer that has already been given...
CICS Guy wrote:
t5590ag wrote:
But can I use RC4 in place of RC16 ?
SyncSort for z/OS 1.3 Programmer’s Guide wrote:
NULLOFL Parameter (Optional)
Code:
        RC0
NULLOFL=RC4
        RC16

The NULLOFL parameter specifies the action to be taken when any non-SORTOUT OUTFIL data set contains no data records.

RC0 The delivered default instructs SyncSort to issue a return code of 0 if not overridden by a higher return code set for another reason.

RC4 Instructs SyncSort to issue a WER461I warning message and continue processing. A return code of 4 will be issued if not overridden by a higher return code set for another reason.

RC16 Instructs SyncSort to issue a WER461A message and to terminate processing with a return code of 16.

Quote:
but can you guys have a look at one more thing-
Code:
POTENTIALLY INEFFICIENT USE OF INREC 

is it bound to come ? or can we get rid of it somehow ?
Again...
CICS Guy wrote:
Please post your sysouts.
And the sysins....
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Fri May 07, 2010 3:57 pm
Reply with quote

sysin-

Code:
//SYSIN    DD  *                                           
  SORT FIELDS=COPY                                         
  INREC IFTHEN=(WHEN=INIT,OVERLAY=(401:SEQNUM,6,ZD,START=0))
  OUTFIL FNAMES=SORTOF01,                                   
  INCLUDE=(1,7,CH,EQ,C'TRAILER',AND,9,6,ZD,EQ,401,6,ZD),   
  NULLOFL=RC16                                             
/* 
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Fri May 07, 2010 4:02 pm
Reply with quote

hi, thats clear to me that RC16 has been assigned the ABEND in my system. but is it possible that i can override it somehow. I tried the options suggested by Arun already. And avoid the abend at RC16 and get it as return code of step for next step in job.
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 May 07, 2010 4:21 pm
Reply with quote

t5590ag wrote:
hi, thats clear to me that RC16 has been assigned the ABEND in my system. but is it possible that i can override it somehow.
And agan............
CICS Guy wrote:
t5590ag wrote:
yes CICS, I need RC as an indicator for next step. if RC16 doesnt work I'll use RC4. hope it wud be fine. but initially I was suggested a 16 only so just trying to go by that.
Then revisit an answer that has already been given...
CICS Guy wrote:
t5590ag wrote:
But can I use RC4 in place of RC16 ?
SyncSort for z/OS 1.3 Programmer’s Guide wrote:
NULLOFL Parameter (Optional)
Code:
        RC0
NULLOFL=RC4
        RC16

The NULLOFL parameter specifies the action to be taken when any non-SORTOUT OUTFIL data set contains no data records.

RC0 The delivered default instructs SyncSort to issue a return code of 0 if not overridden by a higher return code set for another reason.

RC4 Instructs SyncSort to issue a WER461I warning message and continue processing. A return code of 4 will be issued if not overridden by a higher return code set for another reason.

RC16 Instructs SyncSort to issue a WER461A message and to terminate processing with a return code of 16.

Quote:
but can you guys have a look at one more thing-
Code:
POTENTIALLY INEFFICIENT USE OF INREC 

is it bound to come ? or can we get rid of it somehow ?
Again...
CICS Guy wrote:
Please post your sysouts.
And the sysins....
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 May 07, 2010 8:58 pm
Reply with quote

Hello,

Quote:
but is it possible that i can override it somehow.
Please try a PARM of simply NORC16
Code:
PARM='NORC16'
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Fri May 07, 2010 9:35 pm
Reply with quote

whoooooo!!! it worked !

Thanks a lottt Dick..! Now I'll happily go to the manual and try to understand what my SORT card says.

Thanks a lot everybody.
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 May 08, 2010 12:10 am
Reply with quote

You're welcome icon_smile.gif

Good to hear it worked - thank you for letting us know.

If there new questions come up, someone will be here. . .

d
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 Goto page Previous  1, 2

 


Similar Topics
Topic Forum Replies
No new posts To get the count of rows for every 1 ... DB2 3
No new posts Compare only first records of the fil... SYNCSORT 7
No new posts Pulling a fixed number of records fro... DB2 2
No new posts To find whether record count are true... DFSORT/ICETOOL 6
No new posts Validating record count of a file is ... DFSORT/ICETOOL 13
Search our Forums:

Back to Top