How to solve abend code 4038

How to solve abend code 4038

Q:
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

    Requires Free Membership to View

    When you register, you’ll also receive targeted alerts from my team of editorial writers and independent industry experts with the latest news, tips, and advice to help you do your job more efficiently and effectively. Our goal is to keep you informed on the hottest topics and biggest challenges faced by IT professionals today working with data center technologies.

    Margie Semilof, Editorial Director

    By submitting your registration information to SearchDataCenter.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchDataCenter.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

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!

Editor's note: Do you agree with this expert's response? If you have more to share, send us an email or create a post about abend code 4038 or VS COBOL II on ITKnowledgeExchange.


This was first published in November 2008