Roland Kinsman wrote:

>I have a REXX Exec that calls two programs in a loop, first one then the 
>other.  I execute the REXX in batch.  Both of these programs are normally run 
>in single batch steps.  My REXX exec calls them using each member of a PDS as 
>input.  It works great for about 250 members, then it starts to abend.  The 
>first abend is an S106.  After that it starts to suffer S0C4s, then ultimately 
>breaks down with SA03.  

>So it appears that one or both of these programs is not freeing its storage 
>before ending, and I have a suspicion as to which one it is.

>Here’s my question – is there any way inside the REXX that I can reset the 
>environment before calling these programs so that each time they execute they 
>can have a fresh start?

Probably yes, depending how you process your members and how you call the 
programs (in what language are they?). Are you putting the member's content 
somewhere in memory?

Which of your programs, your REXX program and/or called programs, are actually 
OPEN/CLOSE these members?

I would suggest using larger REGION, using other work space and DROP statement. 
In my REXX progs I process ONE member at a stage. Ie, I open it, do my things 
and FREE it. And then I DROP my stem variables. Repeat with other member.

If you can't do that, put in SAY statements showing your variables and 
progress. Handy for debugging.

More info should be given how you open, process and close those members. Also 
how is your loop working. Are your members being opened by more than one 
program?

Groete / Greetings
Elardus Engelbrecht

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to