We are involved in LE migration from VS COBOL II runtimes. I'm facing a CEE3204s (S0C4) abend while calling a routine (program A) -- which is a TELON generated code for which we don't have the source. The call contains reference to a variable in the linkage section defined as X(06) and three working storage variables of which two are X fields and one is S9(11)V9(06). I have compiled the program with TRUN(BIN) option. I have checked the concatenation libraries and confirmed that it contains only the LE runtime. (I tried the combination also). The programs are link edited with AMODE(24) and RMODE(24). We tried to create another dummy program that we will call program A and compiled it with VS COBOL II runtimes. But now, the SOC4 happens when calling the dummy program. Can you give me a solution for abend code 4038? Tom Ross, Software Engineer, IBM :
Before you get solutions, you need to understand the problem. If you can look at the dump or step through the code with a debugger, you can find out which statement is getting the abend. I assume you mean that you get a 4038 ABEND code with message CEE3204 since you can't get a 0C4 ABEND code out of LE. If you really are getting a 0C4 code, then you are either running with TRAP(OFF) which is not supported or you are not really running under LE. One thing to try is setting the run-time options RPTOPTS(ON) and TERMTHDACT(DUMP) so that you can see the LE dump. If you don't get an options report from RPTOPTS(ON), then you know you are not specifying the run-time options correctly or you are not really running under LE. Can you run a VS COBOL II program calling another VS COBOL II program that is not TELON? Have you looked at TELON with LE issues? Does TELON have its own run-time library? For more help solving the abend code 4038, check the LE Migration Guide appendix on "LE Enabled Vendor Tools and Applications." Good luck!