For z/OS, if you have
OS/VS COBOL programs
or assembler programs that do not close files, you can get a C03 abend. In
batch, when a COBOL main program is invoked from an assembler program or if
COBOL is not the main program, you need to make one of the following changes
to avoid getting the C03 abend:
- Add code to close the file.
- Use either a VS COBOL II,
an IBM COBOL,
or an Enterprise COBOL program
to open the file.
- If the COBOL program is being called by an assembler program, and if the
assembler program is invoked by the z/OS batch initiator, add a COBOL stub
(compiled with IBM COBOL or Enterprise COBOL) to the application
so that Language Environment will
not free dynamically called load modules at termination (the assembler program
and the I/O control blocks it contains stay in storage).
- If the assembler program is opening the file, change it to perform a GETMAIN
for the data management control blocks (instead of having the control blocks
be part of the load module).