I either have a misunderstanding of how stem variables work - or perhaps it
is just some stupid program bug.

I know this basic drill on stem variables: I can say foo. = "bar" and then
the value of foo.anything is effectively "bar".

Does that also work at the next level of stem variables?

Consider the following:

Userid = "FTPD"
IsStepInit.Userid. = "0"

Is IsStepInit.Userid.anything defined? I say

StepName = "STEP1"
If \ IsStepInit.Userid.Stepname Then ...

And I get a "Logical value not 0 or 1" error on the If.

A Say shows that the value of IsStepInit.Userid.Stepname is
ISSTEPINIT.FTPD.STEP1 rather than the "0" I would expect.

Am I misunderstanding how "second level" stem variables work, or should I be
looking for some stupid program bug?

Should IsStepInit.Userid. = "0" set IsStepInit.Userid.anything to "0" or is
that wishful thinking?

Thanks,
Charles 

Here is the full TRACE 'R'. Lines 406 and 178/179 are the key pieces.

   167 *-*   jobname = Strip(Substr(Section, 1,8))             /* SMF30JBN
*/                                            
       >>>     "FTPD9"

   168 *-*   userid = Left(jobname, Length(jobname)-1)

       >>>     "FTPD"

   169 *-*   If \ DATATYPE(userid, 'A')

       >>>     "0"

   170 *-*   Call InitializeUserid userid

       >>>     "FTPD"

   395 *-*    InitializeUserid:

   399 *-*    userid = Arg(1)

       >>>      "FTPD"

   400 *-*    If IsUseridInit.userid

       >>>      "0"

   402 *-*     /* New Userid */

   403 *-*    IsUseridInit.userid = TRUE

       >>>      "1"

   404 *-*    ListOfUserids = ListOfUserids userid   /* Append to list */

       >>>      " FTPD"

   405 *-*    TotalCompiles.userid = 0

       >>>      "0"

   406 *-*    IsStepInit.userid. = FALSE

       >>>      "0"

   407 *-*    ListOfStepnames.userid. = ""

       >>>      ""

   409 *-*    Return

   172 *-*   TotalCompiles.userid = TotalCompiles.userid + 1

       >>>     "1"

   174 *-*   /* Step name */

   175 *-*   stepname = Strip(Substr(Section,17,8))             /* SMF30STM
*/                                           
       >>>     "STEP1"

   176 *-*   If \ DATATYPE(stepname, 'A')

       >>>     "0"

   177 *-*   Say "|" || userid || "|" || stepname || "|"

       >>>     "|FTPD|STEP1|"

|FTPD|STEP1|

   178 *-*   Say IsStepInit.userid.stepname

       >>>     "ISSTEPINIT.FTPD.STEP1"

ISSTEPINIT.FTPD.STEP1

   179 *-*   If \ IsStepInit.userid.stepname

   179 +++    If \ IsStepInit.userid.stepname

   123 +++ Call ReadSMF

IRX0034I Error running SMF2MAIL, line 179: Logical value not 0 or 1

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to