On Thu, 9 Aug 2007 20:18:17 -0500, Kenneth E Tomiak wrote:
>
>>And now the really difficult question:  How can one override the
>>COND= parameter on a single step in a PROC nested two or more
>>levels deep?
>
>//STEP EXEC {PROC=}PROCNAME,COND.STEPNAME=[what you want].
>
>Of course the PROC coders were smart enough to make the stepname unique
>so you could override.
>
Coders are frequently not so smart, and even more frequently fail
to coordinate with each other.  The ambiguities might be alleviated
by following prefixing conventions.  IBM, for example, does not do
so: in our SYS1.PROCLIB, I find 19 members with steps named "C"
(of which, admittedly, only 9 appear to belong to IBM).  But the
unsolvable problem arises when a single outer PROC invokes the
same inner PROC two or more times: no naming convention can then
provide unique names.

>Or smart enough in how to code IF-THEN-ELSE so you would not have to.
>
See above.  This could be alleviated by making the boolean
expression in each IF in a PROC a symbolic name.  But I see
no convenient way to supply a default in order not to burden
the end user with coding a SET statement for each boolean
expression used at any level in a nest of called PROC.

Again, this might be alleviated if symbolic substitution
were permitted in label fields:

    //HLASMCLG   PROC PREFIX=,...
    //&PREFIX.C  EXEC PGM=ASMA90,...

But, if I understand correctly, that isn't permitted, for no
reason I can consider good.

And, for Terry S.'s assumption of rhetoric:

    With regard to Paul's question on how to override something
    within a nested procedure, I would assume this is rhetorical
    as it has been discussed in the forum many times, and the
    override construct does not facilitate nested overrides, as
    it only penetrates to the first level stepname within the
    procedure.

Guilty as charged, but with extenuating circumstances. I wonder
how this deficiency came about.  I'll assume:

o The facility to nest PROCs, which is fairly new, was provided
  in response to a Customer Requirement.

o The Requirement did not explicitly mention the need for
  thorough override support, or it would not be considered
  to be satisfied.  So:

  - Was the customer formulating the requirement remiss in
    not explicitly mentioning override support, but presuming
    it was implicit, or,

  - Was IBM devious in omitting an obvious collateral
    requirement, however implicit, in order to save
    implementation effort?

-- gil

----------------------------------------------------------------------
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