Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

WER046A SORT CAPACITY EXCEEDED

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM
View previous topic :: :: View next topic  
Author Message
rarvins

New User


Joined: 24 Jan 2007
Posts: 59
Location: Texas

PostPosted: Fri Apr 10, 2009 9:10 pm    Post subject: WER046A SORT CAPACITY EXCEEDED
Reply with quote

I have a job which merges 2 files using sort join. The job had been running fine till last month. But now it has abended saying sort capacity exceeded. I went thru some earlier posts in the forum and tried using CORE=MAX instead of VSCORE=16M but that didn't work.

Code:
JOB:
----
//STEP001  EXEC PGM=SORT,PARM='DYNALLOC(WORK,32),VSCORE=16M'
//*                                                         
//SYSOUT   DD SYSOUT=*                                       
//SYSPRINT DD SYSOUT=*                                       
//SYSUDUMP DD SYSOUT=*                                       
//*                                                         
//SORTWK01 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK02 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK03 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK04 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK05 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK06 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK07 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK08 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK09 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK10 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK11 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK12 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK13 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK14 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA       
//SORTWK15 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK16 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK17 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK18 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK19 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK20 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK21 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK22 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK23 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK24 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK25 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK26 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK27 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK28 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK29 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK30 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK31 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//SORTWK32 DD SPACE=(CYL,(1000,1500),RLSE),UNIT=SYSDA
//*
//SORTJNF1 DD DISP=SHR,DSN=INPUT.FILE1
//SORTJNF2 DD DISP=SHR,DSN=INPUT.FILE2.WIDE1
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE2
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE3
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE4
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE5
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE6
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE7
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE8
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE9
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE10
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE11
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE12
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE13
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE14
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE15
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE16
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE17
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE18
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE19
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE20
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE21
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE22
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE23
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE24
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE25
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE26
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE27
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE28
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE29
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE30
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE31
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE32
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE33
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE34
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE35
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE36
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE37
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE38
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE39
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE40
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE41
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE42
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE43
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE44
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE45
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE46
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE47
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE48
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE49
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE50
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE51
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE52
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE53
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE54
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE55
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE56
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE57
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE58
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE59
//         DD DISP=SHR,DSN=INPUT.FILE2.WIDE60
000120 //*                                                   
000121 //SORTOUT  DD DSN=OUTPUT.FILE,         
000122 //         DISP=(NEW,CATLG,CATLG),                     
000123 //         UNIT=(PROD,6),                             
000124 //         SPACE=(CYL,(1000,1500),RLSE),               
000125 //         DCB=(DSORG=PS,RECFM=FB,BLKSIZE=0)           
000126 //SYSIN    DD *                                       
000127      JOINKEYS FILE=F1,FIELDS=(4,19,A)                 
000128      JOINKEYS FILE=F2,FIELDS=(11,19,A)                 
000129      REFORMAT FIELDS=(F1:4,19,F1:211,4,F2:1,4,F2:5,6) 
000130          SORT FIELDS=COPY                             
000131 /*                                                     
000132 //*                                                   

SYSOUT:
------

SYSIN :                                                                     
     JOINKEYS FILE=F1,FIELDS=(4,19,A)                                       
     JOINKEYS FILE=F2,FIELDS=(11,19,A)                                       
     REFORMAT FIELDS=(F1:4,19,F1:211,4,F2:1,4,F2:5,6)                       
         SORT FIELDS=COPY                                                   
WER276B  SYSDIAG= 8139073, 10657592, 10657592, 3318682                       
WER164B  67,724K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,         
WER164B     0 BYTES RESERVE REQUESTED, 3,476,640 BYTES USED                 
WER146B  20K BYTES OF EMERGENCY SPACE ALLOCATED                             
WER481I  JOINKEYS REFORMAT RECORD LENGTH=   33, TYPE = F                     
WER110I  SORTOUT  : RECFM=FB   ; LRECL=    33; BLKSIZE= 27984               
WER410B  64,400K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,   
WER410B     0 BYTES RESERVE REQUESTED, 100K BYTES USED                       
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                               
WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE                               
WER486A  ERROR IN JNF2 PROCESSING                                           
WER482I  JNF1 STATISTICS                                                     
WER483B  30,512K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,         
WER483B     0 BYTES RESERVE REQUESTED, 27,840K BYTES USED                   
WER108I  SORTJNF1 : RECFM=FB   ; LRECL=   900; BLKSIZE= 27900               
WER483B  27,188K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,   
WER483B     0 BYTES RESERVE REQUESTED, 27,188K BYTES USED                   
WER483B  G=11315,B=62,BIAS=99                                               
WER483B  0 PREALLOCATED SORTWORK TRACKS, 82,500 DYNAMICALLY ALLOCATED,       
WER483B     36,000 ACQUIRED IN 12 SECONDARY EXTENTS, 0 RELEASED, TOTAL OF 112,006 TRACKS USED
WER482I  JNF2 STATISTICS                                                     
WER483B  34,772K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,         
WER483B     0 BYTES RESERVE REQUESTED, 32,288K BYTES USED                   
WER108I  SORTJNF2 : RECFM=FB   ; LRECL=   429; BLKSIZE= 27885               
WER483B  31,636K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,   
WER483B     0 BYTES RESERVE REQUESTED, 31,636K BYTES USED                   
WER483B  G=67873,B=20,BIAS=02                                               
WER483B  0 PREALLOCATED SORTWORK TRACKS, 240,000 DYNAMICALLY ALLOCATED,     
WER483B     1,225,665 ACQUIRED IN 458 SECONDARY EXTENTS, 0 RELEASED, TOTAL OF 1,465,665 TRACKS USED
WER046A  SORT CAPACITY EXCEEDED                                             
WER066A  APROX RCD CNT       174885836                                       
Back to top
View user's profile Send private message

dick scherrer

Site Director


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

PostPosted: Fri Apr 10, 2009 9:51 pm    Post subject:
Reply with quote

Hello,

Most likely, either the volume of data to be processed has increased or there is less space available for sortwork.

Suggest you talk with your storage management people and determine if there is at least as much sortwork space available as there was last month.

Also, suggest you determine if the data volume has increased.
Back to top
View user's profile Send private message
dneufarth

Active User


Joined: 27 Apr 2005
Posts: 241
Location: Cincinnati OH USA

PostPosted: Fri Apr 10, 2009 11:33 pm    Post subject:
Reply with quote

I'm a bit rusty on sorting, but if this is a copy, why are work files needed at all?
Back to top
View user's profile Send private message
rarvins

New User


Joined: 24 Jan 2007
Posts: 59
Location: Texas

PostPosted: Fri Apr 10, 2009 11:41 pm    Post subject:
Reply with quote

Hi Dave, this is not just a copy job. I am trying to match 2 files based on keys and create an output file with the fields from both the input files.
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 500
Location: USA

PostPosted: Sat Apr 11, 2009 1:52 am    Post subject: Re: WER046A SORT CAPACITY EXCEEDED
Reply with quote

rarvins wrote:
//STEP001 EXEC PGM=SORT,PARM='DYNALLOC(WORK,32),VSCORE=16M'

First, it appears that you are missing an equal sign in your PARM statement. It should be:
Code:
PARM='DYNALLOC=(WORK,32),VSCORE=16M'

Second, VSCORE is your below the line virtual storage. You should NEVER code 16M here. I believe you intended to specify VSCORET=16M.

Quote:
WER483B 0 PREALLOCATED SORTWORK TRACKS, 240,000 DYNAMICALLY ALLOCATED,
WER483B 1,225,665 ACQUIRED IN 458 SECONDARY EXTENTS, 0 RELEASED, TOTAL OF 1,465,665 TRACKS USED
WER046A SORT CAPACITY EXCEEDED
WER066A APROX RCD CNT 174885836


Third, I would recommend swapping SORTJNF1 and SORTJFN2. The larger of the 2 files should be JNF1. If you are still encountering the WER046A, try increasing DYNALLOC to 100.

In addition, if you hard code 32 SORTWKs in the JCL, and the number you specify for DYNALLOC is also 32, then no additional SORTWKs will be dynamically allocated. The number specified in the DYNALLOC PARM is the total number of SORTWKs (JCL and dynamically allocated combined). For example, if you only hard-coded 10 SORTWKs in the JCL, then 22 could then potentially be dynamically allocated.
Back to top
View user's profile Send private message
abin

Active User


Joined: 14 Aug 2006
Posts: 198

PostPosted: Wed Apr 15, 2009 3:00 am    Post subject:
Reply with quote

Why do we require to code work data sets in JCL if DYNALLOC is given??. Will noy DYNALLOC allocate the sort work data sets dynamically whenever required.
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 500
Location: USA

PostPosted: Wed Apr 15, 2009 3:20 am    Post subject:
Reply with quote

Coding SORTWKs in the JCL is not a SyncSort requirement. Allowing SyncSort to dynamically allocate necessary SORTWORK space is generally considered more efficient, as the SORTWORK space is acquired "as needed" and you avoid scenarios where disk space is potentially over-allocated by the user.
Back to top
View user's profile Send private message
rarvins

New User


Joined: 24 Jan 2007
Posts: 59
Location: Texas

PostPosted: Wed Apr 15, 2009 3:52 am    Post subject:
Reply with quote

Hi Alissa, thanks a lot. I tried the options given by you and it resolved the problem. Also I understood DYNALLOC better
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts How to change 'K' or 'M' use Sort vice_versa DFSORT/ICETOOL 5 Thu May 18, 2017 7:11 am
No new posts Adding big TEXT lines to each record ... bshkris SYNCSORT 4 Sat May 06, 2017 1:40 am
This topic is locked: you cannot edit posts or make replies. SORT trick needed bshkris SYNCSORT 6 Tue May 02, 2017 4:35 am
No new posts SORT JSON type of data maxsubrat DFSORT/ICETOOL 8 Wed Apr 19, 2017 6:01 pm
No new posts Sort Large record length cmsmoon DFSORT/ICETOOL 14 Tue Apr 11, 2017 5:49 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us