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

Is there a limit to the number of items in an OCCUR?


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

New User


Joined: 11 Sep 2006
Posts: 23

PostPosted: Tue Aug 14, 2007 2:04 am
Reply with quote

I know I should really crack the manual, but I was doing an OCCUR on a dataset with 3,617,381 records that condensed into 35,502 ON values and I kept getting a B37, even if I allocated the output dataset with 4,000,000 records. icon_eek.gif

Is there a limit to the no of ON values that OCCUR can handle? and if so, how come it doesn't give me RC=12 or RC=16?

In the end I used a SORT and it worked ok, so nothing wrong with the ip dataset.

TIA
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: Tue Aug 14, 2007 2:13 am
Reply with quote

Hello,

I believe the B37 is not caused by your "occurs". I just defined an array with an occurs of 50000.

What is the reason code for the B37? If you post more of the diagnostic info, we will be better able to help.

Posting your jcl with the error info would also help.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Tue Aug 14, 2007 2:18 am
Reply with quote

Your B37 is not internal COBOL limits, it is DASD allocation. You might have specified 4,000,000 records, but is there enough contiguous space in the DASD pool to accommodate it according to the allocation rules?
Back to top
View user's profile Send private message
helga

New User


Joined: 11 Sep 2006
Posts: 23

PostPosted: Tue Aug 14, 2007 2:25 am
Reply with quote

Interesting. I have two ICETOOL steps, both doing "the same thing" but with different ip datasets. One works, the other doesn't:

Code:
//JS0030   EXEC PGM=ICETOOL,COND=(0,NE)
//TOOLMSG  DD SYSOUT=*
//DFSMSG   DD SYSOUT=*
//IN1      DD DISP=SHR,DSN=XX.X.XX.&JOBID..X.XX.XX.XXXX
//OUT1     DD DSN=XX.X.XX.&JOBID..X.XX.XX.XXXX.COUNTS,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(080,(100,10),RLSE),AVGREC=K,
//            LRECL=080,STORCLAS=STANDARD,RECFM=FB,
//            MGMTCLAS=PERMBKUP,DATACLAS=DEFAULT
//TEMP1    DD DISP=(NEW,DELETE,DELETE),DSN=&&TEMP
//TOOLIN   DD *
OCCUR FROM(IN1) LIST(TEMP1) -
      TITLE('LOOKING AT SV-GI-PORT ON ME-UV-SITEVU-PORT') -
      HEADER('SV-GI-PORT') ON(001,005,CH) -
      HEADER('COUNT') ON(VALCNT,A1,N07) -
      BETWEEN(3) LINES(999) BLANK
COPY FROM(TEMP1) TO(OUT1) USING(CTL1)
//CTL1CNTL DD *
 OUTREC BUILD=(001:002,080)



I use the COPY in TOOLIN to strip off the CC and reformat from LREC=L251 icon_idea.gif

The input dataset is LRECL=5 and just a series of mostly blanks, with several five digit numbers and a handful of character strings, 35050 different values in all.

Unfortunately, I no longer have the error output, but if you're saying there's no limit to the no of values the OCCUR can handle, then I guess that's not what was causing the problem.
Back to top
View user's profile Send private message
helga

New User


Joined: 11 Sep 2006
Posts: 23

PostPosted: Tue Aug 14, 2007 2:28 am
Reply with quote

William has a good point. I'll try and rerun it and see if I get a VIO message, or see if I get an overflow that refers to the pool and not the specific dataset.

Someone here did suggest using VOL=(,,,99)
Back to top
View user's profile Send private message
helga

New User


Joined: 11 Sep 2006
Posts: 23

PostPosted: Tue Aug 14, 2007 2:42 am
Reply with quote

I figured it out.

I always get caught out when I'm trying to be too smart. icon_cry.gif Look at that TEMP file: I've got into a bad habit of only using DISP and DSN when allocating those (because I can never remember how the DCB parms go). The problem was that there's a limit to how big a file you can crate without giving it DCB info.

Check out the output:

Code:
IGD101I SMS ALLOCATED TO DDNAME (TEMP1   )
        DSN (SYS07225.T170202.RA000.XXXXXXXX.TEMP.H05)
        STORCLAS (STANDARD) MGMTCLAS (        ) DATACLAS (DCNULLS)
        VOL SER NOS=,VIO,
IEF237I JDEV ALLOCATED TO TOOLIN
IEF237I JDEV ALLOCATED TO CTL1CNTL
IEC030I B37-04,IFG0554A,XXXXXXXX,JS0030,TEMP1,VIO ,      ,SYS07225.T170202.RA000
WER999A XXXXXXXX,JS0030  ,        -  UNSUCCESSFUL SORT B37 S REASON=00000004
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=B37  REASON CODE=00000004
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 Aug 14, 2007 2:51 am
Reply with quote

[posted before I saw your previous post and possibly now irrelevant.]

helga,

The number of ON values doesn't matter. The space you allocate for the data set vs the space needed does matter.

An OCCUR does a sort. You didn't say which data set you got the B37 for. Was it a work data set (e.g. SORTWKdd) or the OUT1 data set or the TEMP1 data set?
Back to top
View user's profile Send private message
helga

New User


Joined: 11 Sep 2006
Posts: 23

PostPosted: Tue Aug 14, 2007 2:58 am
Reply with quote

yeah, I'm done.

...and I forgot to say thankyou. My mother wouldn't like that icon_redface.gif
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Tue Aug 14, 2007 3:18 am
Reply with quote

helga wrote:
yeah, I'm done.

...and I forgot to say thankyou. My mother wouldn't like that icon_redface.gif
Helga, that's sweet....thank you....
Where are you from, what is your location?
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 Pulling a fixed number of records fro... DB2 2
No new posts Substring number between 2 characters... DFSORT/ICETOOL 2
No new posts Generate random number from range of ... COBOL Programming 3
No new posts Increase the number of columns in the... IBM Tools 3
No new posts Cobol program with sequence number ra... COBOL Programming 5
Search our Forums:

Back to Top