On Sun, 20 Aug 2006 22:10:23 +0200, Thomas Berg <[EMAIL PROTECTED]> wrote:
> Well, I said clumsy. When I have the need to remember the compund tails
> I just saves them as strings, simple example:
>
> Parse Pull xyz
> stem.xyz = 1
> tails = tails xyz
> etc.
>
I do the same. Of course, I must be certain that no tail contains a blank.
> >>> o Absence of instream data sets.
>
> I usually uses stems for that effect. I have somewhat hesitate to use
> sourceline()
> as I have the feeling that it's to obscure or fragile (regarding changes in
> code).
>
I might set up a stem as follows:
Call SetStem /* inline data follows
first line
second line
third line
*/
...
SetStem procedure expose X. SIGL
S = SIGL
do I = 1
L.1 = sourceline( S + I )
if L.1=='/*' then leave
X.I = L.1
X.0 = I
end
... or EXECIO 1 DISKW ddname (stem L.
So I can easily insert/delete lines in my ersatz here-document without
renumbering indexes. SIGL removes most of the fragility.
BTW, I think it's supremely silly (design oversight?) that SIGL is defined
in the scope of the caller rather than the called, so must be EXPOSEd in
the latter.
> I don't know. I have just read that TSO, in the way it invokes programs,
> don't
> "allow" that possibility.
>
I think you're misled because programs invoked by TSO can't run concurrently
with the TMP. But this is a deeply-rooted design deficiency in TSO. Rexx
itself has no such problem, and readily avoids it with "SYSCALL spawn ..."
-- gil
--
StorageTek
INFORMATION made POWERFUL
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html