MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Rexx- Machine storage exhausted

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> TSO and ISPF
View previous topic :: View next topic  
Author Message
ace
Beginner


Joined: 24 Feb 2004
Posts: 58
Topics: 23

PostPosted: Fri Sep 15, 2006 7:26 pm    Post subject: Rexx- Machine storage exhausted Reply with quote

Hi,
I'm getting the following error when I try to process huge files.

Machine storage exhausted

Is there anyway to overcome this issue. Please help.
_________________
Thank You
-Ace
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12372
Topics: 75
Location: San Jose

PostPosted: Fri Sep 15, 2006 8:36 pm    Post subject: Reply with quote

ace,

Check this

http://www.google.com/search?hl=en&q=Machine+storage+exhausted%2Brexx

Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ace
Beginner


Joined: 24 Feb 2004
Posts: 58
Topics: 23

PostPosted: Sat Sep 16, 2006 7:22 am    Post subject: Reply with quote

Thanks Kolusu.
I did search in google before posting the issue here but didn't get any work around from the search results.
_________________
Thank You
-Ace
Back to top
View user's profile Send private message
ace
Beginner


Joined: 24 Feb 2004
Posts: 58
Topics: 23

PostPosted: Wed Sep 20, 2006 2:30 pm    Post subject: Reply with quote

Can somebody please help me out ?
I'm not using any ISPF panels. It's just reading a file (character by character) and based on some condition create a report file. But the job is abending while processing huge files.
_________________
Thank You
-Ace
Back to top
View user's profile Send private message
superk
Advanced


Joined: 19 Dec 2002
Posts: 684
Topics: 5

PostPosted: Wed Sep 20, 2006 2:43 pm    Post subject: Reply with quote

When you use EXECIO, you are typically reading one record at a time into the stack:

EXECIO 1 DISKR ddname

processing the record:

PARSE PULL the_record

and then either pushing it out for a write:

PUSH the_record
EXECIO 1 DISKW ddname

or just moving on to the next record.

I could definitely see a problem running out of storage if you're trying to read too many records at one time.

This can also occur by using too many CALL's and/or SIGNAL's.
Back to top
View user's profile Send private message
ace
Beginner


Joined: 24 Feb 2004
Posts: 58
Topics: 23

PostPosted: Wed Sep 20, 2006 3:11 pm    Post subject: Reply with quote

superk,
Actually this is related to a previous post of mine http://www.mvsforums.com/helpboards/viewtopic.php?t=7132
that has been answered ny Semigeezer. I'm trying to read each character and mathing for a pattern. It's working fine if the file is of limited size or the LRECL of limited length. But when Itried to process a huge file with 26600 length and of millions of record (I'm running this in batch), I'm getting the Machine storage exhausted error. The Rexx is running thru fine when I split the file into halves. Please help.
_________________
Thank You
-Ace
Back to top
View user's profile Send private message
acevedo
Beginner


Joined: 03 Dec 2002
Posts: 127
Topics: 0
Location: Europe

PostPosted: Thu Sep 21, 2006 1:24 am    Post subject: Reply with quote

1-But the job is abending while processing huge files
2-The Rexx is running thru fine when I split the file into halves

I'm agree with superk... are you doing a "execio * diskr" ?
Back to top
View user's profile Send private message
ace
Beginner


Joined: 24 Feb 2004
Posts: 58
Topics: 23

PostPosted: Thu Sep 21, 2006 8:56 am    Post subject: Reply with quote

acevedo,
Yes, I 'm using 'execio * diskr'. Is there any work around for it.
_________________
Thank You
-Ace
Back to top
View user's profile Send private message
danm
Intermediate


Joined: 29 Jun 2004
Posts: 170
Topics: 73

PostPosted: Thu Sep 21, 2006 9:43 am    Post subject: Reply with quote

Read n number of lines (e.g. 100) at a time.
Code:

StartRec = 1
Nrecs = 100      /* Choose any # of record to be read */
Do until Nomore = 2
  "EXECIO" Nrecs "DISKR INPFILE" StartRec "(STEM REC."
  Nomore = rc
  If 0 = wordpos(Nomore,'0 2') then do
    say 'Unable to read dataset', rc=' Nomore
    leave
  End  /* If 0 = wordpos(Nomore,'0 2') then do */
  Do I = 1 to Rec.0
     /* Process record */
    .........
  End  /* Do I = 1 to Rec.0 */
  StartRec = StartRec + Rec.0
End  /* Do until Nomore = 2 */
Back to top
View user's profile Send private message
ace
Beginner


Joined: 24 Feb 2004
Posts: 58
Topics: 23

PostPosted: Thu Sep 21, 2006 8:14 pm    Post subject: Reply with quote

Thank you danm. It worked.
I'm a newbie in Rexx.
_________________
Thank You
-Ace
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> TSO and ISPF All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group