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 an IBM COBOL, or an Enterprise COBOL program to
open the file.
- If the COBOL program is 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 that 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).