The scenario:
I have a COBOL program that needs to be compiled using the MF dialect because there are features that I need. This program is then compiled (with a set of directives that include FCDCAT, which specifies whether catalogued file information is used when accessing a file), and I run my JCL job which executes the program. But I see this in the Spool:
- A COND CODE of 0012 on the job in the Output and Output Hold queues in the Spool
- A SYSPRINT that tells me that my file is empty.
My program is not finding files in the catalog and I am not seeing SYSOUTs that it creates.
The resolution:
For a program compiled using the MF dialect to access catalog files, such as sysout, you should add the following directives when you compile the COBOL program:
ASSIGN(EXTERNAL) FCDCAT INDD(SYSIN 80 R) OUTDD(SYSOUT 121 R)
#EnterpriseDeveloper
#MFDS