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

WER046A SORT CAPACITY EXCEEDED


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
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
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

Moderator Emeritus


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

PostPosted: Fri Apr 10, 2009 9:51 pm
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: 419
Location: Inside the SPEW (Southwest Ohio, USA)

PostPosted: Fri Apr 10, 2009 11:33 pm
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
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: 496
Location: USA

PostPosted: Sat Apr 11, 2009 1:52 am
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
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: 496
Location: USA

PostPosted: Wed Apr 15, 2009 3:20 am
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
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 View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Need to set RC4 through JCL SORT DFSORT/ICETOOL 5
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts JCL sort card - get first day and las... JCL & VSAM 9
No new posts Sort First/last record of a subset th... DFSORT/ICETOOL 7
No new posts how to calculate SUM value for VB fil... DFSORT/ICETOOL 1
Search our Forums:

Back to Top