Directives for Compiler/Generator (cont.) [ COBOL/HP-UX Operating Guide for the Series 700 and 800 ] MPE/iX 5.0 Documentation
COBOL/HP-UX Operating Guide for the Series 700 and 800
Directives for Compiler/Generator (cont.)
JAPANESE
Enables the use of the Micro Focus Japanese language extension (PIC N,
Japanese data-names and Japanese procedure-names).
Syntax:
Parameters:
None
Default:
NOJAPANESE
Phase:
Compile
$SET:
Initial
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:
Compile
$SET:
Any
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 will be 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.
LIBRARIAN
Allows -INC statements in your program.
Syntax:
Parameters:
None
Default:
NOLIBRARIAN
Phase:
Compile
$SET:
Any
The -INC statement specifies a file for inclusion in the source program.
The string -INC must be written as a contiguous sequence of characters
starting in column 1, followed by one or more spaces, and then, on the
same line, by the name of a file containing COBOL source. This file will
be included in the program at the point where the -INC statement appears.
LINKCHECK
Specifies that each time a Linkage Section item is referenced a check is
to be made that it exists.
Syntax:
Parameters:
None
Default:
NOLINKCHECK
Phase:
Generate
$SET:
Initial
If reference is made to a Linkage Section item that does not exist, a
run-time error 203 (CALL parameter not supplied) is generated.
LIST
Specifies the destination of the source listing file.
Syntax:
Parameters:
destination A full file specification or a device-name
Default:
NOLIST
Phase:
Compile
$SET:
Any (for LIST or NOLIST)
None (for LIST "file-name")
If you specify an existing file, it is overwritten. When NOLIST is
specified, no source listing is produced. If you specify LIST with no
destination, the source listing is sent to the screen. If you specify
either destination or (), you can not use this directive in a $SET
statement.
The device-name can be any suitable device that is not under the control
of a system spooler.
NOLIST and LIST with no parameter may be used in $SET statements within a
program to list selected parts of the program. The destination of the
listing cannot be changed in this way.
LIST() causes the source listing to be put in the file source-file-
name.lst, where source-file-name is the root of the name of the program
being compiled. Note that with this parameter you must use parentheses
not quotation marks.
LISTWIDTH
LW
Sets the width of the listing.
Syntax:
Parameters:
integer Width in characters. It must be between 80 and 132
Default:
LISTWIDTH "80"
Phase:
Compile
$SET:
Any
LW"132" causes additional information to be displayed for each line
listed. This includes the first eight characters of the current
COPY-file name (spaces for the main file) together with the number of the
line relative to the start of that file.
If you use the REF directive with the LISTWIDTH directive, the REF
directive takes priority over LISTWIDTH if the information to be included
in the comment columns exceeds the setting of the LISTWIDTH directive.
LITVAL-SIZE
Specifies the number of bytes to pass if the SIZE clause is omitted when
passing numeric literals BY VALUE.
Syntax:
Parameters:
integer A number up to 4. The number of bytes to pass
Default:
LITVAL-SIZE "4"
Phase:
Compile
$SET:
Any
LNKALIGN
Specifies that any linkage records specified in a USING statement are 01
or 77-level items. That is, they are aligned according to the ALIGN
directive.
Syntax:
Parameters:
None
Default:
NOLNKALIGN
Phase:
Generate
$SET:
None
This option can reduce the time needed to access a linkage item, but we
advise that you take care when using it. You must use the correct ALIGN
directive setting when compiling your program. No checks are made to
ensure that the items are aligned. Note that the results of using this
directive are machine-dependent, and you should not use it if you are in
any doubt as to its use. Unpredictable results may occur if you pass
linkage items that are not aligned.
LOCKTYPE
Specifies the type of record locking.
Syntax:
Parameters:
integer 0 or 1. The type of locking
Default:
LOCKTYPE "0"
Phase:
Compile
$SET:
Initial
The possible values of integer are:
0 Programs can read locked records, but not access
them in other ways. This is the Micro Focus
standard method.
1 Programs cannot access locked records at all. This
is as in languages other than COBOL.
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.
This directive only has an effect if the CALLFH directive is used.
LOGICOPT
Specifies whether to optimize COBOL logical calls so that they do not
affect the value of RETURN-CODE.
Syntax:
Parameters:
None
Default:
NOLOGICOPT
Phase:
Generate
$SET:
None
Specifying LOGICOPT optimizes COBOL logical calls, such as CBL_AND, so
that they do not affect RETURN-CODE.
MAKESYN
Makes one reserved word synonymous with another.
Syntax:
Parameters:
rsv-word-1 A reserved word
rsv-word-2 The reserved word whose meaning is to be changed
Default:
No reserved word synonyms are created
Phase:
Compile
$SET:
Initial
The equals sign (=) must be surrounded by spaces.
MAPNAME
Makes the compiler alter program-names and entry-points to make them
compatible with OS/VS COBOL, DOS/VS COBOL, VS COBOL II and COBOL/370.
Syntax:
Parameters:
None
Default:
NOMAPNAME
Phase:
Compile
$SET:
Initial
Specifying MAPNAME affects program-names and entry-points defined in the
compilation and those referenced by the program as follows:
* ENTRY statements only in the outermost program
* CALL literal, but not CALL identifier, statements
* PROGRAM-ID entries in the outermost program, but not in nested
programs.
When a name is found to be incompatible, a warning message is given and a
modified name is used in the object program. The rules enforced and the
modifications made are:
* the first eight characters must be unique among program-names.
The name is truncated to the first eight characters.
* the first character must be alphabetic. If it is numeric it is
changed as follows:
0 becomes J
1 through become A through
9 I
Hyphen (-) is not allowed. If one appears, it is changed to zero (0).
MFCOMMENT
Prevents lines with an asterisk (*) in column 1, or a form-feed character
in columns 1 and 2 followed by an asterisk, appearing in the source
listing.
Syntax:
Parameters:
None
Default:
MFCOMMENT
Phase:
Compile
$SET:
Any
With MFCOMMENT, such lines are ignored by the compiler and do not appear
in the source listing. With NOMFCOMMENT, they do appear.
MFLEVEL
MF
Facilitates forward compatibility with Micro Focus products by
selectively enabling Micro Focus-specific reserved words and changing the
behavior of certain features to be compatible with particular versions.
Syntax:
Parameters:
integer The level of Micro Focus COBOL with which to be
compatible
Default:
MF "8"
Phase:
Compile
$SET:
Initial
The possible values of integer are:
1 Professional COBOL v1.0, v1.1, and v1.2
Level II COBOL v2.5 and v2.6
Level II COBOL/ET v1.1
2 VS COBOL Workbench v1.2
VS COBOL v.1.2
3 VS COBOL Workbench v1.3
VS COBOL Workbench v2.0
Professional COBOL v2.0
VS COBOL v1.5
4 COBOL/2 v1.1
Professional COBOL/2
COBOL/2 Workbench v2.2
5 COBOL /2 v1.2
COBOL/2 Workbench v2.3
6 COBOL/2 v2.4
COBOL/2 Workbench v2.4
7 COBOL/2 v2.5
COBOL/2 Workbench v2.5
8 COBOL v3.0
COBOL Workbench v3.0
Behavior of the BLANK LINE phrase in previous versions of this product
can be implemented using the OLDBLANKLINE directive. Behavior of the
NEXT SENTENCE phrase in previous versions of this product can be
implemented using the OLDNEXTSENTENCE directive.
If you specify MF without the parameter, all Micro Focus specific
reserved words are treated as reserved words. It is equivalent to
specifying MF"8". If you specify NOMF, none of the Micro Focus reserved
words are treated as reserved words.
MFSCCS
This directive is reserved for use on other environments. Do not change
its setting.
Syntax:
Parameters:
None
Default:
NOMFSCCS
Phase:
Compile
$SET:
Initial
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:
Compile
$SET:
Initial
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.
For compatibility with Microsoft COBOL Version 3.x use NOMS MF"4".
NATIVE
Specifies the default collating sequence for comparisons.
Syntax:
Parameters:
coll-seq Either "ASCII" or "EBCDIC"
Default:
NATIVE "ASCII"
Phase:
Compile
$SET:
Initial
For more details, see the rules for PROGRAM COLLATING SEQUENCE in your
Language Reference.
The ordering of keys in an indexed file is not affected by this
directive.
NESTCALL
Allows nested programs to appear in your program.
Syntax:
Parameters:
None
Default:
NONESTCALL
Phase:
Compile
$SET:
Initial
NLS
Enables the National Language Support facility.
Syntax:
Parameters:
None
Default:
NONLS
Phase:
Compile
$SET:
No
This directive is available only on NLS environments.
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. For details on this facility, see Chapter 30 ,
National Language Support.
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:
Compile
$SET:
Initial
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.
Syntax:
Parameters:
None
Default:
NOOLDBLANKLINE
Phase:
Compile
$SET:
Any
When OLDBLANKLINE is specified, the BLANK LINE clause behaves exactly the
same as BLANKEOL; 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:
Compile
$SET:
Any
OLDFILEIO
This directive is for internal use by the system. Do not change its
setting.
Syntax:
Parameters:
None
Default:
NOOLDFILEIO
Phase:
Compile
$SET:
Initial
OLDINDEX
Causes indexes to be compiled as subscripts.
Syntax:
Parameters:
None
Default:
NOOLDINDEX
Phase:
Compile
$SET:
Initial
This directive is for compatibility with earlier products.
OLDNEXTSENTENCE
Changes the behavior of the NEXT SENTENCE statement.
Syntax:
Parameters:
None
Default:
NOOLDNEXTSENTENCE
Phase:
Compile
$SET:
Any
When OLDNEXTSENTENCE is specified, the NEXT SENTENCE statement behaves
like a CONTINUE statement. See your Language Reference for details of
these statements.
OLDREADINTO
Changes the behavior of the READ ... INTO statement.
Syntax:
Parameters:
None
Default:
NOOLDREADINTO
Phase:
Compile
$SET:
Any
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.
OPTIONAL-FILE
Makes the compiler treat all files opened for I-O or EXTEND as optional.
Syntax:
Parameters:
None
Default:
OPTIONAL-FILE
Phase:Compile
$SET:
Initial
Under ANSI'85 Standard COBOL, a file is treated as optional only if it
has the OPTIONAL phrase in its SELECT statement. For compatibility with
the ANSI'85 Standard you must specify the NOOPTIONAL-FILE directive.
OSEXT
Tells the compiler what extension to expect by default on the names of
source files.
Syntax:
Parameters:
ext The extension
Default:
OSEXT "cbl"
Phase:
Compile
$SET:
Any
The extension is added if the source file-name used in the command or
prompt does not have an extension or a trailing period. This happens
only if the directive is specified in cobol.dir.
See also the description of the COPYEXT directive.
OSVS
Specifies that words reserved in IBM OS/VS COBOL are to be treated as
reserved words.
Syntax:
Parameters:
None
Default:
NOOSVS
Phase:
Compile
$SET:
Initial
Specifying OSVS sets NODOSVS. If you wish to use reference modification
within the condition of a conditional statement, you must set NOOSVS when
you compile your source code under the Micro Focus COBOL system.
OVERRIDE
Replaces a reserved word by a new one.
Syntax:
Parameters:
rsv-word Existing reserved word
user-word Any COBOL word not the same as an existing reserved
word
Default:
No change of reserved words takes place
Phase:
Compile
$SET:
Initial
This directive equates an existing reserved word to the specified
user-defined word, so that, in the program, user-word will be treated as
a reserved word, and rsv-word will be treated as a user-defined word.
The equals sign must be surrounded by spaces. If the parameters are
repeated they must be separated by spaces.
PANVALET
Allows ++INCLUDE statements in your program.
Syntax:
Parameters:
None
Default:
NOPANVALET
Phase:
Compile
$SET:
Any
The ++INCLUDE statement specifies a file for inclusion in the source
program. The string ++INCLUDE must be written as a contiguous sequence
of characters starting in area-A or area-B, followed by one or more
spaces, and then, on the same line, by the name of a file containing
COBOL source. This file will be included in the program at the point
where the ++INCLUDE statement appears.
If you specify PANVALET and LIBRARIAN together, a warning message is
given advising that the compiled program may not be mainframe-compatible.
PC1
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:
NOPC1
Phase:
Compile
$SET:
Initial
This directive is synonymous with the IBM-MS and MS"1" directives.
PERFORM-TYPE
Specifies the behavior of return jumps from nested PERFORM statements.
Syntax:
Parameters:
dialect MF, OSVS, or RM
Default:
PERFORM-TYPE "MF"
Phase:
Compile
$SET:
Initial
The possible values of dialect are:
MF Only the exit point of the innermost PERFORM
currently being executed will be recognized and its
return jump taken
OSVS The exit point of any PERFORM statement currently
being executed will be recognized if reached; the
return jump taken is the first reached. PERFORM
statements with the same exit point can be nested
to a depth of two (one inner and one outer). If
they are nested deeper, they will not return
correctly. The end of a section is regarded as the
same point as the end of its last paragraph This
behavior is compatible with the mainframe behavior
of OS/VS COBOL, DOS/VS COBOL, VS COBOL II and
COBOL/370
RM The exit point of any PERFORM statement currently
being executed will be recognized if reached; the
return jump taken is the first reached. PERFORM
statements with the same exit point cannot be
nested; if they are they will not return correctly.
The end of a section is regarded as a separate
point from the end of its last paragraph.
See also the description of the STICKY-PERFORM directive.
PREPROCESS
Makes the compiler take the source program from a preprocessor instead of
a source file.
Syntax:
Parameters:
name The preprocessor to use
drctv Directives to be passed directly to the preprocessor
Default:
NOPREPROCESS
Phase:
Compile
$SET:
No
This directive informs the compiler that an integrated preprocessor is to
be used. See Chapter 29 , Integrated Preprocessor or the
documentation supplied with the relevant add-on product for details of
its use.
PRINT
Specifies the destination of the source listing file.
Syntax:
Parameters:
destination A full file specification, or a device-name.
Default:
NOPRINT
Phase:
Compile
$SET:
Any
PRINT is synonymous with LIST. All rules that apply to LIST also apply to
PRINT.
PRINT-EXT
Specifies the extension to be added to the file-name associated with the
ASSIGN TO PRINTER clause.
Syntax:
Parameters:
extension The extension to be added
Default:
No extension is added
Phase:
Compile
$SET:
Any
This directive is ignored unless ASSIGN-PRINTER() is specified with no
file-name.
See also the ASSIGN-PRINTER directive.
MPE/iX 5.0 Documentation