Compiler options for converted programs

Table 1 lists the compiler options that have special relevance to converted programs.

Table 1. Compiler options for converted OS/VS COBOL programs
Compiler option Comments
BUFSIZE In OS/VS COBOL, the BUF option value specifies the total number of bytes reserved for buffers. In Enterprise COBOL, BUFSIZE specifies the amount of buffer storage reserved for each compiler work data set. The default is 4096.

If your OS/VS COBOL program uses the BUF option, you must adjust the amount requested in your Enterprise COBOL BUFSIZE option.

DATA(24) Use DATA(24) for Enterprise COBOL programs that are compiled with RENT and mixed with AMODE 24 assembler programs.
DIAGTRUNC Use DIAGTRUNC to get numeric truncation flagging for MOVE statements. This is similar to the flagging in OS/VS COBOL.
NOSTGOPT Start of change Use NOSTGOPT if you have unreferenced data items as eye-catchers or time/version stamps in WORKING-STORAGE. Use STGOPT only if you do not need unused data items, or the unused data items are defined with the VOLATILE clause. End of change
NUMPROC Use NUMPROC(NOPFD) plus the installation option NUMCLS(ALT) if you were using the USERMOD shipped with OS/VS COBOL. With the USERMOD, characters A, B, and E (as well as C, D, and F) are considered valid numeric signs in the COBOL numeric class test. For other alternatives for sign representation, see the Enterprise COBOL for z/OS® Programming Guide.
OUTDD(ddname) Use this option to override the default ddname (SYSOUT) for SYSOUT output that goes to the system logic output unit. If the ddname is the same as the Language Environment® MSGFILE ddname, the output is routed to the ddname designated for MSGFILE. If the ddname is not the same as the Language Environment MSGFILE ddname, the output from the DISPLAY statement is directed to the OUTDD ddname destination. If the ddname is not present at first reference, dynamic allocation will take place with the default name and attributes that are specified by Language Environment.
PGMNAME(COMPAT) Use PGMNAME(COMPAT) to ensure that program names are processed in a manner compatible with OS/VS COBOL.
TRUNC TRUNC controls the way arithmetic fields are truncated into binary receiving fields during MOVE and arithmetic operations. Use TRUNC(STD) if your shop used TRUNC as the default with OS/VS COBOL. Use TRUNC(OPT) if your shop uses NOTRUNC as the default with OS/VS COBOL (except for select programs that require guaranteed nontruncation of binary data). For programs that require nontruncation of binary data, use TRUNC(BIN), especially if there is a possibility that data being moved into binary data items can have a value larger than that defined by the PICTURE clause for the binary data item. For individual data items you can specify USAGE COMP-5 to get guaranteed nontruncation of binary data.
High-order digits: Enterprise COBOL programs compiled with TRUNC(OPT) can give different results than OS/VS COBOL programs compiled with NOTRUNC. The main difference is that programs can lose nonzero high-order digits. For statements for which a loss of high-order digits might take place, Enterprise COBOL issues a diagnostic message indicating that you should ensure that at least one of the following conditions is met:
  • The sending items will not contain large numbers.
  • The receiving items are defined with enough digits in the PICTURE clause to handle the largest sending data items.