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

SPLICE with large volume datasets


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

New User


Joined: 26 Feb 2007
Posts: 14
Location: chennai

PostPosted: Mon Jun 04, 2007 5:34 pm
Reply with quote

Hi,

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.
Code:

//SORT07   EXEC PGM=ICETOOL 
//TOOLMSG  DD  SYSOUT=*   
//DFSMSG   DD  SYSOUT=*   
//INPUT  DD  DSN=INPUT-FILE1,DISP=SHR 
//POL     DD  DSN=POLICY-FILE,DISP=SHR
//TEMP1 DD DSN=,
//           SPACE=(CYL,(1000,1500),RLSE),           
//           DISP=(,CATLG,DELETE),               
//           UNIT=(SYSDA,59)                         
//TEMP2    DD  DSN=,               
//           SPACE=(CYL,(1000,1500),RLSE),         
//           DISP=(MOD,CATLG,DELETE),               
//            UNIT=(SYSDA,59)               
//SORTOUT  DD  DSN=,     
//           SPACE=(CYL,(1000,1000),RLSE),         
//           DISP=(,CATLG,DELETE),             
//           UNIT=(SYSDA,59)                       
//TOOLIN   DD  *
   COPY   FROM(POL)   TO(TEMP1) USING(CTL1)                           
   COPY   FROM(TEMP1)  TO(TEMP2) USING(CTL3)                           
   COPY   FROM(INPUT) TO(TEMP2) USING(CTL2)                           
   SPLICE FROM(TEMP2)  TO(SORTOUT) ON(858,7,CH) WITHALL WITH
   (1,17299) USING(CTL4)                   
/*                                   
//CTL1CNTL DD *
    INREC FIELDS=(857X,858:1,7)
/*
//CTL2CNTL DD *
    SORT FIELDS=COPY                 
    OUTREC FIELDS=(C'MEDM',5:1,1020)
/*
//CTL3CNTL DD *
    INREC OVERLAY=(17299:C'22')
/*
//CTL4CNTL DD *
    OUTFIL FNAMES=SORTOUT,INCLUDE=(17299,2,CH,EQ,C'12'),
    BUILD=(1,17300)       
/*                               
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: Mon Jun 04, 2007 9:02 pm
Reply with quote

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.
Back to top
View user's profile Send private message
achittu

New User


Joined: 26 Feb 2007
Posts: 14
Location: chennai

PostPosted: Mon Jun 04, 2007 9:54 pm
Reply with quote

Hi Frank,

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 ?

Thanks,
Amar
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: Mon Jun 04, 2007 11:28 pm
Reply with quote

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.
Back to top
View user's profile Send private message
achittu

New User


Joined: 26 Feb 2007
Posts: 14
Location: chennai

PostPosted: Tue Jun 05, 2007 10:04 pm
Reply with quote

Thanks Very much Frank.

Your solution has worked.
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: Tue Jun 05, 2007 11:05 pm
Reply with quote

Good. Thanks for the feedback.
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 How to split large record length file... DFSORT/ICETOOL 10
No new posts Join multiple records using splice DFSORT/ICETOOL 5
No new posts Parsing Large JSON file using COBOL COBOL Programming 4
No new posts Volume chain using DFSORT DFSORT/ICETOOL 17
No new posts Merging 2 datasets into one DFSORT/ICETOOL 1
Search our Forums:

Back to Top