Rational Developer for System z
Enterprise COBOL for z/OS, Version 4.1, Compiler and Runtime Migration Guide


Key compiler options for converted programs

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

Table 1. Key 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 OS/VS COBOL programs.
DIAGTRUNC Use DIAGTRUNC to get numeric truncation flagging for MOVE statements. This is similar to the flagging in OS/VS COBOL.
NUMPROC(MIG) NUMPROC(MIG) processes numeric signs in a way similar to, but not exactly like, OS/VS COBOL.
NUMCLS(ALT) Use 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. (You must also compile with NUMPROC(MIG).) For other alternatives for sign representation, see the Enterprise COBOL Programming Guide.
OPT(STD) Use OPT(STD) if you have nonreferenced data items as eye-catchers or time/version stamps in WORKING-STORAGE. Use OPT(FULL) only if you do not need unused data items.
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.
RMODE(24 or AUTO) Use RMODE(24) or RMODE(AUTO) for Enterprise COBOL programs that are compiled with NORENT and mixed 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 program 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.
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.

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)