IBM OS/390 User Manual

Page of 673
12.3.2 DOS/VS COBOL Programs Containing REPORT WRITER Statements
COBOL for OS/390 and VM does not support the REPORT WRITER statements.
However, you can keep your REPORT WRITER statements by using the COBOL
Report Writer Precompiler prior to the new compiler. Alternatively, you can use
the COBOL Report Writer Precompiler to convert your REPORT WRITER
statements to COBOL code.
12.4 DOS/VS COBOL and COBOL for OS/390 and VM Language Differences
 Note 
The following discussion on programming differences is relevant only to
differences between DOS/VS COBOL and COBOL for OS/390 and VM.
12.4.1 Common COBOL Coding Problems
The following are some common DOS/VS COBOL coding 
mistakes
 that will not
work in OS/390. They may be logic errors or 
invalid
 coding that DOS/VS
COBOL nevertheless allowed. They will probably not be converted or notated by
a conversion tool.
This is not meant to be an exhaustive list, but only some of the more common
problems that can arise. You should read carefully the relevant chapters of
either the 
COBOL for VSE/ESA Migration Guide or the COBOL for OS/390 and
VM Compiler and Run-Time Migration Guide to determine the DOS/VS COBOL
language elements that have changed or are no longer supported in COBOL for
OS/390 and VM.
Referencing a file
s (or printer
s) I/O area before the file (or printer) is
OPENed will result in a system 0C4 abend in OS/390.
Referencing a file
s (or printer
s) I/O area after the file (or printer) is CLOSEd
will result in a system 0C4 abend in OS/390.
STOP RUN
 statement should not be embedded within a SORT procedure.
In OS/390, sorts must end before a STOP RUN can be requested.
Level-88 statements that define non-numeric literals, when the literals are
not enclosed in quotes, are invalid.
For example:
05 PRIMARY-FIELD PIC XX.
88 FIELD1 VALUES ARE 60 61 62.
88 FIELD2 VALUES ARE 50 51 52.
Using COBOL for OS/390 and VM you will receive message:
IGYGR1239-S Level-88 
VALUE
″ 
literal 
″61″ 
was not compatible with the
data category of the conditional variable. The literal was discarded.
The literal values (60 61 62 50 51 52) must be enclosed in quotes. DOS/VS
COBOL ignored the requirement for the quotes and processed the literals as
the programmer intended.
Redefinitions of level-01 entries in the File Section are not allowed. When
more than one level-01 entry follows a file description entry, the redefinition
is implicit.
Chapter 12. COBOL
253