|
I opened up a pmr on this with IBM. Suppose my test cl looked like this. CHGJOB LOG(1 50 *NOLIST) LOGCLPGM(*NO) ChgVar &File 'QCMDSRC ' ChgVar &Library 'ROB ' Call testrls2 parm(&File &Library) CHGJOB LOG(4 00 *SECLVL) LOGCLPGM(*YES) I would get stuff in TESTRLS2 logged as if it was a 4, 00 level. I asked them why. They said that CL does NOT wait until it returns from testrls2 before it executes the next line. They said that if I put a DLYJOB in there it might work. They said that if the next line checked the value of &File, that it might not even have the right value if testrls2 was not done running. This has never been my experience, however. I did remove the last CHGJOB and it worked. That's the really scary thing. Then I got to thinking, what if the fellow is wrong? What if it really is sequential but the CHGJOB's are evaluated at compile time? So now my code looks like ... Call testrls2 parm(&File &Library) DLYJOB DLY(45) CHGJOB LOG(&LOGLVL &LOGSEV &LOGTYPE) LOGCLPGM(&LOGCLPGM) ... And I am back to getting all the compile time messages. So I think he is wrong. Rob Berendt
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.