
The Micro Focus compiler options are listed here alphabetically, you may browse them, click on the link to go directly to the error code or you may use the search feature of your browser to search for the information.
Specifies the type of data compression to be done on sequential and indexed files.
Parameters:
Properties:
Default: NODATACOMPRESS
Phase: Syntax check
Environment: All
$SET: AnyRemarks: The only value that can be specified for data compression supported by this system is 1. Values in the range 128 through 255 indicate user-defined compression routines.
You need to specify data compression only when creating the file. Subsequently, the data compression is detected when the file is opened.
To get data compression on an individual file, use $SET statements in your source so that this directive is in effect only for the part of the source containing the file's SELECT statement.
Data compression is supported only by the Callable File Handler, ExtFH. All indexed files are processed by ExtFH. However, if you want to use data compression with sequential files, every program referencing those files must be compiled with the directive CALLFH"EXTFH".
See also:
CALLFH Compiler directive
- DATALIT
Makes the Compiler put literals in the DATA segment of the program rather than the CODE segment.
Properties:
Default: DATALIT
Phase: Generate
Environment: 16-bit
$SET: Initial
Dependencies: Set to NODATALIT at end by OPT"0".
Remarks: For segmented programs, specifying NODATALIT gives the advantage of being able to have literals in the CODE segment so that they can then be swapped out with the code that references them. There is generally no advantage in specifying NODATALIT for a nonsegmented program. However, if you are running generated code (.gnt files) under DOS, specifying NODATALIT lets you discard any unreferenced code segment.
Puts the date in the DATE-COMPILED paragraph and at the top of each page of the listing.
Parameters:
string An alphanumeric literal.
Properties:
Default: DATE
Phase: Syntax check
Environment: All
$SET: No
Remarks: The date and time, available from operating system, are automatically inserted when you specify DATE. You can, however, enter the date yourself as the parameter. With NODATE, the paragraph is left unaltered.
With DATE, the system date or the string you enter appears at the top of each page of the listing. With NODATE, spaces are used instead.
Makes the Compiler check that any Double-Byte Character Set (DBCS) literals only contain valid 16-bit DBCS characters.
Properties:
Default: NODBCHECK
Phase: Syntax check
Environment: All
$SET: Initial
Remarks: If you specify DBCHECK in environments that support validation of DBCS data, any literal that does not contain only valid 16-bit DBCS characters results in syntax error 1048 (DBCS literal includes invalid data).
Makes the Compiler accept characters of the Double Byte Character Set (DBCS) for use in ideographic languages such as Japanese, Chinese and Korean.
Parameters:
integer Must be 1, 2 or 3. Indicates which compatibility required.
Properties:
Default: NODBCS
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies:
Set to DBCS"2" immediately by SAA, VSC2"2", VSC2"3" or MF"7".
Set to DBCS"3" immediately by COBOL370 or MF"(integer)" where (integer) >
7.
Remarks: The possible values of (integer) are:
Defines the two characters used as the shift-out and shift-in delimiters in DBCS literals.
Parameters:
Properties:
Default: NODBCSSOSI
Phase: Syntax check
Environment: All
$SET: Any
Remarks: When shift-out and shift-in characters are specified by this directive, every DBCS literal must have the shift-out character immediately after the opening quotation mark and the shift-in character immediately before the closing quotation mark.
They act as additional delimiters to the literal, and are not part of its value. With NODBCSSOSI, no shift-out and shift-in characters are needed or recognized.
Makes the Compiler interpret the figurative constant SPACE, when used as a DBCS figurative constant, as the double-byte space character supplied by the system.
Properties:
Default: NODBSPACE
Phase: Syntax check
Environment: All
$SET: Any
Dependencies:
Set to DBSPACE immediately by COBOL370, NCHAR"2", SAA, VSC2"2" or VSC2"3".
Set to DBSPACE immediately by MF"(integer)" where (integer) > 7
Remarks: With DBSPACE, the Compiler uses the system supplied double-byte space character. NODBSPACE provides compatibility with previous versions of this Compiler, where the double-byte space character was two ASCII space characters (x"2020").
Specifies the behavior of de-editing moves from numeric-edited items to other numeric-edited items or to numeric items.
Parameters:
integer Must be 1 or 2. Indicates which compatibility required.
Properties:
Default: DE-EDIT"2"
Phase: Syntax check
Environment: All
$SET: Any
Remarks: The possible values of (integer) are:
Example:
With DE-EDIT"1", B contains 30456. With DE-EDIT"2", B contains 00034; the 0 after the 3 is dropped because it corresponds to the insertion character 0 in the picture-string of A, and the .56 is dropped because B has no decimal places.
Initializes each otherwise undefined byte of the Data Division to the character given.
Parameters:
integer ASCII code of the character, in decimal.
Properties:
Default: DEFAULTBYTE"32"
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies:
Set to DEFAULTBYTE"32" immediately by CHARSET"ASCII".
Set to DEFAULTBYTE"0" immediately by CHARSET"EBCDIC", MS, IBM-MS or PC1.
Specifies the default calling convention.
Parameters:
integer Default CALL convention
Properties:
Default: NODEFAULTCALLS
Phase: Syntax check
Environment: All
$SET: Any
Remarks: DEFAULTCALLS without the optional parameter specifies that the calling convention specified in the PROCEDURE DIVISION USING statement is to be used as the default calling convention.
DEFAULTCALLS"(integer)" specifies that the calling convention indicated by "(integer)" is to be used as the default calling convention.
NODEFAULTCALLS is equivalent to DEFAULTCALLS"0".
Individual CALL statements can override these defaults (see your Language Reference). See your COBOL User Guide for a list of available calling conventions.
Makes the Compiler produce a module definition file (.def file), for use by the linker when creating an .exe file or a .dll file from the .obj created by this compilation.
Parameters:
file-name A full file specification.
Properties:
Default: NODEFFILE
Phase: Generate
Environment: 16-bit on Windows and OS/2
$SET: Any
Dependencies: If OMF"GNT", DEFFILE sets OMF"OBJ" at end.
Remarks: This directive only affects .obj files.
The name of this file is included on the command line to the linker.
If (file-name) is omitted, the name of the file created is (obj-name).def, where (obj-name) is the name of the object file without an extension. (file-name) can be specified as *.(ext) to set the extension but use (obj-name) as the base-name.
The module definition file created is used when linking to create an .exe file or .dll file for Windows or OS/2. The exact contents of the file is determined by the settings of the DLL and DEFFILETYPE directives. The DLL directive indicates if the module definition file is to be used to create an .exe or a .dll file; the DEFFILETYPE directive indicates if it is for Windows or OS/2.
Example:
DEFFILE"*.dfa" DEFFILETYPE"OS2" DLL
creates a file called (obj-name).dfa containing the lines:
See also:
DEFFILETYPE Compiler directive
DLL Compiler directive
Specifies the type of module definition file (.def file) to be produced when the DEFFILE directive is specified.
Parameters:
type Must be OS2 or WIN.
Properties:
Default: DEFFILETYPE"OS2"
Phase: Generate
Environment: 16-bit on Windows and OS/2
$SET: Initial
Remarks: Produces a .def file suitable for linking to create an .exe
file or a .dll file for use on the environment specified by The DLL directive indicates if the module definition file is to be used to
create an .exe or a .dll file. This directive affects only .obj files. See also: Makes READ statements detect when a record is locked by another
program. Properties: Remarks: The Compiler also accepts the name without hyphens; that is
DETECTLOCK With DETECT-LOCK, if a READ statement reads a record locked by another
program, it returns an I/O status of 9/068. With NODETECT-LOCK, it returns
0/000. In both cases it reads the record successfully. When DETECT-LOCK is specified, individual READ statements might be made to
ignore locks by using the READ ... IGNORE LOCK syntax. See your Language
Reference for details of this syntax. Changes the behavior of certain features to be compatible with Data General
Interactive COBOL rev 1.30. Properties: Remarks: See your Language Reference for details of syntax support
for Data General Interactive COBOL rev 1.30. Makes the Compiler read directives from a file. Parameters: Properties: Remarks: A directives file is a text file containing directives.
Directives are separated by a space or the end of line. A directive cannot be
broken across two lines. Comments can be included in the file by placing an ampersand (in column 1
of the comment line, followed by a space. Omitting the space results in the
comment being treated as a directive, and the syntax check on that file
fails. The directives are read from the file until the end of file is reached or
another DIRECTIVES directive is encountered. The maximum length of a line is
128 characters. You can specify more than one directives file in a program by specifying
several DIRECTIVES" The directives file is searched for in the current and COBOL system
directories. If no extension is specified, a file extension of .dir is added
before the search is made. If no file is found, the search is repeated with no
extension. See also:
OS2 OS/2
WIN Windows
DEFFILE Compiler directive
DLL Compiler directive
Default: DETECTLOCK
Phase: Syntax check
Environment: All
$SET: Initial
Default: NODG
Phase: Syntax check
Environment: All
$SET: Initial
file-name A full file specification.
Default: None
Phase: Both
Environment: All (syntax check), 16-bit (generate)
$SET: Any
USE Compiler directive
Properties:
Default: NODIRECTIVES-IN-COMMENTS
Phase: Syntax Check
Environment: All
$SET: Any
Remarks: This directive enables sources to contain directives used when compiling with the Micro Focus compiler, but ignored (as comment lines) by any other compiler, such as a mainframe compiler.
$SET can appear anywhere on a line, provided it is the first thing on the line. However, if this directive is set, the $SET statement is processed even if the line is a comment line (asterisk in column 7).
Makes the Compiler produce a module definition file suitable for creating a .dll file instead of an .exe file when you specify the DEFFILE directive.
Properties:
Default: DLL
Phase: Generate
Environment: OS/2
$SET: Initial
Remarks: This directive only affects .obj files.
Example:
DEFFILE DEFFILETYPE"WIN" NODLL
causes the Compiler to produce a module definition file of name
See also:
DEFFILE Compiler directive
DEFFILETYPE Compiler directive
Specifies that words reserved in IBM DOS/VS COBOL are to be treated as reserved words.
Properties:
Default: NODOSVS
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies: Set to NODOSVS immediately by OSVS.
See also:
OSVS Compiler directive
Specifies that CANCEL statements are not to be ignored.
Properties:
Default: DYNAM
Phase: Syntax check
Environment: All
$SET: Initial
Remarks: With NODYNAM, CANCEL statements in the program are ignored.