Descriptions of Directives (cont.) [ Micro Focus COBOL System Reference, Volume 2 ] MPE/iX 5.0 Documentation
Micro Focus COBOL System Reference, Volume 2
Descriptions of Directives (cont.)
ERRQ
Makes the Compiler ask, each time it gives an error message, whether you
want to stop compiling.
Syntax:.
Parameters:.
None
Default:.
NOERRQ
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
EXPANDDATA
Makes the Compiler store the program data in uncompressed form.
Syntax:.
Parameters:.
None
Default:.
NOEXPANDDATA
Phase:.
Generate
Environment:.
16-bit
$SET:.
Initial
Remarks:.
This directive only affects .obj files.
Normally the COBOL system stores the program data in compressed form,
then expands the data when the program is loaded. Specifying EXPANDDATA
when compiling to an .obj file causes the data to be stored in its
expanded form.
This saves a small amount of time at initial program entry, and on DOS it
gives a smaller .exe file because information to guide the expansion can
be omitted; DOS always allocates the space for the expanded form in any
case. On OS/2 it gives a slightly bigger .exe file.
When data is stored in this way, it is only initialized once, when the
program is physically loaded. Hence the IS INITIAL phrase in the
PROGRAM-ID paragraph does not work. Also, a program which is canceled
and called again is only reinitialized if it is a separate module, such
that this cancel/call cycle causes a physical reload from disk. The
directive is ignored when compiling to a .gnt file.
EXTINDEX
Specifies that index-names defined within a table in an EXTERNAL record
are to be treated as EXTERNAL.
This directive is provided for compatibility with earlier releases of
this COBOL system. It should not be used with new programs, and existing
programs should be recoded to make the use of this directive unecessary.
It will be removed in a future release.
Syntax:.
Parameters:.
None
Default:.
NOEXTINDEX
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Remarks:.
With EXTINDEX, behavior is as in earlier versions of this Compiler. With
NOEXTINDEX, such items are not regarded as EXTERNAL, thus conforming to
the ANSI'85 standard.
FASTLINK
Tells the Compiler that the parameters in the USING clauses of the
Procedure Division statement and each ENTRY statement conform to certain
restrictions. This enables it to produce faster code.
Syntax:.
Parameters:.
None
Default:.
NOFASTLINK
Phase:.
Generate
Environment:.
16-bit
$SET:.
Initial
Dependencies:.
If OMF"GNT", FASTLINK sets OMF"OBJ" at end. If ASSUME is set, set to
NOFASTLINK at end by REGPARM"IN".
Remarks:.
This directive only affects .obj files.
The restrictions are:
* The first parameter in every USING clause is the first item in the
Linkage Section.
* The parameters must appear in the same order they appear in the
Linkage Section.
* Any Linkage Section items that do not appear in the clause are
defined after those that do.
* No BY VALUE parameters are used.
* Only allowed with OMF"OBJ"
FASTSORT
This directive is reserved for internal use by the system. Because it
might appear in the list of settings, it is included for completeness.
It is not intended for users' applications, and its setting should not be
changed.
Syntax:.
Parameters:.
None
Default:.
FASTSORT
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
FCDREG
Makes the Compiler define special-registers giving access to File Control
Descriptions (FCD) and Key Definition Blocks.
Syntax:.
Parameters:.
None
Default:.
NOFCDREG
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Remarks:.
This directive is reserved for use with add-on products from Micro Focus.
Do not change its setting unless you have an appropriate add-on product.
FCDREG causes a special register, FH--FCD, to be created for each File
Definition (FD) in the program. This register points to the File Control
Description (FCD) for the file. Thus the program can read or amend
information in the FCD.
For each indexed file, an additional special register, FH--KEYDEF, is
created. This register points to the Key Definitions Block for the file.
The layout of the FCD and the Key Definitions Block is given in the
documentation for the appropriate add-on product.
FILESHARE
Causes the default locking to become AUTOMATIC rather than EXCLUSIVE for
files in a multi-user environment, and automatically locks records on a
WRITE or REWRITE statement when the program is locking multiple records.
This directive is not related in any way to Fileshare Version 2,
available from Micro Focus in an add-on product. You must not use this
directive when using Fileshare V2.
Syntax:.
Parameters:.
None
Default:.
NOFILESHARE
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Remarks:.
This directive is included for compatibility with earlier file-sharing
products. When writing new programs you should use the locking syntax
rather than this directive.
FILESHARE is equivalent to WRITELOCK and AUTOLOCK together. NOFILESHARE
is equivalent to NOAUTOLOCK and NOWRITELOCK together.
If the states of AUTOLOCK and WRITELOCK are different, the FILESHARE
directive does not appear in the SETTING list.
FILETYPE
Specifies the file format to use when creating files.
Syntax:.
Parameters:.
integer Must be between 0 and 6.
Default:.
FILETYPE"0"
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Dependencies:.
FILETYPE"integer" sets IDXFORMAT"integer" immediately
Remarks:.
The possible values of integer are:
0 System specific default (for this COBOL system, same as 3).
1 C-ISAM format.
2 Micro Focus Level II format.
3 The format used by this COBOL system.
4 An optimized form of the format used by this system, for fast
duplicate key handling.
5 Btrieve format (with ANSI conformance emulation).
6 Btrieve format (without ANSI conformance emulation).
7 Reserved.
8 Reserved.
9 Reserved.
10 Mainframe print file format.
11 - Reserved.
255
Types 5 and 6 are available only in DOS, Windows and OS/2 environments.
Types 7 and above are Early User Syntax. You must set the EARLY-RELEASE
directive to enable these features.
FIXING
Tells the Compiler how many times to perform its final pass which
shortens jump instructions.
Syntax:.
Parameters:.
integer Must be between 1 and 99.
Default:.
FIXING"99"
Phase:.
Generate
Environment:.
16-bit
$SET:.
Any
Remarks:.
The Compiler tries to convert 80x86 jump instructions into their shorter
form if possible; this gives smaller object code. Shortening some jump
instructions might result in other jumps becoming eligible to be
shortened and so further fixing passes may result in further size
reduction.
The Compiler does this very quickly, so there should be no need to change
this directive. It is maintained only for compatibility with earlier
versions of the Compiler.
FLAG
Makes the Compiler produce language-level certification flags when it
finds syntax that is not part of a specified dialect of COBOL.
Syntax:.
Parameters:.
dialect A literal identifying the dialect.
Default:.
NOFLAG
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
The possible values of dialect are:
MF Micro Focus
ANS74 ANSI COBOL standard X3.23, 1974
ANS85 ANSI COBOL standard X3.23, 1985
SAA Full implementation of IBM's System Application
Architecture definition of COBOL
VSC2 IBM VS COBOL II
OSVS IBM OS/VS COBOL
DOSVS IBM DOS/VS COBOL
COBOL370 IBM COBOL/370
To create a program which is fully ANSI'85 conforming, use:
ANS85 FLAG"ANS85"
and correct anything that causes a flagging message to be produced. For
VSC2, the flagging given depends on the version of VSC2 selected by the
VSC2 directive. You cannot use DG, RM or MS as a level in the FLAG
directive.
FLAGAS
Makes the Compiler output flagging messages as error messages, warning
messages or informational messages.
Syntax:.
Parameters:.
severity A literal showing the severity to assign to flag
messages.
Default:.
NOFLAGAS
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
The possible values of severity are:
S Severe error
E Error
W Warning
I Informational
FLAGCD
When used in conjunction with the FLAG directive, FLAGCD flags any
directive settings that would cause incompatibility with the specified
dialect of COBOL.
Syntax:.
Parameters:.
severity A literal showing the severity to assign to flag
messages arising from conflicting directives.
Default:.
NOFLAGCD
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
The possible values of severity are:
S Severe error
E Error
W Warning
I Informational
If FLAGCD is specified with no parameters, the messages are assigned the
severity given by the FLAGAS directive, if specified; if FLAGAS is not
specified, they are produced as flagging messages.
FLAGMIG
Causes the Compiler to flag any syntax that behaves differently in OSVS
and VSC2.
Syntax:.
Parameters:.
None
Default:.
NOFLAGMIG
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
FLAGQ
Makes the Compiler ask, each time it gives a flagging message, whether
you want to stop compiling.
Syntax:.
Parameters:.
None
Default:.
NOFLAGQ
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
FLAGSINEDIT
Specifies whether flagging messages are to be included in an error file.
Syntax:.
Parameters:.
None
Default:.
FLAGSINEDIT
Phase:.
Both
Environment:.
All
$SET:.
No
Remarks:.
This directive has no effect if NOEDITOR is specified. If EDITOR and
FLAGSINEDIT are specified, the error file produced contains all flagging
messages produced by the Compiler.
See also:.
EDITOR
FLAGSTD
Makes the Compiler produce language-level certification flags when it
finds syntax that is not part of a specified level of the ANSI'85
Standard.
Syntax:.
Parameters:.
string List of language levels
Default:.
NOFLAGSTD
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Remarks:.
string contains a list of parameters, each defining a language level or
optional module of the ANSI Standard. A feature is not flagged if it is
in one of the specified levels or below, or in one of the specified
optional modules. A feature is flagged if it is an extension, in a
higher level of the Standard, or in an optional module not specified. In
addition, it is possible to flag elements identified as OBSOLETE by the
ANSI Standard.
string can contain any of the following parameters:
M ANSI'85 defined Minimum COBOL subset
I ANSI'85 defined Intermediate COBOL subset
H ANSI'85 defined High COBOL subset
C1 Communications optional module level 1
C2 Communications optional module level 2
D1 Debug optional module level 1
D2 Debug optional module level 2
S1 Segmentation optional module level 1
S2 Segmentation optional module level 2
R Report writer optional module
O Obsolete language elements
They can appear in any order but must be separated by at least one space.
The following combination of parameters can be specified:
* You must choose one of the following:
M, I, H
* You can choose as many of the following as desired:
C1 or C2, D1 or D2, S1 or S2, R
* You can also choose the following:
O
FLAG and FLAGSTD provide similar functionality and thus only one can be
used.
The ANS85 directive must be on.
FLAG-CHIP
Makes the Compiler produce flags indicating potential problem areas on
the chip architecture in use.
Syntax:.
Parameters:.
None
Default:.
NOFLAG-CHIP
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
Causes the Compiler to generate special flagging errors for potential
problem areas for the chip architecture given by the CHIP directive. It
has no effect if NOCHIP is set. See the chapter Writing Programs in your
COBOL User Guide for more details.
FOLDCOPYNAME
Determines whether COPY-file names should be converted to upper case or
lower case.
Syntax:.
Parameters:.
case "UPPER" or "LOWER".
Default:.
NOFOLDCOPYNAME
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
Specifying FOLDCOPYNAME"UPPER" converts COPY-file names to upper case
(also known as folding to upper case).
FORM
Specifies the number of lines on each page of the listing.
Syntax:.
Parameters:.
integer Must be greater than 3.
Default:.
FORM"60"
Phase:.
Both
Environment:.
All (syntax check), 16-bit (generate)
$SET:.
Any
Dependencies:.
Set to NOFORM at end by NOLIST or MASM. Set to FORM"60" immediately by
LIST.
Remarks:.
With FORM"integer", a form-feed character is always produced at the head
of the listing file. With NOFORM, no form-feed characters or page
headings are produced anywhere in the listing.
MPE/iX 5.0 Documentation