Joined: 07 Feb 2009 Posts: 1219 Location: Vilnius, Lithuania
I have a rexx program that calls several PLI programs. I would like to allocate storage in one PLI program and have it persist so that a subsequent PLI program can use it.
I use DCL abc .... BASED(abcptr)
then use ALLOCATE abc
but the storage is released when the first program ends. Is there a way to make it persistent?
No, if you invoke separate PL/I programs you cannot do this, you would have to write out your data to an intermediate file, and read it back in in the next PL/I program.
Can you provide more details as to what you want to achieve, and how much data you want to carry over?
I have no experience passing a workarea to a PL/I main program, but my guess is that you could also get this to work, you just have to use another calling convention, as the standard ones (char(100) var for batch, ptr for CICS and IMS) probably won't do.