Skip to main content

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

Old KB# 6734

#MFDS
#EnterpriseDeveloper