Problem:
We have coded a DCB override for print records going to SYSOUT. It looks like this:
REPORT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=6251)
But on the OPEN of the dataset, we get a RTS139 error. What is wrong?
Resolution:
A COBOL program that writes output records may use a carriage control character or it may not. Since the JCL shows a record format of FBA and the supplied sample used a WRITE AFTER ADVANCING command, then you should use the NOADV compiler directive.
It comes down to this:
- a COBOL program uses WRITE AFTER ADVANCING for printing
- the program takes into account one byte carriage control character
for printing by adding an extra character ahead of the record to be written
This program should use NOADV
- a program does not add a one byte character to the front of the record
This program should use ADV
#MFDS
#EnterpriseDeveloper