EXECIO error. Unable to obtain storage

IBM's Command List programming language & Restructured Extended Executor
The Bear
Posts: 1
Joined: Fri Oct 24, 2008 7:18 pm
Skillset: CICS, MQ, Assembler, REXX
Referer: web search

EXECIO error. Unable to obtain storage

Postby The Bear » Fri Oct 24, 2008 7:28 pm

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.

User avatar
dick scherrer
Global moderator
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am

Re: EXECIO error. Unable to obtain storage

Postby dick scherrer » Sat Oct 25, 2008 12:56 am

Hello,

You might try:

Code: Select all

"FREE DDNAME(yourdd)"   
Hope this helps,
d.sch.

User avatar
MrSpock
Global moderator
Posts: 809
Joined: Wed Jun 06, 2007 9:37 pm
Skillset: REXX, JCL, DFSORT, Syncsort, Axway MFT, Connect:Direct, FTP, SFTP
Referer: ibmmainframes.com
Location: Raleigh NC USA
Contact:

Re: EXECIO error. Unable to obtain storage

Postby MrSpock » Sat Oct 25, 2008 2:13 am

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.

santlou
Posts: 15
Joined: Sat Aug 23, 2008 8:06 pm
Skillset: cobol, cics, mq, vsam, rexx, ispf, sas, eztrieve, db2
Referer: google

Re: EXECIO error. Unable to obtain storage

Postby santlou » Tue Oct 28, 2008 12:19 am

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:

Code: Select all

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


  • Similar Topics
    Replies
    Views
    Last post