View previous topic :: View next topic
|
Author |
Message |
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2546 Location: Silicon Valley
|
|
|
|
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? |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10872 Location: italy
|
|
|
|
try passing to the program a workarea, in the style of IGGCSI00 |
|
Back to top |
|
|
prino
Senior Member
Joined: 07 Feb 2009 Posts: 1306 Location: Vilnius, Lithuania
|
|
|
|
Pedro wrote: |
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. |
|
Back to top |
|
|
|