I would like to know how to handle ICETOOL SPLICE for large volume datasets.
I have two datasets : 1 ) Member details file - LRECL is 17,300
2) Policy file - LRECL is 100
Now my requirement is to filter and write all records in Member details file that have a matching policy number from the Policy file.
We are currently using SPLICE to achieve this. It is working fine for small number of records in Member details file. But it is not working for large number of records.
We are having more than 5 million records in the file. It is giving space issue because of the large number of records and huge LRECL.We have defined more primary and secondary memory (pri - 1000 and sec - 1500) and have increased the packs 59 to span multiple volumes but still no difference.
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
What exactly is the "space" issue?
Are you saying that you're getting an x37 ABEND on TEMP1, TEMP2 or SORTOUT? I don't see why 5 million 17K byte output records would require anywhere near that kind of space for these output data sets.
I think you may be looking at the wrong thing. Did you get an ICE046A error, or an ABEND on a work data set, or what?
You need to supply more information on the "space issue". For starters, show the JES messages you received for a start and any error message (ICExxxA) you received in //TOOLMSG or //DFSMSG.
Yes , We got the message ICE046A 0 SORT CAPACITY EXCEEDED - RECORD COUNT 1513594 in the DFSMSG.
Earlier when we had given the SPACE parameter as SPACE=(CYL,(500,500),RLSE) for TEMP1 and TEMP2. it gave a SB37 abend.
So we increased the the primary to 1000 and secondary to 1500.
Now the Job does not abend with SB37 but gives a RC of 16.
In the SPOOL , We see messages of the following type:
ACC20210-A REDUCES FOR DD=TEMP2 DSN=INPUT-FILE
VOL=SLGG79 POOL=SMSPOOL EXT=6
ACC20500-A SECONDARY SPACE REDUCED FROM 1500 TO 150 CYL
ACC20210-E REDUCES FOR DD=TEMP2 DSN=INPUT-FILE VOL=SLGG79 POOL=SMSPOOL EXT=6
ACC20503-E SECONDARY SPACE WENT TO LIMIT (131 < 10% OF 1500 CYL)
We dont see any other warning or error messages in the SPOOL.
we received the messages : ICE600I , ICE650I , ICE632I , ICE630I ,
ICE606I, ICE602I , ICE606I, ICE601I in the TOOLMSG.
Do we need to explicity define any Control Working datasets for SPLICE like how we define for SORT ?
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
The ICE046A is associated with the dynamically allocated work data sets, not with TEMP1, TEMP2 or SORTOUT. It indicates you don't have enough work space to sort the records (SPLICE does a sort). So you need to increase the work space. You can try increasing the number of work data sets available for the sort like this:
Code:
//DFSPARM DD *
OPTION DYNALLOC=(,16)
/*
You can increase the number of work data sets from 16 up to a maximum of 255 as needed.