Wednesday, February 01, 2006

COBOL Compiler Options Part # 2

BUFSIZE: This is a COBOL compiler option. Format: BUFSIZE(nnnn) (nnnK) where nnnn is a decimal number no less than 256 nnnK is a decimal number in 1K (1024) increments Abbreviations: BUF IBM-default: 4096 BUFSIZE specifies the amount of main storage to be allocated to each compiler work file buffer. Generally, a large buffer size will improve compiler performance; however, BUFSIZE cannot exceed the track capacity for the device being used nor can it exceed the maximum allowed by data management services. If the SIZE option is specified along with BUFSIZE, the amount of storage allocated to buffers is included in the amount of storage available for compilation as specified by the SIZE option. CMPR2: This is a COBOL compiler option. Format: CMPR2 NOCMPR2 Abbreviations: None IBM-default: NOCMPR2 CMPR2 requests that generated object code be compatible with code generated by VS COBOL II Release 2. NOCMPR2 requests that generated object code conform to the ANSI ‘85 standard (i.e., as implemented by VS COBOL II Release 3, which, in some instances, is incompatible with Release 2). CMPR2 (which forces on the FLAGMIG option) can be used to assist in the migration of programs written under Release 2 to the ‘85 standard (i.e., to the Release 3 level). See “Release 2 Compatibility And Migration” in the VS COBOL II Release 3 APPLICATION PROGRAMMING GUIDE for more information (including a list of elements that are CMPR2 sensitive and a description of their behavior under CMPR2 and NOCMPR2). COMPILE: This is a COBOL compiler option. Format: COMPILE NOCOMPILE NOCOMPILE(W) (E) (S) Abbreviations: C NOC IBM-default: NOCOMPILE(S) COMPILE forces a full compilation even when serious errors are detected. All diagnostics and object code will be generated (even though the object code should not be executed if serious errors are detected). NOCOMPILE requests a syntax check only. Diagnostic messages (but no object code) are produced. When NOCOMPILE is specified, the following options have no effect (even though listed among the options in effect) because no object code is generated: DECK FDUMP LIST OBJECT OFFSET OPTIMIZE SSRANGE TEST NOCOMPILE(W), NOCOMPILE(E), and NOCOMPILE(S) -for level W (warning), level E (error), and level S (severe error) diagnostics, respectively- request a conditional full compilation (i.e., diagnostics and object code), with object code generation (but not diagnostics) to stop when an error of the level specified (or higher) is encountered. *** Compiler Options *** There are 4 ways in which options may be passed to the compiler, listed below in order of precedence: · Installation defaults that are fixed for your installation · PROCESS (or CBL) statements in the source code · JCL parameter · Installation defaults that are not fixed Fixed installation defaults may not be overridden. Installation defaults that are not fixed may be overridden by either PROCESS/CBL statements and/or by JCL parameters. If conflicting or mutually exclusive options are specified on both PROCESS/CBL statements and via a JCL parm, then the PROCESS/CBL statement takes precedence. For a list of the default options in effect for your installation, run a compile without specifying any options and look at the list of compiler options in effect produced as part of the normal compiler printout. (For a list of the fixed defaults, see your manager or technical support staff.) Note: The default value shown in the individual option descriptions is the IBM-supplied default shipped with the product (which may have been changed by your installation). PROCESS statements must appear before the IDENTIFICATION DIVISION header and are formatted as shown below: PROCESS option1,option2,....