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)
MODEL
Specifies the memory model.
Syntax:.
Parameters:.
type SMALL, COMPACT, MEDIUM, LARGE, or HUGE.
Default:.
MODEL"HUGE" (for programs with more than 64K of data) MODEL"LARGE" (for
programs with less than 64K of data)
Phase:.
Generate
Environment:.
16-bit
$SET:.
Initial
Dependencies:.
MODEL"SMALL" and MODEL"COMPACT" set LITLINK at end
Remarks:.
This directive only affects .obj files.
The possible values of type are:
SMALL small data, small code
COMPACT small data, large code
MEDIUM large data, small code
LARGE large data, large code
HUGE large data, large code, data items might cross
segment boundaries
where small means up to 64K and large means greater than 64K.
You need to depart from the default MODEL setting only for certain cases
of interlanguage working where the other language uses a model other than
large. See the manuals of your other languages for information relating
to the correct settings to use. This directive should not be changed
when you link with the shared run-time system, COBLIB.
If you specify a model of SMALL, MEDIUM or COMPACT, then the LITLINK
directive is set automatically, requiring you to resolve all external
references to the linker.
Local-Storage Section is only supported for LARGE and HUGE models.
Dynamic calling is supported only in LARGE or HUGE model, as by its
nature dynamic calling gives large code and large data.
Programs with a Data Division less than 64K are treated as MODEL"LARGE".
When linking a program compiled with MODEL"SMALL" or MODEL"MEDIUM" for
use on OS/2, you must use the linker option /DOSSEG.
MS
Facilitates forward compatibility with Microsoft products by selectively
enabling Microsoft-specific reserved words and changing the behavior of
certain features to be compatible with particular versions.
Syntax:.
Parameters:.
version Must be 1 or 2. The version.
Default:.
NOMS
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
MS sets DEFAULTBYTE"0" and ACCEPTREFRESH immediately.
Remarks:.
The possible values of version are:
1 Microsoft COBOL Version 1.
2 Microsoft COBOL Version 2.
Specifying MS with no parameters is the same as specifying MS"2". MS"1"
is identical to IBM-MS and PC1.
This directive is for compatibility with Microsoft COBOL prior to version
3.0. For compatibility with V3.0 and later, use
NOMS MF"integer"
The value of integer to use is shown in the description of the MF
directive.
See also:.
MF
NATIVE
Specifies the default collating sequence for comparisons.
Syntax:.
Parameters:.
coll-seq Either "ASCII" or "EBCDIC".
Default:.
NATIVE"ASCII"
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
Set to NATIVE"ASCII" immediately by CHARSET"ASCII". Set to
NATIVE"EBCDIC" at end by CHARSET"EBCDIC"
Remarks:.
For more details, see the rules for PROGRAM COLLATING SEQUENCE in your
Language Reference.
The keys in an indexed file are always ordered by the ASCII collating
sequence.
NCHAR
Enables the use of Double-Byte 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:.
NONCHAR
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 NCHAR with no parameter is the same as specifying NCHAR"2".
This directive is synonymous with, and should be used in preference to,
the JAPANESE directive.
The NCHAR and DBCS directives are mutually exclusive.
See also:.
DBCS, DBSPACE, JAPANESE
NESTCALL
Allows nested programs to appear in your program.
Syntax:.
Parameters:.
None
Default:.
NONESTCALL
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
NESTCALL sets NO01SHUFFLE at end
NESTLOCALSTORAGE
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.
Allows Local Storage Section in nested programs.
Syntax:.
Parameters:.
None
Default:.
NONESTLOCALSTORAGE
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Remarks:.
The NESTLOCALSTORAGE directive is Early User Syntax support. You must
set the EARLY-RELEASE directive to enable this feature. This directive
may change or be removed in a later revision of this product.
See also:.
EARLY-RELEASE
NLS
Enables the National Language Support facility.
Syntax:.
Parameters:.
None
Default:.
NONLS
Phase:.
Syntax check
Environment:.
All
$SET:.
No
Remarks:.
NLS enables your program to adapt itself automatically at run time to the
character set, currency symbol and editing symbols appropriate to your
user's country.
See also:.
National Language Support routines
OBJ
Specifies the name of the object code file.
Syntax:.
Parameters:.
file-name A full file specification.
Default:.
OBJ"source-name.obj" (with OMF"OBJ")
OBJ"source-name.gnt" (with OMF"GNT")
Phase:.
Generate
Environment:.
16-bit
$SET:.
Any
Dependencies:.
OBJ and GNT are synonymous. Setting NOOBJ also sets NOGNT.
Remarks:.
With NOOBJ, no object code file is produced. If this directive is not
specified, the name of the object code file is the same as the source
file with an extension of .obj.
Setting this directive does not imply OMF"OBJ". To ensure that your .obj
file contains .obj format object code you must make sure that OMF"OBJ" is
also specified.
OBJLITE
Produces a version of your program that functions very much like an
assembler subroutine.
Syntax:.
Parameters:.
None
Default:.
NOOBJLITE
Phase:.
Generate
Environment:.
16-bit
$SET:.
Initial
Dependencies:.
Set to NOOBJLITE at end by OPT"0" or OMF"GNT". OBJLITE sets LITLINK at
end.
Remarks:.
This directive only affects .obj files.
Calling a program that was generated using OBJLITE is much faster than
calling a normal program.
A program generated using OBJLITE has the following limitations:
* It cannot use COBOL files, but can use byte-stream files.
* It cannot use any call-by-number routines.
* It cannot have more than 64K of data.
* It cannot be a main program.
* It must have any parameters to CALL statements in its
Working-Storage Section or Local-Storage Section. Any subscripts
used in these parameters are subject to the same restriction.
* It cannot use the IS INITIAL clause.
* It does not always have its Data Division initialized by a CANCEL.
ODOOSVS
Makes the evaluation of OCCURS DEPENDING ON items more compatible with
the OS/VS compiler.
Syntax:.
Parameters:.
None
Default:.
NOODOOSVS
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
ODOOSVS sets ODOSLIDE at end
Remarks:.
When ODOOSVS is specified, the length of variable-length groups and the
address of items following variable-length tables is evaluated at the
time when the OCCURS DEPENDING ON item is modified, rather than at the
time when the variable-length group or sliding data item is referenced.
ODOSLIDE
Makes data items that follow a variable-length table in the same record
move as its length changes.
Syntax:.
Parameters:.
None
Default:.
NOODOSLIDE
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
Set to ODOSLIDE at end by ODOOSVS
Remarks:.
This affects data items that appear after a variable-length table in the
same record; that is, after an item with an OCCURS DEPENDING clause, but
not subordinate to it.
With ODOSLIDE, these items always immediately follow the table, whatever
its current size; this means their addresses change as its size changes.
With NOODOSLIDE, these items have fixed addresses, and begin after the
end of the space allocated for the table at its maximum length.
OLDBLANKLINE
Changes the behavior of the BLANK LINE clause in Screen Section and the
DISPLAY statement.
Syntax:.
Parameters:.
None
Default:.
NOOLDBLANKLINE
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
When OLDBLANKLINE is specified, the BLANK LINE clause behaves exactly the
same as ERASE EOL; that is all characters to the right of the cursor are
deleted.
With NOOLDBLANKLINE specified, the BLANK LINE clause causes the whole
line to be deleted.
OLDCOPY
Makes COPY statements follow the ANSI'68 Standard.
Syntax:.
Parameters:.
None
Default:.
NOOLDCOPY
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
OLDFILEIO
This directive is reserved for internal use by the system. Because it
might appear in the list of settings, it is included here for
completeness. It is not intended for users' applications, and its
setting should not be changed.
Syntax:.
Parameters:.
None
Default:.
NOOLDFILEIO
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
OLDINDEX
Causes indexes to be compiled as subscripts.
Syntax:.
Parameters:.
None
Default:.
NOOLDINDEX
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
Set to NOOLDINDEX immediately by NORM. Set to OLDINDEX immediately by RM
and RM"ANSI".
Remarks:.
This directive is for compatibility with earlier products.
OLDNEXTSENTENCE
Changes the behavior of the NEXT SENTENCE statement.
Syntax:.
Parameters:.
None
Default:.
NOOLDNEXTSENTENCE
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
When OLDNEXTSENTENCE is specified, the NEXT SENTENCE statement behaves
like a CONTINUE statement.
For more details on CONTINUE and NEXT SENTENCE, see your Language
Reference.
See also:.
CONTINUE statement
OLDREADINTO
Changes the behavior of the READ...INTO statement.
Syntax:.
Parameters:.
None
Default:.
NOOLDREADINTO
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
When OLDREADINTO is specified, the IMPLICIT move from the file's record
area to the data item specified in the INTO phrase is executed even when
the READ is not successful. If NOOLDREADINTO is specified, the MOVE only
happens if the READ is successful.
OLDSTRMIX
Allows PIC X and PIC N fields to be specified in the same STRING,
UNSTRING or INSPECT statement.
Syntax:.
Parameters:.
None
Default:.
NOOLDSTRMIX
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
This directive is provided for forward compatibility only.
We recommend that you do not use it as it can lead to unexpected results
and the corruption of double-byte data.
OLDSTRSUB
Changes when subscripts are evaluated during STRING, UNSTRING and INSPECT
statements.
Syntax:.
Parameters:.
None
Default:.
NOOLDSTRSUB
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
When OLDSTRSUB is specified, subscripts are evaluated after implicit move
operations with STRING, UNSTRING or INSPECT statements.
Since the resultant run-time behavior is not ANSI'85 compliant, this
directive should only be used to maintain compatibility with versions of
Micro Focus COBOL/2 and LEVEL II COBOL.
OMF
Specifies which format of object code to produce.
Syntax:.
Parameters:.
code Either OBJ or GNT.
Default:.
OMF"OBJ"
Phase:.
Generate
Environment:.
16-bit
$SET:.
No
Dependencies:.
Set to OMF"OBJ" at end by DEFFILE, EANIM, FASTLINK or LITLINK. OMF"GNT"
sets NOOBJLITE and NOMASM at end. If OPT"0", OMF"GNT" sets OPT"1" at
end.
Remarks:.
The possible values of code are:
OBJ produce .obj format.
GNT produce .gnt code.
Generated (.gnt) code is the Micro Focus standard format for native code
in Micro Focus add-on products on DOS, Windows and OS/2, and Micro Focus
COBOL products on UNIX. It is relocatable, dynamically linked and managed
by an advanced version of the shared run-time system. It can only be
used with appropriate products from Micro Focus, and is not suitable for
input to the Linker.
MPE/iX 5.0 Documentation