You won't find any description of LE environmental parameters in the
semantics of the "CALL" statement because it has nothing to do with the
CALL statement -- interpretation of the PARMS field is totally up to the
called program. If the called program was implemented via a
high-level language that uses the LE runtime libraries, then it is the
LE runtime that enforces this convention, and it should be documented in
the Programmers Guide for those languages. Be aware that in some cases
(COBOL), it is an installation LE customization option that determines
whether the LE environmental parameters come before or after the "/".
As you are discovering, the CLIST language is a notoriously bad language
for dealing with variables with values containing special characters,
most of which have special meaning as delimiters or operators in the
CLIST language. You have to use a liberal sprinkling of the "&STR"
function all over the place, both when setting and using such variables,
and if you allow such values to be based on user input, resolving all
"bugs" of this nature is practically impossible using CLISTs. I would
suggest you consider learning REXX. I have refused to do any new
development using CLISTs for over ten years and never regretted it.
Terry Schwarz wrote:
[EMAIL PROTECTED] (Don Poitras) wrote in
news:[EMAIL PROTECTED]:
Ok ... that worked ... thank you.
I looked around a small bit and could find
CALL dsn(pgm) 'xxxxxxxxx' supports anything JCL PARMS supports
but in turn couldn't find anything that said anything likes PARMS can be a
string and if it contains a slash the left portion is for environment
conditions such as ENVAR() and the right portion is sent to the program as
argument values. I suppose it is buried somewhere in some obscure section
of some obscure document.
I actually have (hopefully) a small follow up question that is purely about
making the clist pretty such as CALL dsn(pgm) '&MYPARMS' (vs CALL dsn(pgm)
'{actualstring}/').
When I try to do SET MYPARMS = XXX=YYY the clist parser complains about
illegal operators. Basically SET MYPARMS = = is illegal, so how to you
embed equal signs and slash (which I'd assume I'd eventually hit).
that explicitly said anything like
Pretty much the same syntax in TSO.
tso call ibm(ibmenv) 'envar("AA=howdy")/'
A program that did a getenv("AA") would return "howdy". If the program
is written in COBOL, put the slash at the beginning.
--
Joel C. Ewing, Fort Smith, AR [EMAIL PROTECTED]
----------------------------------------------------------------------
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