Thinking a bit more, even though there may be parts, bits and pieces of C/C++ code to do with the COBOL program (and supporting routines) anything in the COBOL program is of course "COBOL" and any "COBOL routines" I'd imagine would also be treated as "COBOL" by LE.
So I think it reasonable to postulate that the problem only arises with user-written C/C++ code, and that the "first" C/C++ user-written code gets the mask set, as described. With LE TRAP(ON) the issue just may not be apparent. Perhaps an initial deliberate CALL to a C/C++ program which uses CEE3SPM to turn off that in the mask? LE fires it up as a "new language", sets the mask bit, transfers control to the C/C++ program, which then immediately turns it off and simply returns to the COBOL caller. As each new C/C++ program is CALLed, the mask bit is off, and remains unchanged. I think that should work, whatever Smart/Restart is doing. Test with the simple COBOL program (yet to be provided...) doing the CALL and not doing the CALL, with TRAP(ON) and TRAP(OFF), both "inside" and "outside" Smart/Restart. Ah. Not so easy to replicate the actual issue you have with Smart/Restart and the DB and the 0008. So just do it "outside", and if it behaves as expected (S0CA without the CALL and with TRAP(OFF), no S0CA otherwise) then try it in the actual system. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
