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

Reply via email to