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

Problem in merging the file


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

Active User


Joined: 26 Feb 2007
Posts: 126
Location: Chennai

PostPosted: Tue Jun 12, 2007 12:23 pm
Reply with quote

Hi ,
My JCl is,
Code:

//S1       EXEC  PGM=ICETOOL
//TOOLMSG  DD SYSOUT=*
//DFSMSG   DD SYSOUT=*
//IN1      DD DISP=SHR,
//         DSN=I088.AFM10050.SB531.TDUMY.C3920.MAS1.V1
//IN2      DD DISP=SHR,
//         DSN=I088.T1.OE.C3920.B537100A.A
//IN3      DD DISP=SHR,
//         DSN=I088.T1.OE.X3920.B537100A.A
//T1       DD DISP=(,CATLG),
//  SPACE=(CYL,(1000,200),RLSE),DCB=(LRECL=2535,RECFM=FB,BLKSIZE=0),
//  UNIT=(SYSALLDA,59),
//  DSN=I088.FLAT.SEQ.OUTPUT44
//T2       DD DISP=(,CATLG),
//  SPACE=(CYL,(1000,200),RLSE),DCB=(LRECL=2535,RECFM=FB,BLKSIZE=0),
//  UNIT=(SYSALLDA,59),
//  DSN=I088.FLAT.SEQ.OUTPUT45
//T3       DD DISP=(,CATLG),
//  SPACE=(CYL,(1000,200),RLSE),DCB=(LRECL=2535,RECFM=FB,BLKSIZE=0),
//  UNIT=(SYSALLDA,59),
//  DSN=I088.FLAT.SEQ.OUTPUT46
//T4       DD DISP=(,CATLG),
// SPACE=(CYL,(1000,200),RLSE),DCB=(LRECL=2535,RECFM=FB,BLKSIZE=0),
// UNIT=(SYSALLDA,59),
// DSN=I088.FLAT.SEQ.OUTPUT47
//T5       DD DISP=(,CATLG),
// SPACE=(CYL,(1000,200),RLSE),DCB=(LRECL=2535,RECFM=FB,BLKSIZE=0),
// UNIT=(SYSALLDA,59),
// DSN=I088.FLAT.SEQ.OUTPUT48
//T6       DD DISP=(,CATLG),
// SPACE=(CYL,(1000,200),RLSE),DCB=(LRECL=2535,RECFM=FB,BLKSIZE=0),
// UNIT=(SYSALLDA,59),
// DSN=I088.FLAT.SEQ.OUTPUT49
//MRGIP1   DD DSN=*.T2,DISP=(MOD,PASS),VOL=REF=*.T2
//         DD DSN=*.T3,DISP=(MOD,PASS),VOL=REF=*.T3
//         DD DSN=*.T1,DISP=(MOD,PASS),VOL=REF=*.T1
//*MRGIP1    DD DISP=SHR,DSN=I088.FLAT.SEQ.OUTPUT45
//*          DD DISP=SHR,DSN=I088.FLAT.SEQ.OUTPUT46
//*          DD DISP=SHR,DSN=I088.FLAT.SEQ.OUTPUT47
//TOOLIN   DD    *
 SORT FROM(IN1) TO(T1) USING(CTL1)
 SORT FROM(IN2) TO(T2) USING(CTL2)
 SORT FROM(IN3) TO(T3) USING(CTL3)
 SORT FROM(MRGIP1) TO(T4) USING(CTL4)
 SPLICE FROM(T4) TO(T5) ON(2501,24,CH) KEEPBASE    KEEPNODUPS -
   WITH(1,2525) WITH(2528,8)      USING(CTL5) WITHALL
  SORT FROM(T5) TO(T6) USING(CTL6)
/*
//CTL1CNTL DD *
     INREC IFTHEN=(WHEN=INIT,
         OVERLAY=(2525:C'PP3',2528:SEQNUM,8,ZD)),
           IFTHEN=(WHEN=(1,2,CH,EQ,C'F1'),
         OVERLAY=(2501:20,24)),
         IFTHEN=(WHEN=(1,2,CH,NE,C'F1',AND,1,1,CH,EQ,C'V'),
         OVERLAY=(2501:54,24)),
         IFTHEN=(WHEN=(1,1,CH,EQ,C'A',OR,1,1,CH,EQ,C'Z'),
         OVERLAY=(2501:SEQNUM,8,ZD,2525:C'HH3'))
*        OVERLAY=(2501:SEQNUM,8,ZD))
*        SORT FIELDS=COPY
         SORT FIELDS=(2501,24,CH,A,2527,1,CH,A)
         OUTFIL FNAMES=T1
/*
//CTL2CNTL DD *
     INREC IFTHEN=(WHEN=INIT,
         OVERLAY=(2525:C'CC1')),
           IFTHEN=(WHEN=(1,1,CH,EQ,C'E'),
         OVERLAY=(2501:3,24))
*        SORT FIELDS=COPY
         SORT FIELDS=(2501,24,CH,A,2527,1,CH,A)
         OUTFIL FNAMES=T2,INCLUDE=(1,2,CH,EQ,C'E1'),
         OUTREC=(1,2527,8X)
/*
//CTL3CNTL DD *
     INREC IFTHEN=(WHEN=INIT,
         OVERLAY=(2525:C'RR2')),
           IFTHEN=(WHEN=(1,1,CH,EQ,C'E'),
         OVERLAY=(2501:3,24))
*        SORT FIELDS=COPY
         SORT FIELDS=(2501,24,CH,A,2527,1,CH,A)
         OUTFIL FNAMES=T3,INCLUDE=(1,2,CH,EQ,C'E1'),
         OUTREC=(1,2527,8X)
/*
//CTL4CNTL DD *
    SORT FIELDS=(2501,24,CH,A,2527,1,CH,A)
/*
//CTL5CNTL DD *
    SORT FIELDS=COPY
   OUTFIL FNAMES=T5,INCLUDE=(2525,2,CH,EQ,C'PP',OR,2525,1,CH,EQ,C'H'),
*  OUTFIL FNAMES=T5,INCLUDE=(2525,2,CH,EQ,C'PP'),
*  OUTFIL FNAMES=T5,
   OUTREC=(1,2535)
//CTL6CNTL DD *
      SORT FIELDS=(2528,8,ZD,A)
/*


In the above JCl,
DDNAME - IN1 contains 5178992 records.
DDNAME - IN2 contains 411 records.
DDNAME - IN3 contains 411 records.

using CTL1,CTL2,CTL3, am getiing same number of records in
T1,T2,T3.
T1 contains 5178992 records.
T2 contains 411 records.
T3 contains 411 records.

While merging the above Three file in the DDNAME MRGIP1 using CTL4,
the total number of records just 6.5 lakh record,
remaining record are not available in the T4.

Due to that am not getting the required output..

before merging T1,T2,T3...i sorted all the three file based on match key.
After this am getting error mesage like
"ICE084I 0 EXCP ACCESS METHOD USED FOR IN1
ICE750I 0 DC 680068900 TC 0 CS DSVNN KSZ 24 VSZ 24
ICE752I 0 FSZ=5113300 RC IGN=0 E AVG=2536 0 WSP=16842332 C DYN=227660 53216
ICE046A 0 SORT CAPACITY EXCEEDED - RECORD COUNT 5054556
ICE753I 1 FWK=(0,0) SWK=(5,227660) TWK=(0,0) RWK=(0,0) TOTAL=(5,227660) BLK=532
ICE751I 1 DE-K10929 D5-K05352 C4-K90000 E8-K90000
ICE052I 0 END OF DFSORT "

what to do to get all the records of three files in output file(T4).

And one more thing i did.
if i execute directly from CTL4 by giving the dataset T1,T2,T3 as input.
am getting all the records in output file(T4) and final output is also correct.

If i execute from CTL1,then am not geting the required output.
half of the records are not available in the merged file(T4)
i got confused what to do?
i have to execute from CTl1 to get my requirements.

let me know what to do?
Back to top
View user's profile Send private message
prasadvrk

Active User


Joined: 31 May 2006
Posts: 200
Location: Netherlands

PostPosted: Tue Jun 12, 2007 12:45 pm
Reply with quote

Quote:
ICE046A 0 SORT CAPACITY EXCEEDED - RECORD COUNT 5054556



Quote:
if i execute directly from CTL4 by giving the dataset T1,T2,T3 as input.
am getting all the records in output file(T4) and final output is also correct.

Since you are saying that it has succeeded in merging the three input files directly with the CTL4, there must be some process in CTL1/2/3 which is causing the sort limit to be exceeded. Try keeping but one of three CTLs and see which of the CTLs is causing the problem and study that CTL for the reason for abend. I think this process is bit vague but as I can not try this right now so I merely suggested.
Back to top
View user's profile Send private message
ibmmainframesyntel

Active User


Joined: 26 Feb 2007
Posts: 126
Location: Chennai

PostPosted: Tue Jun 12, 2007 12:53 pm
Reply with quote

i have to execute all the CTL...else i will not get the require output.

Only IN1 contains more record more that 51 lakh.
IN2 and In3 contains just 411 record each.

this JCl is working fine for the file which contain less umber of records.
if i give the file as a input which contains more than 50 lakh record.
am not getting the required output.
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Tue Jun 12, 2007 1:19 pm
Reply with quote

ibmmainframesyntel

are you getting any space abend?
Back to top
View user's profile Send private message
ibmmainframesyntel

Active User


Joined: 26 Feb 2007
Posts: 126
Location: Chennai

PostPosted: Tue Jun 12, 2007 2:15 pm
Reply with quote

No ....am not getting any space abend.........
coz i given unit=(sysallda,59)..............
so am not geting any space abend.

jod is sucessful
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Tue Jun 12, 2007 3:13 pm
Reply with quote

ibmmainframesyntel

Quote:
ICE046A 0 SORT CAPACITY EXCEEDED - RECORD COUNT 5054556


This you may get if
Quote:
when no more space is available in Hiperspace or on any allocated work data set.


Try this
Quote:
1. If JCL work data sets were used, increase the amount of work space available to DFSORT.
2.If appropriate, increase the amount of main storage available to
DFSORT using the options MAINSIZE/SIZE or the JCL option REGION.
Increasing the amount of main storage available to DFSORT can help
DFSORT use less intermediate storage. Avoid running a large sort in a
small amount of main storage.
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: Wed Jun 13, 2007 1:08 am
Reply with quote

Quote:
let me know what to do?


About which problem? Your post is very unfocused.

The "losing" records problem may be a system restriction involving concatenation with referback that I've discussed here several times. See the second bullet at:

publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ICE1CA20/1.8.3.1?SHELF=&DT=20060615185603&CASE=

I don't know what all you're trying to do, but you seem to be doing it in a roundabout way.

Some suggestions:

Instead of using T1, T2 and T3 for the first three SORT operators, just use a MOD T1 for all three of them. Remove the TO(T1), TO(T2) and TO(T3) operands from the SORT operators and use OUTFIL FNAMES=T1 in CTL1CNTL, CTL2CNTL and CTL2CNTL.

Remove the fourth SORT operator.

Change the SPLICE operator to use FROM(T1) and USING(CTL4).
Back to top
View user's profile Send private message
ibmmainframesyntel

Active User


Joined: 26 Feb 2007
Posts: 126
Location: Chennai

PostPosted: Wed Jun 13, 2007 9:40 am
Reply with quote

Hi Krisprem,
where i have to give mainsize/size?

Hi frank,
i went thr that link.but i didn'ytfind any information.
what to do to get all the record to merge in single file.

and i will update the jcl according to ur previous reply.....
Back to top
View user's profile Send private message
ibmmainframesyntel

Active User


Joined: 26 Feb 2007
Posts: 126
Location: Chennai

PostPosted: Wed Jun 13, 2007 9:45 am
Reply with quote

HI frank,
i need all the record from all that three file into single file.

totally it contains 54lakh record.
but output file contains only 6lakh record.wht happen to remaining record i don't know.
what to do?
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Wed Jun 13, 2007 12:56 pm
Reply with quote

ibmmainframesyntel
for your quote
Quote:
where i have to give mainsize/size?

check here for examplehttp://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ice1ca20/3.12.2.1?SHELF=ICE1SH20.bks&DT=20060615185603&CASE=
also http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ice1ca20/9.2.11.1?SHELF=ICE1SH20.bks&DT=20060615185603#HDRGENER
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: Wed Jun 13, 2007 9:11 pm
Reply with quote

Quote:
what to do?


I don't know what you're trying to do. I don't know what your input records look like or what you expect the output records to look like. I don't know what your JCL and control statements now look like. I don't know what messages you received. So how do you expect me to tell you what to do?

If you want me to help you, show me an example of the records in each input file (relevant fields only) and what you expect for output, and explain the "rules" for getting from input to output. Tell me the RECFM and LRECL of each input file. Tell me the starting position, length and format of each relevant field.
Back to top
View user's profile Send private message
ibmmainframesyntel

Active User


Joined: 26 Feb 2007
Posts: 126
Location: Chennai

PostPosted: Thu Jun 21, 2007 11:57 am
Reply with quote

Problem is
if Input file contains less number of 3-4lakh records in three input file
its merging all the record in the output file (T4)

But i executed the jcl which input file contains
DDNAME - IN1 contains 5178992 records.
DDNAME - IN2 contains 411 records.
DDNAME - IN3 contains 411 records.

am getting the RC=16,
by msg

Code:

ICE084I 0 EXCP ACCESS METHOD USED FOR IN1                                     
 ICE750I 0 DC 680068900 TC 0 CS DSVNN KSZ 24 VSZ 24                             
 ICE752I 0 FSZ=5113300 RC  IGN=0 E  AVG=2536 0  WSP=16842332 C  DYN=227660 53216
 ICE046A 0 SORT CAPACITY EXCEEDED - RECORD COUNT 5054556                       
 ICE753I 1 FWK=(0,0) SWK=(5,227660) TWK=(0,0) RWK=(0,0) TOTAL=(5,227660) BLK=532
 ICE751I 1 DE-K10929 D5-K05352 C4-K90000 E8-K90000                             
 ICE052I 0 END OF DFSORT                                                       



Don't knw wht to do?
Back to top
View user's profile Send private message
ibmmainframesyntel

Active User


Joined: 26 Feb 2007
Posts: 126
Location: Chennai

PostPosted: Thu Jun 21, 2007 12:02 pm
Reply with quote

no problem in the logic.
am getting the required ouput if the number of records in the input file is very less.
If the number of records exceeds more than 10 lakh records,am getting the error message like that which i mentioned in the previous reply.
Back to top
View user's profile Send private message
drajagopal

New User


Joined: 20 Jun 2006
Posts: 9

PostPosted: Thu Jun 21, 2007 5:33 pm
Reply with quote

Hi,
This is happening since your file IN1 is multivolume and when you try to concatenate multivolume files , only records in the first volume will be considered and the rest of the recods(in other volumes) will be dropped.this is basically a system constraint.

Please try to change your code as Frank suggested and it should work fine.

There is no need to increase the main size or dynalloc.


cheers,
DR.
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 Jun 21, 2007 8:37 pm
Reply with quote

Quote:
i went thr that link.but i didn'ytfind any information.


Then you didn't look very hard. Here's the relevant information from that link:

Quote:

Be aware that, in some cases, if a DD statement specifies a data set for output that is extended to a second or subsequent volume, and another DD statement within the same step requests the same data set, only the records on the first volume will be read, and incorrect output will result.
Specifically, when a new output data set is allocated with a unit count and volume count greater than one, but specifies no volume serial numbers, one volume is allocated. If a second or succeeding DD statement within the same step requests the same data set, the same volume is allocated to it. If this job step extends the output data set to more volumes, this new volume information is not available to the second or succeeding DD statement.

Thus, you should not use different DDs for a data set to be used for output and then input in the same step, unless the data set cannot be extended to a second or subsequent volume, or is allocated with the guaranteed space attribute in the storage class. See z/OS MVS JCL Reference, SA22-7597 and z/OS DFSMS Using Data Sets, SC26-7410 for more details.
Back to top
View user's profile Send private message
ibmmainframesyntel

Active User


Joined: 26 Feb 2007
Posts: 126
Location: Chennai

PostPosted: Fri Jun 22, 2007 2:16 pm
Reply with quote

nw i changed the JCL according to Frank's suggestion,
instead of using T1,T2,T3....iam using only one file T1 and merging...

the updated JCL is....
Code:

//S1       EXEC  PGM=ICETOOL                                           
//TOOLMSG  DD SYSOUT=*                                                 
//DFSMSG   DD SYSOUT=*                                                 
//IN1      DD DISP=SHR,                                                 
//*        DSN=I088.FLAT.SEQ.INPUT70                                   
//         DSN=I088.AFM10050.SB531.TDUMY.C3920.MAS1.V1                 
//IN2      DD DISP=SHR,                                                 
//*        DSN=I088.FLAT.SEQ.INPUT71                                   
//         DSN=I088.T1.OE.C3920.B537100A.A                             
//IN3      DD DISP=SHR,                                                 
//*        DSN=I088.FLAT.SEQ.INPUT72                                   
//         DSN=I088.T1.OE.X3920.B537100A.A                             
//*T1       DD DISP=(,PASS),                                           
//T1       DD DISP=(MOD,CATLG),                                         
//  SPACE=(CYL,(1000,200),RLSE),DCB=(LRECL=2535,RECFM=FB,BLKSIZE=0),   
//  UNIT=(SYSALLDA,59),                                                 
//*T1       DD DISP=SHR,                                               
//  DSN=I088.FLAT.SEQ.OUTPUT41                                         
//*T2       DD DISP=(,PASS),                                           
//T2       DD DISP=(,CATLG),                                           
//   SPACE=(CYL,(1000,200),RLSE),DCB=(LRECL=2535,RECFM=FB,BLKSIZE=0), 
//   UNIT=(SYSALLDA,59),                                               
//*T2       DD DISP=SHR,                                               
//  DSN=I088.FLAT.SEQ.OUTPUT42                                         
//*T3       DD DISP=(,PASS),                                           
//OUT      DD DISP=(,CATLG),                                           
//   SPACE=(CYL,(1000,200),RLSE),DCB=(LRECL=2535,RECFM=FB,BLKSIZE=0), 
//   UNIT=(SYSALLDA,59),                                               
//*T3       DD DISP=SHR,                                               
//  DSN=I088.FLAT.SEQ.OUTPUT43                                         
//*T4       DD DISP=(,PASS),                                           
//TOOLIN   DD    *                                                     
 SORT FROM(IN1) TO(T1) USING(CTL1)                                     
 SORT FROM(IN2) TO(T1) USING(CTL2)                                     
 SORT FROM(IN3) TO(T1) USING(CTL3)                                     
 SORT FROM(T1) TO(T2) USING(CTL4)                                     
 SPLICE FROM(T2) TO(OUT) ON(2501,24,CH) KEEPBASE    KEEPNODUPS -       
   WITH(1,2525) WITH(2528,8)      USING(CTL5) WITHALL                 
/*                                                               
//CTL1CNTL DD *                                                 
     INREC IFTHEN=(WHEN=INIT,                                   
         OVERLAY=(2525:C'PP3',2528:SEQNUM,8,ZD)),               
           IFTHEN=(WHEN=(1,2,CH,EQ,C'F1'),                       
         OVERLAY=(2501:20,24)),                                 
         IFTHEN=(WHEN=(1,2,CH,NE,C'F1',AND,1,1,CH,EQ,C'V'),     
         OVERLAY=(2501:54,24)),                                 
         IFTHEN=(WHEN=(1,1,CH,EQ,C'A',OR,1,1,CH,EQ,C'Z'),       
         OVERLAY=(2501:SEQNUM,8,ZD,2525:C'HH3'))                 
*        OVERLAY=(2501:SEQNUM,8,ZD))                             
*        SORT FIELDS=COPY                                       
         SORT FIELDS=(2501,24,CH,A)                             
         OUTFIL FNAMES=T1                                       
/*                                                               
//CTL2CNTL DD *                                                 
     INREC IFTHEN=(WHEN=INIT,                                   
         OVERLAY=(2525:C'CC1')),                                 
           IFTHEN=(WHEN=(1,1,CH,EQ,C'E'),                       
         OVERLAY=(2501:3,24))                                 
*        SORT FIELDS=COPY                                     
         SORT FIELDS=(2501,24,CH,A)                           
         OUTFIL FNAMES=T1,INCLUDE=(1,2,CH,EQ,C'E1'),         
         OUTREC=(1,2527,8X)                                   
/*                                                           
//CTL3CNTL DD *                                               
     INREC IFTHEN=(WHEN=INIT,                                 
         OVERLAY=(2525:C'RR2')),                             
           IFTHEN=(WHEN=(1,1,CH,EQ,C'E'),                     
         OVERLAY=(2501:3,24))                                 
*        SORT FIELDS=COPY                                     
         SORT FIELDS=(2501,24,CH,A)                           
         OUTFIL FNAMES=T1,INCLUDE=(1,2,CH,EQ,C'E1'),         
         OUTREC=(1,2527,8X)                                   
/*                                                           
/*                                                           
//CTL4CNTL DD *                                               
       SORT FIELDS=(2501,24,CH,A,2527,1,CH,A)                 
*    SORT FIELDS=COPY                                                 
/*                                                                     
//CTL5CNTL DD *                                                       
    SORT FIELDS=COPY                                                   
  OUTFIL FNAMES=OUT,INCLUDE=(2525,2,CH,EQ,C'PP',OR,2525,1,CH,EQ,C'H'),
                                       
   OUTREC=(1,2535)                                                     
/*                                                                     
                                                                       


But now am getting error message

Code:

RECORD TYPE IS F - DATA STARTS IN POSITION 1                                   
RESOURCES WERE UNAVAILABLE FOR DYNAMIC ALLOCATION OF WORK DATA SETS (970C)     
FWK=(0,0) SWK=(4,184428) TWK=(0,0) RWK=(0,0) TOTAL=(4,184428) BLK=53216       
C5-K90007 C6-K90007 C7-K90000 C8-K90007 E9-K90007 C9-BASE   E5-K10929 E6-K90000
DC 680068900 TC 0 CS DSVNN KSZ 24 VSZ 24                                       
FSZ=5113300 RC  IGN=0 E  AVG=2536 0  WSP=16842332 C  DYN=184428 53216         
END OF DFSORT                                                                 
BOTTOM OF LIST ----------------------------------------------------------------


wht 2 do?


If am using sort card as SORT FIELDS=COPY,
am getting the RC=0 with required output.
IF am sorting based on some key fields,
iam getting the error message like this which i mentioned above.

wht 2 do?i dnt knw?
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Fri Jun 22, 2007 3:10 pm
Reply with quote

ibmmainframesyntel
Change your EXEC statement like this and give a try
Code:
//S1       EXEC  PGM=ICETOOL,PARM='SIZE=MAX'
                                           
Back to top
View user's profile Send private message
ibmmainframesyntel

Active User


Joined: 26 Feb 2007
Posts: 126
Location: Chennai

PostPosted: Fri Jun 22, 2007 3:51 pm
Reply with quote

I changed the EXEC statement according to ur IDEA,
//S1 EXEC PGM=ICETOOL,PARM='SIZE=MAX'

now am getting error msg like



Code:

DC 680068900 TC 0 CS DSVNN KSZ 24 VSZ 24                             
FSZ=5113300 RC  IGN=0 E  AVG=2536 0  WSP=16842332 C  DYN=232815 53216
SORT CAPACITY EXCEEDED - RECORD COUNT 5040256                       
FWK=(0,0) SWK=(5,232815) TWK=(0,0) RWK=(0,0) TOTAL=(5,232815) BLK=532
DE-K10929 D5-K05352 C4-K90000 E8-K90000                             
END OF DFSORT                                                       


Wht to do?
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Fri Jun 22, 2007 4:52 pm
Reply with quote

ibmmainframesyntel
1. You need not specify DCB parameters, SORT calculates itself.
2. Increase your REGION parameter in your JOB CARD.(you can give REGION=0M)
3. dont know if you can avoid
Code:
SORT FIELDS=(2501,24,CH,A)   
, since you are using the same sort in all control cards.
Rather you can use COPY statement in place of first 3 SORTs( I am giving this suggestion without the knowledge of the LOGIC that you are trying to perform).
4. Also the 4th SORT may be avoided, because: SPLICE performs sorting itself.

5. Though you feel that
Quote:
no problem in the logic.
am getting the required ouput if the number of records in the input file is very less.
If the number of records exceeds more than 10 lakh records,am getting the error message like that which i mentioned in the previous reply.

you can anser to Frank's quetion
Quote:
If you want me to help you, show me an example of the records in each input file (relevant fields only) and what you expect for output, and explain the "rules" for getting from input to output. Tell me the RECFM and LRECL of each input file. Tell me the starting position, length and format of each relevant field.

So that, he can help you in buiding up an efficient SORT JCl, that can handle huge data too.
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: Fri Jun 22, 2007 8:34 pm
Reply with quote

Quote:
//S1 EXEC PGM=ICETOOL,PARM='SIZE=MAX'


This has no effect. ICETOOL ignores PARM. (The PARM would be accepted with PGM=ICEMAN but SIZE=MAX is the IBM-supplied default so it probably wouldn't have any effect.)

Quote:
RESOURCES WERE UNAVAILABLE FOR DYNAMIC ALLOCATION OF WORK DATA SETS (970C)
'

This is message ICE083A. Did you look it up?

publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ICE1CM20/2.2.82?SHELF=&DT=20060721170811&CASE=

Quote:
SORT CAPACITY EXCEEDED - RECORD COUNT 5040256


This is message ICE046A. Did you look it up?

publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ICE1CM20/2.2.45?SHELF=&DT=20060721170811&CASE=

You're obviously having resource problems. You didn't show enough of the messages for me to even figure out which ICETOOL operator the message was issued for. And again, I don't know what you're trying to do, so I don't know if you're doing it efficiently or not.
Back to top
View user's profile Send private message
ibmmainframesyntel

Active User


Joined: 26 Feb 2007
Posts: 126
Location: Chennai

PostPosted: Mon Jun 25, 2007 4:00 pm
Reply with quote

Hi Frank,
If xxxx is not 064K:
Ensure that work data sets can be dynamically allocated.


If message ICE118I was received, specify FILSZ=En with a reasonably accurate estimate of the number of records to be sorted. If you cannot specify FILSZ=En, use DYNSPC=n to decrease the primary space allocated.


Where exactly i have to give DYNSPC=n,FILSZ=En in JCL.
In Exec statement with PARM parameter or what.

I didn't get anything.

01I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
83A D RESOURCES WERE UNAVAILABLE FOR DYNAMIC ALLOCATION OF WORK DATA SETS (970C
53I 0 FWK=(0,0) SWK=(0,0) TWK=(0,0) RWK=(0,0) TOTAL=(0,0) BLK=49120
51I 0 C5-K90007 C6-K90007 C7-K90000 C8-K90007 E4-K90007 C9-BASE E5-K10929 E6-
50I 0 DC 12963262455 TC 0 CS DSVVV KSZ 25 VSZ 25
52I 0 FSZ=5113713 RC IGN=0 E AVG=2536 0 WSP=16843691 C DYN=0 49120
52I 3 END OF DFSORT

this is the error am getting now
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 25, 2007 8:53 pm
Reply with quote

Quote:
Where exactly i have to give DYNSPC=n,FILSZ=En in JCL.


Code:

//DFSPARM DD *
  OPTION DYNSPC=n,FILSZ=En
/*


But it doesn't appear that you received ICE118I so those options won't make any difference.

There appears to be something wrong with the way the dynamically allocated work data sets were set up at your site (e.g. no usable volumes in storage pool, bad device for VIO). Contact your system programmer - they may have to open a problem to have IBM help them figure out what's wrong.

As a bypass, you could try using //SORTWKdd DD statements to avoid dynamic allocation (NOT RECOMMENDED as a permanent thing).
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 Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts Access to non cataloged VSAM file JCL & VSAM 18
No new posts Need help for File Aid JCL to extract... Compuware & Other Tools 23
Search our Forums:

Back to Top