Page 1 of 1

EXECIO error. Unable to obtain storage

PostPosted: Fri Oct 24, 2008 7:28 pm
by The Bear
Hi,
I am using the z/OS V1.9 SDSF REXX facility to go through (many) active CICS regions and extract specific bits of info from each region. I do this by getting a list of the active regions, then for each, I read JESMSGLG and another DDNAME. I dont know how to free any of the allocated files and although I set my stem variable to null (line. = '') I eventually run out of storage.

Does someone know of a way to get around this?

TIA - The Bear.

Re: EXECIO error. Unable to obtain storage

PostPosted: Sat Oct 25, 2008 12:56 am
by dick scherrer
Hello,

You might try:
"FREE DDNAME(yourdd)"   

Re: EXECIO error. Unable to obtain storage

PostPosted: Sat Oct 25, 2008 2:13 am
by MrSpock
Try a DROP of the stem variables when you're finished with them. Or, even better, maybe change your code to avoid using them altogether.

Re: EXECIO error. Unable to obtain storage

PostPosted: Tue Oct 28, 2008 12:19 am
by santlou
Also,

If you are reading the entire JESMSGLG with one EXECIO statement (i.e. EXECIO *), depending on the number of records on that file, your EXECIO will overshoot your allocated storage because of the number of entries in the stem variable. You can change your EXECIO to read one record at a time (i.e. EXECIO 1) and use a PULL statement to process one record rather than reading everying into the stem variable.

Example:

Do Forever
   EXECIO 1 diskr JESMSGLG
   If rc /= 0 then leave
   PULL jesrec
   .. Do your processing here ...
end