This list includes the VSI COBOL command qualifiers and options for the COBOL command.
1 /ALIGNMENT
/ALIGNMENT[=[NO]PADDING] /NOALIGNMENT (D) Specifies the alignment of binary data items within record structures. Specifying /ALIGNMENT uses OpenVMS Alpha and I64 data alignment to increase performance and conformity to the OpenVMS Alpha and I64 calling standards. The /ALIGNMENT qualifier specifies natural alignment; it aligns all COMP, COMP-1, COMP-2, INDEX, and POINTER data along natural boundaries. A natural boundary is the smallest boundary at which data can be aligned without crossing the next boundary for that type. For example, longword is the natural boundary for four byte integers. Specifying /ALIGNMENT is equivalent to using the SYNCHRONIZED clause or using ALIGNMENT compiler directives. (Refer to the COBOL Reference Manual for information about the SYNCHRONIZED clause.) The /ALIGNMENT=PADDING option indicates Alpha and I64 natural alignment and padding of records according to the OpenVMS Alpha and I64 calling standard. The default, /NOALIGNMENT, specifies OpenVMS VAX compatible data alignment. This qualifier aligns data on byte boundaries for compatibility with HP COBOL for OpenVMS VAX and other OpenVMS VAX languages. The alignment you specify remains in effect throughout a given compilation, except as modified by ALIGNMENT compiler directives. For more information about the behavior of the /ALIGNMENT qualifier and ALIGNMENT compiler directives, refer to the Directives section (in this online HELP facility) and the COBOL User Manual.
2 /ANALYSIS_DATA
/ANALYSIS_DATA[=file-spec] /NOANALYSIS_DATA (D) Indicates whether an ANA file is created during compilation. If you have the Source Code Analyzer (SCA) installed on your system, you can use the /ANALYSIS_DATA qualifier to generate an output file of source-code analysis information. The source-code information file generated by the /ANALYSIS_DATA qualifier has a default file name of the primary source file and a default file type of ANA. SCA uses the ANA file to display information about program symbols and source files. The default, /NOANALYSIS_DATA, does not generate an ANA file. For more information about SCA, see the Guide to Source Code Analyzer for OpenVMS Systems.
3 /ANSI_FORMAT
/ANSI_FORMAT /NOANSI_FORMAT (D) Indicates that the source program is in conventional ANSI format. The compiler then expects 80-character card image records with optional sequence numbers in character positions 1 through 6, indicators in position 7, Area A beginning in position 8, Area B beginning in position 12, and the identification area in positions 73 through 80. The default, /NOANSI_FORMAT, indicates that the source program is in VSI COBOL terminal format, where Area A begins in position 1, Area B begins in position 5, and the source program records do not have line numbers.
4 /ARCHITECTURE
/ARCHITECTURE=option /ARCHITECTURE=GENERIC (D) Determines the type of Alpha chip code that will be generated for a particular program. The /ARCHITECTURE qualifier uses the same options (keywords) as the /OPTIMIZE=TUNE qualifier. Whereas the /OPTIMIZE=TUNE qualifier is primarily used by certain higher-level optimizations for instruction scheduling purposes, the /ARCHITECTURE qualifier determines the type of code instructions generated for the program unit being compiled. OpenVMS Alpha V7.1 and subsequent releases provide an operating system kernel that includes an instruction emulator. This emulator allows new instructions, not implemented on the host processor chip, to execute and produce correct results. Applications using emulated instructions will run correctly, but may incur significant software emulation overhead at runtime. All Alpha processors implement a core set of instructions. Certain Alpha processor versions include additional instruction extensions. The following /ARCHITECTURE options are supported: GENERIC Generates code that is appropriate for all Alpha processor generations. This is the default. Programs compiled with the GENERIC option run all implementations of the Alpha architecture without any instruction emulation overhead. HOST Generates code for the processor generation in use on the system being used for compilation. Programs compiled with this option on other implementations of the Alpha architecture may encounter instruction emulation overhead. EV4 Generates code for the 21064, 21064A, 21066, and 21068 implementations of the Alpha architecture. Programs compiled with the EV4 option run without instruction emulation overhead on all Alpha processors. EV5 Generates code for some 21164 chip implementations of the Alpha architecture that use only the base set of Alpha instructions (no extensions). Programs compiled with the EV5 option run without instruction emulation overhead on all Alpha processors. EV56 Generates code for some 21164 chip implementations that use the byte and word manipulation instruction extensions of the Alpha architecture. Programs compiled with the EV56 option may incur emulation overhead on EV4 and EV5 processors, but will still run correctly on OpenVMS Alpha V7.1 (or later) systems. EV6 Generates code for the 21264 chip implementation that uses the following extensions to the base Alpha instruction set: BWX (Byte/Word manipulation) and MAX (Multimedia) instructions, and square root and FIX (Floating-point convert) instructions. Programs compiled with the EV6 option may incur emulation overhead on EV4, EV5, EV56, and PCA56 processors, but will still run correctly on OpenVMS Alpha V7.1 (or later) systems. EV67, EV68 Generates code for the 21264A chip implementation that uses the following extensions to the base Alpha instruction set: BWX (Byte/Word manipulation) and MAX (Multimedia) instructions, square root and FIX (Floating-point convert) instructions, and CIX (Count) instructions. Programs compiled with the EV67 or EV68 options may incur emulation overhead on EV4, EV5, EV56, EV6, and PCA56 processors, but will still run correctly on OpenVMS Alpha V7.1 (or later) systems. PCA56 Generates code for the 21164PC chip implementation that uses the byte and word manipulation instruction extensions and multimedia instruction extensions of the Alpha architecture. Programs compiled with the PCA56 option may incur emulation overhead on EV4, EV5, and EV56 processors, but still run correctly on OpenVMS Alpha V7.1 (or later) systems. /ARCHITECTURE is currently ignored on OpenVMS I64.
5 /ARITHMETIC
/ARITHMETIC={NATIVE,STANDARD} Specifies whether native arithmetic or standard arithmetic is used to evaluate arithmetic operations and statements. NATIVE Selects native arithmetic. Arithmetic operations will produce results that are reasonably compatible with releases of HP COBOL for OpenVMS Alpha prior to V2.7 and also with HP COBOL for OpenVMS VAX. STANDARD Selects standard arithmetic. Most common arithmetic operations will produce results that are predictable, reasonable, and portable. In this context, portable means that the results will be identical from implementation to implementation. Choosing the STANDARD option forces /MATH_INTERMEDIATE=CIT4. The default is /ARITHMETIC=NATIVE.
6 /AUDIT
/AUDIT[=("string",...)] /NOAUDIT (D) Controls whether user-supplied text is included in a CDD/Repository history list entry if a compilation accesses the dictionary. You can specify from 1 to 64 strings with the /AUDIT qualifier. If you specify more than one string, separate them with commas and enclose the list in parentheses. If you specify /AUDIT without a string, the compiler creates standard history list entries with no additional text in the dictionary for COPY FROM DICTIONARY records and for information put in the dictionary as a result of specifying the /DEPENDENCY_DATA qualifier. Only one user-supplied string is included in these entries, even though up to 64 can be specified. The default, /NOAUDIT, suppresses the creation of history list entries.
7 /CHECK
/CHECK[=(option[,...])] /NOCHECK (D) Specifies conditions to be checked at execution time. Controls whether the system checks the validity of numeric digits or PERFORM statements, indexes, subscripts, reference modification, and the OCCURS DEPENDING ON depending item for specific run-time errors. If you specify a qualifier option, the default options do not change unless they are individually modified. You can select one or more of the following options: [NO]PERFORM Verifies that PERFORM statement rules are met. The default is NOPERFORM. [NO]BOUNDS Verifies the range of subscripts and reference modifiers. The default is NOBOUNDS. [NO]DECIMAL Validates numeric digits when using display numeric items in a numeric context. The default is NODECIMAL. [NO]DUPLICATE_KEYS Verifies that the duplicate key specification for indexed file keys in the source program matches the duplicate key specification in the physical file. The default is NODUPLICATE_KEYS. ALL Same as /CHECK without any options. NONE Same as /NOCHECK. Default if /CHECK is not used. Specifying /CHECK=PERFORM controls whether the system checks PERFORM statements. Incorrect use of PERFORM statements can produce unpredictable results and, when used with the PERFORM option, causes the system to generate a run-time message and abort the program. Specifying /CHECK=BOUNDS controls whether the system checks the range of subscripts, indexes, and the depending item in the DEPENDING ON phrase of the OCCURS clause. The system generates a run-time message and aborts the program if it detects one of these errors: If DEPENDING ON is not specified and a subscript or index is greater than the upper bound or less than or equal to zero If DEPENDING ON is specified and a subscript or index is greater than the depending item or less than or equal to zero If a depending item is less than the low bound or greater than the upper bound, and either a subscripted or indexed item references a table or a group containing the table is referenced as a sending item Specifying /CHECK=DECIMAL controls whether the system checks for numeric characters when using numeric display items in a numeric context and generates an error if any digit is invalid (not numeric). Specify /CHECK=DECIMAL to validate data produced by other systems that might use a different internal representation for numeric data. You can also use this qualifier option to detect logic errors in programs that result in text data being moved to numeric data items. Specifying /CHECK=DECIMAL produces extra instructions to perform these checks, which may result in slightly larger images and slightly longer execution times than the /CHECK=NODECIMAL qualifier option. The default, /NOCHECK, is the equivalent of /CHECK=NONE. Specify /CHECK with the /NOOPTIMIZE qualifier, as optimization can make finding error found by /CHECK more difficult.
8 /CONDITIONALS
/CONDITIONALS[=(character,...)] /NOCONDITIONALS (D) Controls whether the conditional compilation lines in a source program are compiled or treated as comments. Specifying /CONDITIONALS results in all conditional compilation lines being compiled. Specifying /CONDITIONALS=(selector,...), where a selector is a list of one or more characters from A to Z, results in the selected conditional compilation lines being compiled. If you specify more than one selector, separate them with commas and enclose the list in parentheses. The default, /NOCONDITIONALS, results in all conditional compilation lines being treated as comments during compilation.
9 /CONVERT
/CONVERT[=(option[,...])] /NOCONVERT (D) Instructs the compiler to perform certain conversions to your data. You can select the following option: [NO]LEADING_BLANKS Controls whether or not the compiler changes blanks to zeros in numeric display items. Specifying /CONVERT=LEADING_BLANKS instructs the compiler to check for and change blanks to zeros in numeric display items. Specify /CONVERT=LEADING_BLANKS, if you are using a non-VAX system, to convert your existing COBOL programs to run on an OpenVMS Alpha or I64 system by changing blanks in the data to zeros at run time. Specifying /CONVERT=LEADING_BLANKS produces extra instructions to perform these data conversions, which may result in slightly larger images and slightly longer execution times than the /NOCONVERT qualifier. The default is /NOCONVERT.
10 /COPY_LIST
/COPY_LIST /NOCOPY_LIST (D) Controls whether source statements included by COPY statements are printed in the listing file. The /COPY_LIST qualifier has no effect unless you also specify the /LIST qualifier. The default, /NOCOPY_LIST, suppresses the listing of text copied from library files; only the COPY statement appears in the listing file.
11 /CROSS_REFERENCE
/CROSS_REFERENCE[=(option[,...])] /NOCROSS_REFERENCE (D) Controls whether the source listing file includes a cross-reference listing. The /CROSS_REFERENCE qualifier has no effect unless you also specify the /LIST qualifier. You can select one or both of the following options: ALPHABETICAL The compiler sorts user-defined names in alphabetical order and lists them with the source program line numbers on which they appear. /CROSS_REFERENCE=ALPHABETICAL is the equivalent of /CROSS_REFERENCE. DECLARED Produces a listing of user-defined names in order of declaration. If you specify /CROSS_REFERENCE=(ALPHABETICAL, DECLARED), the compiler produces a listing of user-defined names in both alphabetical and declared order in the same compilation. In the listing file, the pound sign ( ) indicates the source line containing the definition of the user-defined name, while the asterisk (*) indicates a line on which the associated data item is modified. The default, /NOCROSS_REFERENCE, suppresses the cross-reference listing.
12 /DEBUG
/DEBUG[=(option[,...])] /NODEBUG Controls whether the compiler produces traceback and local symbol table information for the VMS Debugger. The /DEBUG qualifier allows you to refer to data items by data name, and to Procedure Division locations by line number, paragraph name, and section name. You can also view source lines from source files and files included by simple COPY statements. The debugger cannot reference source lines from CDD/Repository or any line in which text has been replaced. If you specify a qualifier option, the default options do not change unless they are individually modified. You can select one or more of the following options: [NO]SYMBOLS Produces a local symbol table that allows you to refer to data items by data name and to source lines by line number. The default is NOSYMBOLS. [NO]TRACEBACK Produces traceback information only to provide the debugger with compiler-generated line numbers and names. The default is TRACEBACK. ALL Provides traceback and local symbol table information. /DEBUG=ALL is the equivalent of /DEBUG or /DEBUG=(TRACEBACK,SYMBOLS). NONE Omits traceback and local symbol table information. /DEBUG=NONE is the equivalent of /NODEBUG. The default is /DEBUG=TRACEBACK.
13 /DEPENDENCY_DATA
/DEPENDENCY_DATA /NODEPENDENCY_DATA (D) Controls whether or not a compiled module entity is stored in CDD/Repository. If you have CDD/REpository installed on your system, you can use the /DEPENDENCY_DATA qualifier to store CDD/Repository relationship information in the dictionary. The information generated will correlate the VSI COBOL program with: a. The object file created by the compilation b. CDD/Repository entities specified in COPY FROM DICTIONARY statements c. CDD/Repository entities explicitly referenced in the RECORD DEPENDENCY statements The default, /NODEPENDENCY_DATA, indicates that a compiled module entity and CDD/Repository relationships will not be recorded in CDD/Repository.
14 /DIAGNOSTICS
/DIAGNOSTICS[=file-spec] /NODIAGNOSTICS (D) Creates a diagnostic file containing compiler messages and diagnostic information. The diagnostic file is reserved for use by HP. The Language-Sensitive Editor (LSE) uses the diagnostic file to display diagnostic messages and to position the cursor on the line and column where a source error exists. The default file type for a diagnostic file is DIA. The default, /NODIAGNOSTICS, suppresses the creation of a diagnostic file.
15 /DISPLAY_FORMATTED
/DISPLAY_FORMATTED /NODISPLAY_FORMATTED (D) In COBOL DISPLAY statements, supports the WITH CONVERSION syntax implicitly for numeric data fields which contain non-printing values. The compile-time qualifier /DISPLAY_FORMATTED must be explicitly present in the compilation command line to cause the conversion of non-printing numeric values to human-readable printing values when they are displayed at the user's terminal display unit. The default, /NODISPLAY_FORMATTED, retains the behaviour of not converting non-printing numeric values when displaying them to the user's terminal display.
16 /FIPS
/FIPS=74 /NOFIPS (D) Supports the Federal Information Processing Standards Publication 21--1 (FIPS-PUB 21--1), issued by the U.S. National Bureau of Standards, interpretation of file status. FIPS-PUB 21--1 specifies that a file status of 10 be returned when reporting at end conditions. The /FIPS=74 qualifier returns a file status of 10 when reporting at end conditions. The following table compares the file status values that are returned when you use or do not use the /FIPS=74 qualifier. Note that these at end file status values apply to any file organization accessed sequentially. __________________________________________________________________ FILE STATUS VALUES __________________________________________________________________ /FIPS=74 /NOFIPS __________________________________________________________________ The file has no next logical record. 10 13 An optional file was not present. 10 15 The program did not establish a valid 10 16 next record. __________________________________________________________________ The default, /NOFIPS, ensures version to version compatibility for COBOL. The /FIPS=74 and /NOFIPS qualifier only apply when you also specify /STANDARD=V3.
17 /FLAGGER
/FLAGGER[(=option,...)] /NOFLAGGER (D) Allows you to specify a FIPS level of COBOL syntax, in accordance with the Federal Information Processing Standards Publication 21-3 (FIPS-PUB 21-3) issued by the U.S. National Bureau of Standards, beyond which the compiler generates informational messages. To receive these informational messages, you must also specify /WARNINGS=ALL or /WARNINGS=INFORMATIONAL. Use the /FLAGGER qualifier when you know that your target system's compiler has a low level of FIPS syntax support. The following table shows the required functional processing modules and the optional modules supported by VSI COBOL. The table also shows the COBOL subsets that correspond to the FIPS levels of Minimum, Intermediate, and High. The levels numbers (0, 1, and 2) correspond to the levels indicated in the 1985 ANSI COBOL standard. __________________________________________________________________ RELATIONSHIP AMONG VSI COBOL MODULES, SUBSETS, AND LEVELS __________________________________________________________________ COBOL Subsets ________________________________________ Minimum Intermediate High __________________________________________________________________ Required Modules __________________________________________________________________ Nucleus 1 1 2 Sequential I-O 1 1 2 Relative I-O 0 1 2 Indexed I-O 0 1 2 Interprogram Communication 1 1 2 Sort-merge 0 1 1 Source Text Manipulation 0 1 2 __________________________________________________________________ Optional Modules __________________________________________________________________ Report Writer --, or 1 --, or 1 --, or 1 Segmentation --, 1, or 2 --, 1, or 2 --, 1, or 2 __________________________________________________________________ Table Legend: 0---Null level (the module is not included in the subset) 1---First nonnull level 2---Second nonnull level Dash---Optional __________________________________________________________________ When you use the /FLAGGER qualifier with its options, you receive informational messages for syntax in the source program as follows: a. Not within the FIPS validation level you selected b. Within the optional module you selected c. For obsolete language elements as defined by the ANSI 1985 standard for the COBOL language d. For HP extensions to the COBOL language You can select one or more of the following options: HIGH_FIPS Flags language constructs that are above the FIPS high validation level, such as HP extensions to ANSI COBOL. INTERMEDIATE_FIPS Flags language constructs that are above the FIPS intermediate validation level, such as language constructs that are within the FIPS high validation level or HP extensions to ANSI COBOL. MINIMUM_FIPS Flags language constructs that are above the FIPS minimum validation level, such as language constructs that are within the FIPS high and intermediate validation levels or HP extensions to ANSI COBOL. OBSOLETE Flags language constructs that the ANSI 1985 COBOL Standard identifies as obsolete. If a language construct is within the selected FIPS validation level or optional module and is also on the obsolete list, the compiler generates only the obsolete informational message. OPTIONAL_FIPS Flags language constructs that are within FIPS optional modules, including Report Writer and Segmentation. REPORT_WRITER A subset of OPTIONAL_FIPS that flags language constructs that are within the FIPS optional module Report Writer. SEGMENTATION A subset of OPTIONAL_FIPS that flags language constructs that are within the FIPS optional module Segmentation. SEGMENTATION_1 A subset of OPTIONAL_FIPS that flags language constructs that are above the level 1 of the FIPS optional module Segmentation. You can use any combination of qualifier options. If you specify more than one validation level, the compiler uses the lowest level. If you use the /FLAGGER qualifier without specifying a FIPS level and with another option, the compiler assumes /FLAGGER=HIGH_FIPS. You cannot specify the /FLAGGER qualifier with the /STANDARD=V3 qualifier. The default is /NOFLAGGER. For additional information about the required and optional modules for the COBOL language, refer to the American National Standard Programming Language - COBOL, ANSI X3.23-1895, ISO 1989-1985. For more information about the FIPS validation levels, see Federal Information Processing Standards Publication 21-3.
18 /FLOAT
/FLOAT=[option] Specifies the floating-point data format to be used in memory for single and double precision data items. You can use the /FLOAT qualifier at compile time to specify either VAX F_floating or IEEE S_floating formats for single precision data items or VAX D_floating or VAX G_floating or IEEE T_floating formats for double precision data items. You cannot mix VAX and IEEE formats in the same compilation unit. You can select one of the following options: D_FLOAT Specifies that the memory format for COMP-1 data is VAX F_floating and for COMP-2 data is VAX D_floating. The default is D_FLOAT on OpenVMS Alpha. Note that D_floating on Alpha and I64 is not 100% compatible with D_floating on VAX. G_FLOAT Specifies that the memory format for COMP-1 data is VAX F_floating and for COMP-2 data is VAX G_floating. Note that G_floating on I64 is not 100% compatible with G_floating on Alpha and VAX. IEEE_FLOAT Specifies that the memory format for COMP-1 data is IEEE S_floating and for COMP-2 data is IEEE T_floating. The default is IEEE_FLOAT on OpenVMS I64. The IEEE standard for binary floating-point arithmetic, ANSI/IEEE 754-1985, defines four floating-point formats in two groups, basic and extended, each group having two widths, single and double. The Alpha architecture supports the basic single and double formats. Refer to the Alpha Architecture Reference Manual for more information about using floating-point data types with the Alpha architecture. Because the Alpha and I64 architectures are IEEE-compliant, you can run existing COBOL programs containing IEEE floating-point data formats with VSI COBOL. Specifying /FLOAT without an option is equivalent to specifying /FLOAT=D_FLOAT on OpenVMS Alpha and /FLOAT=IEEE_FLOAT on OpenVMS I64.
19 /GRANULARITY
/GRANULARITY[=option ] Specifies the minimum size of a memory access. Use this qualifier if different processes sharing memory attempt to update different parts of the same aligned quadword concurrently. The option can be one of the following: o BYTE - Used if concurrent processes sharing memory may be updating different bytes within the same quadword. o LONG - Used if concurrent processes sharing memory may be updating different longwords within the same quadword. o QUAD - (default) Used for best performance if you are sure that no concurrent updates will occur within the same aligned quadword.
20 /INCLUDE
/INCLUDE=(pathname[,...]) /NOINCLUDE (D) Provides an additional level of search for non-dictionary COPY files whose names do not include a directory component. Each pathname argument can be either a logical name or a legal directory specification. The compiler first searches for copy files in the current default directory. If the file is not found, each "pathname" location is searched in the order of specification on the command line. The first file located that satisfies the COPY statement is used and the search terminates. /NOINCLUDE, which is the default, means to only search for files in the current default directory. This option applies to .LIB files or .TLB files depending on the type of COPY statement used.
21 /LIST
/LIST[=file-spec] /NOLIST Controls whether the compiler produces an output listing file. When you specify /LIST, you can control the defaults applied to the output file specification by your placement of the qualifier in the command. The listing file always contains a listing of the source program. Other portions of the listing file are optionally produced under the control of the /MACHINE_CODE, /MAP, and /CROSS_REFERENCE qualifiers. The /LIST qualifier is required when you want to use the /CROSS_REFERENCE, /COPY_LIST, /FLAGGER, /MACHINE_CODE, or /MAP qualifiers. In batch mode, /LIST, the default, causes the compiler to create an output listing file with the same file name as the input source file and with a default file type of LIS. In interactive mode, /NOLIST, the default, suppresses the creation of a listing file.
22 /MACHINE_CODE
/MACHINE_CODE /NOMACHINE_CODE (D) Controls whether the listing file contains a list of compiler generated machine code. The /MACHINE_CODE qualifier has no effect unless you also specify the /LIST qualifier. The default, /NOMACHINE_CODE, suppresses compiler generated machine code in the listing file. If you specify the /MACHINE_CODE qualifier with the /OPTIMIZE qualifier, the machine code listing may not reflect the actual code executed for a given statement nor the order of execution.
23 /MAP
/MAP[=option] /NOMAP (D) Controls whether the compiler produces the following maps in the listing file: a. data names, procedure names, file names, and their attributes b. external references such as user-called routines or Run-Time Library routines You can control the format of the data name, procedure name, and file name maps in the listing file by specifying one or both of the following options: ALPHABETICAL Produces an alphabetical list of map items /MAP=ALPHABETICAL is the equivalent of /MAP. DECLARED Produces a list of map items in the order in which they were declared If you specify /MAP=(ALPHABETICAL,DECLARED), the compiler produces both alphabetical and declared map listings. The /MAP qualifier has no effect unless you also specify the /LIST qualifier. The default, /NOMAP, suppresses the creation of maps in the listing file.
24 /MATH_INTERMEDIATE
/MATH_INTERMEDIATE[={FLOAT,CIT3,CIT4}] Specifies the intermediate data type to be used when the result of an arithmetic operation can not be represented exactly. FLOAT Selects double-precision floating-point for the intermediate data type. Intermediate values are truncated to the most significant 53 bits, providing approximately 15 decimal digits of precision. CIT3 Selects COBOL Intermediate Temporary (design 3) for the intermediate data type. Intermediate values are truncated to the most significant 18 decimal digits. CIT4 Selects COBOL Intermediate Temporary (design 4) for the intermediate data type. Intermediate values are truncated to the most significant 32 decimal digits. The default is /MATH_INTERMEDIATE=FLOAT.
25 /NAMES
/NAMES[(=option)] /NAMES=UPPER (D) Controls whether the compiler translates external names (program-id's,literal entry-names in CALL statements, external data items) to uppercase, lowercase or leaves it unchanged. AS_IS Causes VSI COBOL not to change the case of literal entry-names for CALL statements. The AS_IS option has no effect on other external datanames or program-id names. VSI COBOL does not support mixed-case of external data names or program-id names. However, specifying the AS_IS option may be useful for calling non-Cobol routines. When AS_IS is specified, external datanames and program-id's are treated as if UPPER has been specified. LOWER Causes VSI COBOL to force all external names (program-id's, literal entry-names in CALL statements, external data items) to be lowercase. UPPER Causes VSI COBOL to force all external names (program-id's, literal entry-names in CALL statements, external data items) to be uppercase. This is the default. The default is /NAMES=UPPER.
26 /NATIONALITY
/NATIONALITY[(=option)] /NATIONALITY=US (D) Controls whether national language features are selected. US The default currency sign and symbol are the Dollar sign and Japanese language support features are disabled. JAPAN The default currency sign and symbol are the Yen sign and Japanese language support features are enabled. /NODIAGNOSTICS and /NOANALYSIS_DATA are specified implicitly. The specific features enabled include: . Yen currency-sign . National character user-defined-words . National data items (PIC N) . National literal (N"") The default is /NATIONALITY=US.
27 /OBJECT
/OBJECT[=file-spec] (D) /NOOBJECT Controls whether the compiler produces an object file. By default, the compiler produces an object file with the same file name as the input file and a default file type of OBJ. However, you can define a different file name or a different file type by specifying /OBJECT=file-spec. Specify /NOOBJECT to speed up compilations during program development and when you want to check syntax.
28 /OPTIMIZE
/OPTIMIZE[=LEVEL=n] /OPTIMIZE=TUNE=option /OPTIMIZE=LEVEL=4 (D) /OPTIMIZE=TUNE=GENERIC (D) /NOOPTIMIZE Controls how the compiler produces optimized code. The default is /OPTIMIZE, which is the same as /OPTIMIZE=(LEVEL=4, TUNE=GENERIC). For a debugging session, use the negative form (/NOOPTIMIZE or /OPTIMIZE=LEVEL=0) to ensure that the debugger has sufficient information to locate errors in the source program. In most cases, using /OPTIMIZE will make the program execute faster. As a side effect of getting the fastest execution speeds, using /OPTIMIZE can produce larger object modules and longer compile times than /NOOPTIMIZE. LEVEL=n You can select one of the following levels: 0 Has the same effect as /NOOPTIMIZE. All optimizations are turned off. 1 Has some optimizations (such as instruction scheduling). 2 Adds more optimizations (such as loop unrolling and split lifetime analysis) to those in level 1. 3 Adds more optimizations (such as decimal shadowing) to those in level 2. All optimizations are turned on. 4 Is identical to level 3. /OPTIMIZE=LEVEL=4 is the equivalent of /OPTIMIZE or not specifying /OPTIMIZE. Specify /NOOPTIMIZE if you specify /DEBUG when compiling a program. /NOOPTIMIZE expedites and simplifies your debugging session by putting the machine code in the same order as the lines in the source program. Optimizations can cause unexpected and confusing behavior in a debugging session. For more information about debugging your program with the /NOOPTIMIZE qualifier, see the COBOL User Manual. Specify /NOOPTIMIZE if you specify /MACHINE_CODE when compiling a program to ensure that the machine code listing reflects the actual code executed for a given statement as well as the order of execution. The /NOOPTIMIZE qualifier is also useful in conjunction with /CHECK, as optimization can make checking more difficult. Specifying /OPTIMIZE, the default, usually makes programs run faster. However, using /OPTIMIZE produces extra instructions to perform the optimization, which may result in larger object modules and longer compile times than the /NOOPTIMIZE qualifier. To speed compilations during program development, you may want to compile with the /NOOBJECT qualifier when you want to check syntax, with /NOOPTIMIZE when you check for correct execution, and later with /OPTIMIZE for your final check. For more information about optimizing your program with the /OPTIMIZE qualifier, see the COBOL User Manual. TUNE=keyword Specifies the kind of optimized code to be generated. The keyword can be any of the following: Keyword Meaning ------- ------- GENERIC Generates and schedules code that will execute well for both generations of Alpha processors. This provides generally efficient code for those cases where both processor generations are likely to be used. HOST Generates and schedules code optimized for the processor generation in use on the system being used for compilation. EV4 Generates and schedules code optimized for the 21064, 21064A, 21066, and 21068 implementations of the Alpha chip. EV5 Generates and schedules code optimized for the 21164 implementation of the Alpha chip. This processor generation is faster than EV4. EV56 Generates code for some 21164 chip implementations that use the byte and word manipulation instruction extensions of the Alpha architecture. Running programs compiled with the EV56 keyword may incur emulation overhead on EV4 and EV5 processors, but will still run correctly on OpenVMS Alpha V7.1 (or later) systems. EV6 Generates and schedules code for the 21264 chip implementation that uses the following extensions to the base Alpha instruction set: BWX (Byte/Word manipulation) and MAX (Multimedia) instructions, square root and FIX (Floating-point convert) instructions. Running programs compiled with the EV6 keyword may incur emulation overhead on EV4, EV5, EV56, and PCA56 processors, but will still run correctly on OpenVMS Alpha V7.1 (or later) systems. EV67,EV68 Generates and schedules code for the 21264A chip implementation that uses the following extensions to the base Alpha instruction set: BWX (Byte/Word manipulation) and MAX (Multimedia) instructions, square root and FIX (Floating-point convert) instructions, and CIX (Count) instructions. Running programs compiled with the EV67 or EV68 keywords may incur emulation overhead on EV4, EV5, EV56, EV6, and PCA56 processors, but will still run correctly on OpenVMS Alpha V7.1 (or later) systems. PCA56 Generates code for the 21164PC chip implementation that uses the byte and word manipulation instruction extensions and multimedia instruction extensions of the Alpha architecture. Running programs compiled with the PCA56 keyword may incur emulation overhead on EV4, EV5, and EV56 processors, but will still run correctly on OpenVMS Alpha V7.1 (or later) systems. /OPTIMIZE=TUNE is currently ignored on OpenVMS I64.
29 /RESERVED_WORDS
/RESERVED_WORDS[=(option[,...])] /RESERVED_WORDS=XOPEN (D) Controls whether the compiler recognizes certain COBOL words as reserved words. You can select the following option: [NO]XOPEN Controls whether or not the compiler recognizes reserved words defined by the COBOL X/Open Portability Guide. Use /RESERVED_WORDS=NOXOPEN if your program uses one or more of the X/Open reserved words as an identifier. The default is /RESERVED_WORDS=XOPEN. The X/Open reserved words are as follows: AUTO FULL BACKGROUND-COLOR HIGHLIGHT BELL LOWLIGHT BLINK REQUIRED EOL RETURN-CODE EOS REVERSE-VIDEO ERASE SCREEN FOREGROUND-COLOR SECURE UNDERLINE [NO]FOREIGN_EXTENSIONS Controls whether or not the compiler recognizes reserved words used by foreign extensions (language constructs that are not part of HP COBOL). Use /RESERVED_WORDS=FOREIGN_EXTENSIONS if you want the compiler to output specific diagnostics of foreign extensions to assist you in porting to VSI COBOL from other COBOL dialects. Do not use this option if your program uses any of the foreign_extensions reserved words as user-defined words. The reserved words that are recognized for foreign_extensions are: ADDRESS OTHERWISE CHANGED PASSWORD CORE-INDEX POSITIONING DBCS RECORDING DISP RECORD-OVERFLOW DISPLAY-1 RELOAD EJECT REMARKS ENTRY REORG-CRITERIA EXAMINE RETURNING EXHIBIT SERVICE GOBACK SKIP1 ID SKIP2 KANJI SKIP3 NAMED TRACE NOTE TRANSFORM [NO]200X Controls whether or not the compiler recognizes selected reserved words defined by the ANSI-200x draft standard. Use /RESERVED_WORDS=NO200X if your program uses one or more of these reserved words as an identifier. The default is /RESERVED_WORDS=NO200X. The selected ANSI-200x draft standard reserved words are as follows: BINARY-CHAR FLOAT-LONG BINARY-DOUBLE FLOAT-SHORT BINARY-LONG OPTIONS BINARY-SHORT SIGNED COL SYMBOL FLOAT-EXTENDED UNSIGNED
30 /SEPARATE_COMPILATION
/SEPARATE_COMPILATION /NOSEPARATE_COMPILATION (D) Specifies that a source file that contains multiple separately-compiled programs (SCPs) should be compiled into an object file that consists of a concatenation of modules, each containing a single procedure. This object may be inserted into an object library from which the linker can extract the procedures that are specifically needed. The default, /NOSEPARATE_COMPILATION, specifies that such a program should be compiled as a single unit, producing an object file that consists of one module with multiple embedded procedures. If this object is inserted into an object library and any part of a module must be loaded, the linker must extract the entire object.
31 /SEQUENCE_CHECK
/SEQUENCE_CHECK /NOSEQUENCE_CHECK (D) Controls whether the compiler produces a sequence check on the line numbers in columns 1 through 6 of the source program. Source programs written in terminal format always pass the sequence check. The default, /NOSEQUENCE_CHECK, suppresses sequence checking.
32 /STANDARD
/STANDARD[(=option,...)] /STANDARD=85 (D) Controls whether the compiler generates code according to either the ANSI 1974 or 1985 COBOL standard and produces informational messages associated with specific language features. To receive these informational messages, you must also specify /WARNINGS=ALL or /WARNINGS=INFORMATIONAL. You can select one or more of the following options: 85 Produces code according to the 1985 ANSI standard for certain constructs. The default is /STANDARD=85. [NO]V3 Produces code in the manner of version 3.4 of VAX COBOL in specific instances, and issues informational messages for language constructs that would cause different run-time results if /STANDARD=85 had been specified. The default is NOV3. [NO]SYNTAX Produces informational diagnostics on language features that point out HP extensions to the ANSI 1985 COBOL Standard. The default is NOSYNTAX. [NO]XOPEN Produces code for the ASSIGN clause and default file-sharing behavior in the manner of the X/Open CAE specification for the COBOL language. The default is NOXOPEN. [NO]MIA Issue informational diagnostics for the language elements which do not conform to the MIA (Multivendor Integration Architecture). The default is NOMIA. VSI COBOL is based on the ANSI 1985 COBOL standard. As such, VSI COBOL provides full support for the /STANDARD=85 qualifier option as well as support for some features of the /STANDARD=V3 qualifier option that were available with VAX COBOL Version 4.0 and higher. For information about the HP COBOL for OpenVMS VAX implementation of the /STANDARD=V3 qualifier option, see the COBOL User Manual. When you specify /STANDARD=V3 in the following specific instances, VSI COBOL exhibits behavior that is consistent with the ANSI 1985 COBOL standard: . When evaluating subscripts in STRING, UNSTRING, INSPECT (Format 3), and the REMAINDER phrase of the DIVIDE statement. . When evaluating reference modification in STRING, UNSTRING, and INSPECT (Format 3) statements. . When evaluating the order of identifiers in some PERFORM (Format 4) statements. . When interpreting PIC P items in some move and comparison operations. . When determining the size of variable-length tables in some MOVE statements. When you specify /STANDARD=V3 in the following four specific instances, VSI COBOL exhibits behavior that is identical to the VAX COBOL Version 4.0 and higher behavior, when specifying /STANDARD=V3: a. EXIT PROGRAM statement in a main program If you specify /STANDARD=V3, the compiler treats an EXIT PROGRAM statement as a return in both main programs and subprograms. Specify /STANDARD=85 to bypass an EXIT PROGRAM statement in the body of a main program and execute the statements following the EXIT PROGRAM statement. If the program is a subprogram, the EXIT PROGRAM statement acts as a return to the program that called the subprogram. b. I-O file status values If you specify /STANDARD=V3, you receive the file status values listed in the left-hand column, labeled V3. If you specify /STANDARD=85, you receive the file status values listed in the right-hand column, labeled 85. The following table explains the I-O error conditions and lists the corresponding file status values for the /STANDARD qualifier using the V3 and 85 options. __________________________________________________________________ I-O File Status Values for the /STANDARD Qualifier __________________________________________________________________ I-O Error Condition Status Value ________________________ V3 85 __________________________________________________________________ READ successful -- detected alternate duplicate key. 00 02 READ successful -- record shorter than fixed file attribute. 00 04 CLOSE reel/unit attempted on nonreel/unit device. 00 07 READ fails -- relative key digits exceed relative key. 00 14 WRITE fails -- relative key digits exceed relative key. 00 24 OPEN I-O on file that is not mass storage. 00 37 WRITE fails -- attempt to write a record of a different size than in the file description. 00 44 READ fails -- no next logical record (EOF detected). 13 10 READ fails -- no next logical record (EOF on OPTIONAL file). 15 10 READ fails -- no valid next record (already at EOF). 16 10 READ NEXT or sequential READ -- no valid next record pointer. 16 46 READ or START fails -- optional input file not present. 25 23 READ successful -- record longer than fixed file attribute. 30 04 OPEN on relative or indexed file that is not mass storage. 30 37 REWRITE fails -- attempt to rewrite record of different size. 30 44 CLOSE fails -- file not currently open. 94 42 DELETE or REWRITE fails -- previous I-O not successful READ. 93 43 OPEN fails -- file previously closed with LOCK. 94 38 OPEN fails -- file created with different organization. 94 39 OPEN fails -- file created with different prime record key. 94 39 OPEN fails -- file created with different alternate record keys. 94 39 OPEN fails -- file currently open. 94 41 READ or START fails -- file not opened INPUT or I-O. 94 47 WRITE fails -- file not opened OUTPUT, EXTEND, or I-O. 94 48 DELETE or REWRITE fails -- file not opened I-O. 94 49 OPEN INPUT on a nonoptional file -- file not found. 97 35 __________________________________________________________________ c. No Valid Next Record condition If all of the following conditions exist: . The no valid next record (NVNR) condition exists. . Your program attempts a sequential READ statement. . Your program includes an AT END branch associated with the READ statement. And if you specify /STANDARD=V3, the following occurs: 1. The file status variable, if any, for the file is set to 16. 2. The statements associated with the AT END statement are executed. 3. The program continues to execute normally. If you specify /STANDARD=85, the following occurs: 1. The file status variable, if any, for the file is set to 46. 2. The statements associated with the AT END statement are not executed. 3. The program terminates execution abnormally (unless you have provided for this situation with a Declaratives USE AFTER STANDARD EXCEPTION procedure). d. Opening nonoptional files in OPEN I-O and EXTEND modes If you specify /STANDARD=V3, the compiler creates nonoptional files opened in I-O or EXTEND mode, if the file is unavailable. If you specify /STANDARD=85, the compiler does not create nonoptional files opened in I-O or EXTEND mode if the file is unavailable; instead, the I/O system issues a run-time error. Specifying /STANDARD=V3 with the /FIPS=74 qualifier instructs the compiler to produce code according to the 1974 ANSI standard for certain constructs that are supported by the Federal Information Processing Standards Publication 21--1 (FIPS-PUB 21--1), issued by the U.S. National Bureau of Standards, interpretation of file status. Specifying /STANDARD=V3 with the /NOFIPS qualifier ensures version to version compatibility for COBOL. Specifying /STANDARD=SYNTAX with the /WARNINGS=ALL qualifier instructs the compiler to produce and print informational messages on language features that point out HP extensions to the ANSI 1985 COBOL Standard. Specifying /STANDARD=MIA with the /WARNINGS=ALL qualifier instructs the compiler to produce and print informational messages on language features that point out langauges element which do not conform to the MIA specifications: . HP syntax extensions from base standards (ANSI-85, JIS-88) . Two of four optional modules . All obsolete language elements of required modules in base standards . Language elements omitted from required modules in base standards due to the different implementation of the vendors . HP specific Japanese features out of MIA extension elements related to Japanese Not specifying /STANDARD or specifying /STANDARD, /NOSTANDARD, /STANDARD=(85,NOV3,NOSYNTAX,NOXOPEN,NOMIA), or /STANDARD=(NO85,NOV3,NOSYNTAX,NOXOPEN,NOMIA) is equivalent to specifying /STANDARD=85.
33 /TIE
/TIE /NOTIE (D) Generates code that allows native OpenVMS I64 images to call translated Alpha images and translated OpenVMS Alpha images to call native OpenVMS I64 images. This qualifier is supported on OpenVMS I64 systems only. Specify /TIE when you want to use native, compiled code with shared translated Alpha images, either because the code might call into a translated Alpha image or because it might be called from a translated Alpha image. If you specify /TIE, you should link the object module using the LINK command qualifier /NATIVE_ONLY. See the OpenVMS Linker Utility Manual for information about the /NATIVE_ONLY qualifier. Specifying /NOTIE, the default, indicates that your compiled code is not associated with a translated Alpha image.
34 /TRUNCATE
/TRUNCATE /NOTRUNCATE (D) Controls how the compiler stores values in COMPUTATIONAL receiving items if high-order truncation is necessary. If you specify /TRUNCATE, the compiler truncates values according to the number of decimal digits specified by the PICTURE size. Specifying /TRUNCATE increases program execution time. The default, /NOTRUNCATE, instructs the compiler to truncate values according to the hardware storage unit (word, longword, or quadword) allocated to the receiving item.
35 /VERSION
/VERSION /NOVERSION (D) Directs the compiler to print out the compiler version and platform. The compiler version is the same as in the listing file. This qualifier helps you to report what compiler you are using. When this qualifier is specified, the compiler just prints its version and exits. No other qualifiers are processed, no source file is read, and no object module is produced. The syntax for using this qualifier is: COBOL/VERSION The default is /NOVERSION.
36 /VFC
/VFC (D) /NOVFC Generates VFC record format for the following types of files: . LINAGE . REPORT WRITER . APPLY PRINT-CONTROL . WRITE ADVANCING . ORGANIZATION SEQUENTIAL with GLOBAL . ORGANIZATION SEQUENTIAL with EXTERNAL If you specify /NOVFC, these output files are generated with Stream_LF record format.
37 /WARNINGS
/WARNINGS[=(option[,...])] /NOWARNINGS Controls whether the compiler prints warning or informational messages as well as error and severe error messages. You can select one or more of the following options: [NO]INFORMATION Produces additional informational messages. The default is NOINFORMATION. [NO]OTHER Produces warning messages. The default is OTHER. ALL Provides the messages produced by the INFORMATION and OTHER options. /WARNINGS=ALL is the equivalent of /WARNINGS. NONE Omits the listing of all messages. /WARNINGS=NONE is the equivalent of /NOWARNINGS. If you specify a qualifier option, the default options do not change unless they are individually modified. The default is /WARNINGS=OTHER. Specifying /WARNINGS=ALL or /WARNINGS=INFORMATIONAL with the /STANDARD=SYNTAX qualifier option instructs the compiler to produce and print informational messages on language features that point out HP extensions to the ANSI 1985 COBOL Standard. Specify /WARNINGS=INFORMATIONAL to receive the FIPS messages about HP extensions that the compiler produces when you specify /FLAGGER[(=option,...)].