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

INSUFFICIENT SPACE ABEND WHEN USING ICETOOL


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
op

New User


Joined: 31 Oct 2006
Posts: 48
Location: Chennai

PostPosted: Thu Mar 22, 2007 8:44 pm
Reply with quote

Hi,

I have a ICETOOL step in my job.

The input 128 million records.

Input is a VB dataset.

The sysin is:
SORT FIELDS=(5,16,CH,A,45,4,PD,A,65,4,PD,D,72,3,PD,D)

The file is already sorted on the first field used i.e. 5,16

Since it is a ICETOOL tool, I didnt provide the SORT work space.

The message is:
'IGD17272I VOLUME SELECTION HAS FAILED FOR INSUFFICIENT SPACE FOR 687'

Could you please help to resolve this.

Thanks a lot in advance.

Regards,
OP
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: Thu Mar 22, 2007 8:55 pm
Reply with quote

Quote:
Since it is a ICETOOL tool, I didnt provide the SORT work space.


Unless your site has changed the default, ICETOOL will use dynamically allocated work data sets in this situation. I'm not sure exactly what causes the message you received, but if it's just a matter of not providing enough work space with your site's default number of work data sets, you can increase the number of work data sets used like this:

Code:

//DFSPARM DD *
  OPTION DYNALLOC=(,n)
/*


You can set n to 8 or 16 or whatever you need (up to 255). Of course, if you really don't have the space available that you need, that won't help.
Back to top
View user's profile Send private message
op

New User


Joined: 31 Oct 2006
Posts: 48
Location: Chennai

PostPosted: Thu Mar 22, 2007 9:08 pm
Reply with quote

Hi Frank,

Will providing the sort work space like this will work:

//SORTWK01 DD UNIT=...,SPACE=(CYL,(3800,800),RLSE)
//SORTWK02 DD UNIT=...,SPACE=(CYL,(3800,800),RLSE)
//SORTWK03 DD UNIT=...,SPACE=(CYL,(3800,800),RLSE)
......

Thanks,
OP
Back to top
View user's profile Send private message
op

New User


Joined: 31 Oct 2006
Posts: 48
Location: Chennai

PostPosted: Thu Mar 22, 2007 9:09 pm
Reply with quote

Hi,

Will the above one work in ICETOOL.

Thanks,
OP
Back to top
View user's profile Send private message
timburkart

New User


Joined: 17 Mar 2007
Posts: 29
Location: USA

PostPosted: Thu Mar 22, 2007 9:35 pm
Reply with quote

As Frank has indicated if you do not have enough work space available it does not matter how you code your JCL. You may need to consult with your systems programmer responsible for DFSORT or SMS to tell you how much work space is available.

I would stick with dynamic allocation and let DFSORT manage sort work space allocation.

Are your input records on disk or tape? If they are on tape or a non-SMS disk unit, add use the OPTION control statement to specify estimated number of records - FILSZ=Ennnn and the average record length - AVGRLEN=n. Please refer to the DFSORT Application Programming Guide for specific syntax.

If there is not enough work space available to perform a disk sort, you will have to use tape sort. For that please refer to the DFSORT Application Programming Guide for specific syntax.

Regards,

tim
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: Thu Mar 22, 2007 10:57 pm
Reply with quote

Quote:
Will providing the sort work space like this will work:

//SORTWK01 DD UNIT=...,SPACE=(CYL,(3800,800),RLSE)
//SORTWK02 DD UNIT=...,SPACE=(CYL,(3800,800),RLSE)
//SORTWK03 DD UNIT=...,SPACE=(CYL,(3800,800),RLSE)
......


You can provide JCL SORTWKs, but the first four characters of the ddname has to correspond to the four characters in the USING(cccc) operand. For example, if you have USING(ABCD), then you have to use ABCDWKdd DD statements.
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: Thu Mar 22, 2007 11:02 pm
Reply with quote

Quote:
Are your input records on disk or tape? If they are on tape or a non-SMS disk unit, add use the OPTION control statement to specify estimated number of records - FILSZ=Ennnn and the average record length - AVGRLEN=n.


You do NOT have to specify FILSZ unless you have unmanaged tape data sets. You do not have to specify AVGRLEN unless the actual average record length is significantly different from LRECL/2.

Quote:
If there is not enough work space available to perform a disk sort, you will have to use tape sort.


We recommend NEVER using a tape work data set sort. It's a very old, very inefficient technique that doesn't support most of the DFSORT functions. Instead, when necessary, you can split up the input file with COPY and SPLIT, sort the smaller files and then merge them.
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 -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts Replace each space in cobol string wi... COBOL Programming 3
No new posts ISAM and abend S03B JCL & VSAM 9
No new posts Shift left VB record without x00 endi... DFSORT/ICETOOL 11
No new posts how to calculate SUM value for VB fil... DFSORT/ICETOOL 1
No new posts how to calculate SUM for VB file usin... JCL & VSAM 1
Search our Forums:

Back to Top