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)
FP-ROUNDING
Determines whether one floating-point receiving item can affect the
results of other, nonfloating-point receiving items.
Syntax:.
Parameters:.
dialect Must be VSC2 or OSVS.
Default:.
NOFP-ROUNDING
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
In OS/VS COBOL and VS COBOL II, if any of the sending data items of an
arithmetic statement are floating point, all receiving fields are
rounded, regardless of the presence or absence of the ROUNDED phrase and
regardless of whether or not the receiving fields are floating point.
In VS COBOL II, if any receiving data item is defined as floating point,
rounding takes place for all receiving data items regardless of the
presence or absence of the ROUNDED phrase, of whether or not the
receiving field is floating point, and of whether or not there are any
sending items which are floating point.
With NOFP-ROUNDING, no rounding takes place for fixed point targets in
calculations involving floating point operands unless the ROUNDED phrase
is explicitly used in the source.
Example:.
If two data items are defined as follows:
05 numeric-field pic 999.
05 floating-field comp-1.
and the following statement is executed:
compute numeric-field floating-field = 7.7 + 1
specifying FP-ROUNDING"VSC2" results in numeric-field containing 9
(rounded), whereas specifying NOFP-ROUNDING or FP-ROUNDING"OSVS" would
result in numeric-field containing 8 (truncated).
If, using the same two data items, the following statement is executed:
compute numeric-field = +7.6E0
specifying FP-ROUNDING"VSC2" or FP-ROUNDING"OSVS" results in
numeric-field containing 8 (rounded), whereas specifying NOFP-ROUNDING
results in numeric-field containing 7 (truncated).
GANIM
Makes the Compiler produce extra information so that you can use
Xilerator, available in an add-on product from Micro Focus.
Syntax:.
Parameters:.
None
Default:.
NOGANIM
Phase:.
Both
Environment:.
DOS, Windows and OS/2
$SET:.
No
Dependencies:.
GANIM sets ANIM and NORNIM at end. If OPT"0", GANIM sets OPT"1" at end.
Remarks:.
Xilerator is a Micro Focus product used for debugging programs at the
.exe or .gnt level.
The Compiler produces an extra file with the extension .idy which
contains information required by Xilerator. This is the same file that
is used by Animator, but GANIM causes extra information to be added to
the file which Xilerator needs. The .idy file created by this process
can also be used to animate the program with Animator.
GNT
Specifies the name of the object code file.
Syntax:.
Parameters:.
file-name A full file specification.
Default:.
GNT"source-name.gnt" (with OMF"GNT")
GNT"source-name.obj" (with OMF"OBJ")
Phase:.
Generate
Environment:.
16-bit
$SET:.
Any
Dependencies:.
OBJ and GNT are synonymous. Setting NOGNT also sets NOOBJ.
Remarks:.
With NOGNT, no object code file is produced.
Setting this directive does not imply OMF"GNT". To ensure that your .gnt
file contains .gnt format object code you must make sure that OMF"GNT" is
also specified.
GNTANLZ
This directive is reserved for use with add-on products. Do not change
its setting unless you have the appropriate add-on product.
Syntax:.
Parameters:.
count-type the type of count needed
Default:.
NOGNTANLZ
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Remarks:.
Possible values for count-type are:
COUNT Count the number of times each block of code is
executed
TICK For each block of code, set the count to one when it
is executed. This uses less memory than COUNT.
HIDEMESSAGE
HIDE-MESSAGE
Registers the number of a syntax check error message to hide so that if
the error is encountered it is ignored.
Syntax:.
Parameters:.
integer The number of the syntax check error message to hide.
Default:.
NOHIDEMESSAGE
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
HIDEMESSAGE"integer" adds integer to a list of up to 20 syntax check
error message numbers. To hide several error message numbers using this
feature, you must use the HIDEMESSAGE directive repeatedly.
When the program is being syntax checked, any message with severity E, W,
I, or flag with its number in the list is not shown in any listing. It
is not included in the error summary at the end of the compilation. All
levels of error are affected by this directive.
Messages with severity S or U are always shown, even if their number
appears in this list.
NOHIDEMESSAGE clears the list of numbers so no messages are hidden.
HOST-NUMCOMPARE
Controls the operation of comparisons between integer numeric data items
of USAGE DISPLAY and alphanumeric literals or figurative constants.
Syntax:.
Parameters:.
None
Default:.
NOHOST-NUMCOMPARE
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
If the ZWB directive is also specified, HOST-NUMCOMPARE only affects
comparisons involving unsigned numeric data items. If NOZWB is
specified, HOST-NUMCOMPARE affects comparisons involving both signed and
unsigned data items.
If HOST-NUMCOMPARE is specified, affected comparisons are treated as if
the numeric data item were redefined as an alphanumeric item of the same
length, and the comparison made against this redefinition. If
NOHOST-NUMCOMPARE is specified, the numeric field is first moved to an
elementary alphanumeric data item of the same size, and the content of
this alphanumeric item is then compared to the literal.
The HOST-NUMCOMPARE directive only affects comparisons where the numeric
data item contains non-numeric data at the time of the comparison.
See also:.
ZWB
HOST-NUMMOVE
Causes the Compiler to switch off checking for illegal characters in
numeric fields (run-time error 163) during the execution of certain MOVE
statements.
Syntax:.
Parameters:.
None
Default:.
NOHOST-NUMMOVE
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
The HOST-NUMMOVE directive is Early User Syntax support. You must use
the EARLY-RELEASE directive to enable this feature. This directive may
change or be removed in a later revision of this product.
This directive is provided to improve compatibility with IBM mainframe
compilers. However, although this directive causes the error to be
suppressed, the result of moving the invalid data is not the same as on
the mainframe.
See also:.
EARLY-RELEASE, RTS error 163
IBM-MS
Specifies that words reserved in IBM COBOL 1.00 are to be regarded as
reserved words, and changes the behavior of certain features to be
compatible with that product.
Syntax:.
Parameters:.
None
Default:.
NOIBM-MS
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
IBM-MS sets DEFAULTBYTE"0" and ACCEPTFRESH immediately.
Remarks:.
This directive is synonymous with the PC1 and MS"1" directives.
IBMCOMP
Turns on word-storage mode.
Syntax:.
Parameters:.
None
Default:.
NOIBMCOMP
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
IBMCOMP sets ALIGN"8" immediately
Remarks:.
In word-storage mode every data item of USAGE COMP or COMP-5 occupies
either two bytes or a multiple of four bytes. If you specify IBMCOMP and
you use the SYNCHRONIZED clause on any items defined as USAGE COMP or
COMP-5 in your program, do not specify ALIGN"1".
IDXFORMAT
Specifies the format to use when creating indexed files.
Syntax:.
Parameters:.
integer Must be between 0 and 6.
Default:.
IDXFORMAT"0"
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Dependencies:.
Set to IDXFORMAT"integer" immediately by FILETYPE"integer"
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).
Existing files in any of the given formats are processed correctly
without the need for this directive. This directive controls the format
used when creating new files.
Specifying 3 always causes the format used by this system to be created.
But if you specify 0, and you are using your program with a file handler
from a different system, the default for that system is created.
Specifying 4 might make the files larger than their IDXFORMAT"3"
equivalents.
Micro Focus Level II format files are compatible with Micro Focus
products such as Level II COBOL, Professional COBOL v.1.2, and VS COBOL
Workbench versions up to and including v.1.3.
You must not use the ANS85 directive to enable ANSI'85 behavior when
using IDXFORMAT"2". However, you can use ANS85"SYNTAX" to enable ANSI'85
syntax.
INCLUDE-FILLER
Causes information regarding FILLER data items to be stored in the .idy
file.
Syntax:.
Parameters:.
None
Default:.
NOINCLUDE-FILLER
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
INCLUDE-FILLER makes FILLER data items visible to tools in add-on
products from Micro Focus. Including these data items increases the size
of the .idy file.
INFORETURN
Specifies the return-code value returned by the Compiler when it produces
only informational messages.
Syntax:.
Parameters:.
integer Must be between 0 and 4.
Default:.
INFORETURN"0"
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
When the Compiler terminates it returns a value that can be tested by an
operating system command to determine the success or otherwise of the
compilation. The values for termination are described in your COBOL
System Reference. This directive allows you to set the value to be
returned if the Compiler only outputs informational messages.
INITCALL
Specifies modules to be called immediately before the first statement of
the program is executed.
Syntax:.
Parameters:.
module The module to be called.
priority The priority to assign to the execution of the
module.
Default:.
NOINITCALL
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Remarks:.
The possible values of priority are:
H High priority (the default if no priority is specified)
L Low priority
Specifying INITCALL causes the Compiler to insert a call to the named
module. At run time, the module specified is called before any
procedural code is executed. You cannot pass parameters to the called
module.
To call several modules using this feature, you must use the INITCALL
directive repeatedly. NOINITCALL clears the list of modules to be
called.
Calls specified with a high priority are placed before all calls with a
low priority, as well as other calls made by the Compiler. Low priority
calls are placed after other calls made by the Compiler. Calls with the
same priority are executed in the order they are specified.
INT
Specifies the name of the intermediate code file.
Syntax:.
Parameters:.
file-name A full file specification.
Default:.
INT"source-name.int"
Phase:.
Syntax check
Environment:.
All
$SET:.
No
Dependencies:.
NOINT sets NOANIM and NOSTRUCT immediately
Remarks:.
This directive is reserved for use with add-on products supplied by Micro
Focus. Do not change its setting unless you have an appropriate add-on
product.
When no .obj file is required from the Compiler, or when the ANIM
directive is used, an intermediate code file is produced. This directive
specifies the name for that file.
If you specify an existing file, it is overwritten. If no file-name is
specified, the Compiler uses the source file-name with the extension
.int.
NOINT prevents the intermediate code file being produced.
INT() causes intermediate code to be put in the standard file
source-name.int. With this format you must use parentheses not quotation
marks; that is, INT " " does not give this result.
Use the INT directive with caution. Incorrect use can abort the
compilation process.
INTLEVEL
When intermediate code is being created by the Compiler, this directive
controls the level of portability of the code created to different
versions of Micro Focus products in other environments.
Syntax:.
Parameters:.
integer Specifies the level of portability. Can be 1 or 2.
Default:.
INTLEVEL"2"
Phase:.
Syntax check
Environment:.
All
$SET:.
No
Remarks:.
This directive is reserved for use with add-on products supplied by Micro
Focus. Do not change its setting unless you have the add-on products.
Full details of intermediate code portability are included with the
relevant Micro Focus add-on products.
NOINTLEVEL causes intermediate code to be created that is suitable for
execution only in this environment.
INTLEVEL"integer" creates intermediate code that can be executed by some
versions of Micro Focus products in other environments. For portability
between environments, the value of integer used for compilation must be
supported by the Micro Focus product on each environment on which you
wish to execute the intermediate code.
INTLEVEL"integer" can limit the syntax that can be used in your program.
IOCONV
Causes a straight group move for READ...INTO and WRITE...FROM operations.
Normally, the ANSI behavior is to convert elementary record descriptions
when required. It is provided for backwards compatibility.
Syntax:.
Default:.
IOCONV
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
JAPANESE
Enables the use of Micro Focus Japanese Language Extension (PIC N,
Japanese data-names and Japanese procedure-names).
Syntax:.
Parameters:.
integer Must be 1 or 2. The level of support required.
Default:.
NOJAPANESE
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Remarks:.
The possible values of integer are:
1 Compatibility with previous versions of Nihongo Micro Focus
products
2 Enhanced PIC N support. This setting enables the DBSPACE
directive.
Specifying JAPANESE with no parameter is the same as specifying
JAPANESE"2".
This directive is provided for compatibility purposes only. It has been
replaced by the NCHAR directive. JAPANESE and NCHAR are synonymous. The
JAPANESE and DBCS directives are mutually exclusive.
See also:.
DBCS, DBSPACE, NCHAR
KEYCOMPRESS
Specifies the type of key compression to be done on indexed files.
Syntax:.
Parameters:.
integer Must be between 1 and 7.
Default:.
NOKEYCOMPRESS
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
The possible values of integer are:
1 Suppress repetitions of duplicate keys.
2 Suppress leading characters that are the same as in the previous
key.
4 Suppress trailing spaces.
You can specify any combination of these numbers by adding these values
together.
You need specify key compression only when creating the file.
Subsequently, the key compression is detected when the file is opened.
To get key 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 relevant KEY clause in the file's SELECT statement.
MPE/iX 5.0 Documentation