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

Reply via email to