Descriptions of Directives (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
Descriptions of Directives (cont.)
CONVERTPTR
Specifies whether POINTER data items can be redefined as PIC 9(9) COMP
data items.
Syntax:
Parameters:
None
Default:
NOCONVERTPTR
Phase:
Compile
$SET:
Initial
IBM VS COBOL II and COBOL/370 let you use the REDEFINES clause on a
POINTER data item, to redefine it as a PIC 9(9) COMP data item. You can
then perform arithmetic operations on this item, giving the program the
ability to shift the address referred to by a pointer up or down.
If CONVERTPTR is specified, pointers are held in a form that is suitable
for this arithmetic. They are converted to the native form immediately
before any SET ADDRESS OF linkage-item TO pointer statement, and
immediately after any SET pointer TO ADDRESS OF... statement.
The CONVERTPTR directive has no effect on PROCEDURE-POINTER data items.
COPYEXT
Specifies the file-name extension of the COPY-file that the compiler is
to look for if a file-name in a COPY statement is specified without an
extension.
Syntax:
Parameters:
extension A file-name extension
Default:
COPYEXT "cbl,CPY,"
Phase:
Compile
$SET:
Initial
You can specify up to four extensions, each being up to 10 characters
long. A null extension indicates no extension.
If you have many COPY statements that do not specify an extension, using
COPYEXT can improve the compilation speed of your program.
For example, if all of your COPY-files have the extension .CPY,
specifying COPYEXT"CPY,CBL" would avoid unnecessary file access attempts.
The behavior of this directive is affected by the setting of the OSEXT
directive. The extension specified by the OSEXT directive overrides the
first extension specified by the COPYEXT directive. For example:
COPYEXT"CPY,CBL,TXT" OSEXT"SRC"
would have the same effect as:
COPYEXT"SRC,CBL,TXT"
COPYLBR
Makes the compiler treat the library specified in a COPY statement as a
.lbr file.
Syntax:
Parameters:
None
Default:
NOCOPYLBR
Phase:
Compile
$SET:
No
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. With NOCOPYLBR, the compiler assumes that the library is a
path-name.
COPYLIST
Makes the compiler list the contents of files named in COPY statements.
Syntax:
Parameters:
integer Must be 0 or between 50 and 99. The segment-number
Default:
COPYLIST
Phase:
Compile
$SET:
Any
The segment-number is the number of a COBOL segment. It must be in the
range 50 through 99. If it is not specified, the contents of all
COPY-files are listed. If it is specified, the contents of all
COPY-files in the first three divisions (that is, the Identification,
Environment and Data Divisions), the root, and the given segment are
listed. An integer of 0 refers to the first three divisions and all root
segments.
NOCOPYLIST prevents the listing of the contents of any COPY-files. If a
segment-number is specified with NOCOPYLIST, only COPY-files in that
segment are listed. For example:
COPYLIST "53" List all COPY-files in the first three divisions,
the root segment, and segment 53.
NOCOPYLIST "53" List only COPY-files that are in segment 53.
Whatever the state of this directive, the name of
any COPY-file open when a page heading is output is
given in that heading.
CSI
Makes the compiler produce extra information so that you can use CSI.
Syntax:
Parameters:
None
Default:
NOCSI
Phase:
Compile
$SET:
No
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. Specifying CSI sets ANIM.
CURRENCY-SIGN
Specifies the currency sign to be recognized in the PICTURE clause.
Syntax:
Parameters:
integer ASCII code of the character, in decimal
Default:
CURRENCY-SIGN "36" (the dollar symbol) for nonJapanese implementations of
this COBOL system CURRENCY-SIGN "92" (the Yen currency symbol) for
Japanese implementations of this COBOL system
Phase:
Compile
$SET:
Initial
You cannot specify a valid PICTURE clause symbol. See your Language
Reference for a list of these.
CURRENT-DATE
Specifies the format of the date stored in the CURRENT-DATE special
register.
Syntax:
Parameters:
date-format Either DDMMYY or MMDDYY
Default:
CURRENT-DATE "MMDDYY"
Phase:
Compile
$SET:
Any
The DDMMYY parameter causes CURRENT-DATE to be stored in European format.
The parameter can be specified in either upper case or lower case.
DATACOMPRESS
Specifies the type of data compression to be done on sequential and
indexed files.
Syntax:
Parameters:
integer Must be 1, or in the range 128 through 255
Default:
NODATACOMPRESS
Phase:
Compile
$SET:
Any
The only value that can be specified for Micro Focus data compression is
1. Values in the range 128 through 255 indicate user-defined compression
routines
You need specify data compression only when creating the file.
Subsequently, the data compression will be 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.
DATE
Puts the date in the DATE-COMPILED paragraph and at the top of each page
of the listing.
Syntax:
Parameters:
string An alphanumeric literal
Default:
DATE
Phase:
Compile
$SET:
No
The date and time are kept by the operating system. They are
automatically inserted in the DATE-COMPILED paragraph of the listing 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.
DBCHECK
Makes the compiler check that any Double-Byte Character Set (DBCS)
literals contain only valid 16-bit DBCS characters.
Syntax:
Parameters:
None
Default:
DBCHECK
Phase:
Compile
$SET:
Initial
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).
DBCS
Makes the compiler accept characters of the Double Byte Character Set
(DBCS) for use in ideographic languages such as Japanese, Chinese and
Korean.
Syntax:
Parameters:
integer Must be 1, 2 or 3. Indicates which compatibility is
required
Default:
DBCS"3"
Phase:
Compile
$SET:
Initial
The possible values of integer are:
1 Provides behavior as in earlier versions of this
compiler
2 Provides full System Application Architecture (SAA)
DBCS support. This directive sets DBSPACE
3 Includes DBCS support as in IBM COBOL/370. This
includes the use of PIC N, PIC G, and DBCS literals
specified with "delimiter N".
DBCSSOSI
Defines the two characters used as the shift-out and shift-in delimiters
in DBCS literals.
Syntax:
Parameters:
integer-1 ASCII code of the shift-out character, in decimal
integer-2 ASCII code of the shift-in character, in decimal
Default:
NODBCSSOSI
Phase:
Compile
$SET:
Any
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.
This feature may not be supported by your compiler.
DBSPACE
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.
Syntax:
Parameters:
None
Default:
NODBSPACE
Phase:
Compile
$SET:
Any
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").
This feature may not be supported by your compiler.
DE-EDIT
Specifies the behavior of de-editing moves from numeric-edited items to
other numeric-edited items or to numeric items.
Syntax:
Parameters:
integer Must be 1 or 2. Indicates which compatibility is
required
Default:
DE-EDIT "2"
Phase:
Compile
$SET:
Any
The possible values of integer are:
1 Ignores the PICTURE clause of the sending field.
This behavior is as in earlier versions of this
compiler
2 De-edits according to the PICTURE clause of the
sending field. This provides ANSI'85 conformance.
For example:
01 a pic 909v99 value "30456".
01 b pic 9(5).
...
move a to b
With DE-EDIT"1", B will contain 30456. With DE-EDIT"2", B will contain
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.
DEFAULTBYTE
Initializes each otherwise undefined byte of the Data Division to the
character given.
Syntax:
Parameters:
integer ASCII code of the character, in decimal
Default:
DEFAULTBYTE "32" (that is, space)
Phase:
Compile
$SET:
Initial
DEFAULTCALLS
Specifies the default calling convention.
Syntax:
Parameters:
integer Default CALL convention
Default:
NODEFAULTCALLS
Phase:
Compile
$SET:
Any
DEFAULTCALLS without the optional argument 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 for
details on CALL statements.
DETECTLOCK DETECT-LOCK
Makes READ statements detect when a record is locked by another program.
Syntax:
Parameters:
None
Default:
DETECTLOCK
Phase:
Compile
$SET:
Initial
With DETECTLOCK, if a READ statement reads a record locked by another
program, it will return an I/O status of 9/068. With NODETECTLOCK, it
will return 0/000. In both cases it will read the record successfully.
When DETECTLOCK is specified, individual READ statements may be made to
ignore locks by using the READ ... IGNORELOCK syntax. See your Language
Reference for details of this syntax.
DG
Changes the behavior of certain features to be compatible with Data
General Interactive COBOL rev 1.30.
Syntax:
Parameters:
None
Default:NODG
Phase:
Compile
$SET:
Initial
See your Language Reference for details of Data General Interactive COBOL
rev 1.30 syntax support.
DIRECTIVES
Makes the compiler read directives from a file.
Syntax:
Parameters:
file-name A full file specification
Default:
None
Phase:
Compile
$SET:
Initial
Directives in the file must be separated by a space and a directive
cannot be broken across two lines. 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 in file-name is 128
characters.
You can specify more than one directives file in a program by either
specifying DIRECTIVES "file-name" within a directives file or by writing
more than one $SET statement at the beginning of your program. If you
specify the DIRECTIVES directive within a directives file, the compiler
switches to the new directives file, reads all the directives in it,
returns to the original directives file, and continues to read the
directives specified after the DIRECTIVES directive. You can nest
directives files to any depth.
The directives file is searched for in the current and COBOL system
directories. If you have not specified an extension, a file extension of
.dir will be added before the search is made. If no file is found, the
search will be repeated with no extension.
DOSVS
Specifies that words reserved in IBM DOS/VS COBOL are to be treated as
reserved words.
Syntax:
Parameters:
None
Default:NODOSVS
Phase:
Compile
$SET:
Initial
Specifying DOSVS sets NOOSVS.
DYNAM
Specifies that CANCEL statements are not to be ignored.
Syntax:
Parameters:
None
Default:
DYNAM
Phase:
Compile
$SET:
Initial
With NODYNAM, CANCEL statements in the program are ignored.
ECHO
Makes the compiler display error lines and error messages on the screen.
Syntax:
Parameters:
None
Default:
ECHO
Phase:
Compile
$SET:
Any
For each error, the source line is displayed together with an error
number and (unless BRIEF is set) an explanatory message.
ECHOALL
Sends a full listing to the screen as well as to a printer or other
device specified with the LIST or PRINT directive.
Syntax:
Parameters:
None
Default:
NOECHOALL
Phase:
Compile
$SET:
No
EDITOR
Makes the Compiler send error messages to a file in a format compatible
with a specified Editor.
Syntax:
Parameters:
editor-id Must be MF or MS
Default:
NOEDITOR
Phase:
Compile
$SET:
No
The possible values of editor-id are:
MF Micro Focus Editor
MS Microsoft Programmer's Workbench
You are recommended to use the NOECHO and NOQUERY directives in addition
to the EDITOR directive. For details on the format of error messages,
see your Error Messages.
ENSUITE
This directive is used with Micro Focus integrated products to make the
compiler compatible with the integration. Do not change its setting.
Syntax:
Parameters:
integer Must be 1 or 2
Default:
NOENSUITE
Phase:
Compile
$SET:
No
ERRLIST
Specifies that the listing is to contain no source lines except those
that have errors or flags.
Syntax:
Parameters:
None
Default:
NOERRLIST
Phase:
Compile
$SET:
No
ERRQ
Makes the compiler ask, each time it gives an error message, whether you
want to stop compiling.
Syntax:
Parameters:
None
Default:
NOERRQ
Phase:
Compile
$SET:
Any
FCDREG
Makes the compiler define special-registers giving access to files' File
Control Descriptions (FCD) and Key Definition Blocks.
Syntax:
Parameters:
None
Default:
NOFCDREG
Phase:
Compile
$SET:Initial
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.
FILECASE
This directive is reserved for internal use by the system. Do not change
its setting.
Syntax:
Parameters:
None
Default:
NOFILECASE
Phase:
Compile
$SET:
No
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.
Syntax:
Parameters:
None
Default:
NOFILESHARE
Phase:
Compile
$SET:
Initial
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:
Compile
$SET:
Any
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 files (with ANSI conformance
emulations)
6 Btrieve format files (without ANSI conformance
emulations).
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:
Compile
$SET:Any
The possible values of dialect are:
ANS74 ANSI COBOL standard X3.23, 1974
ANS85 ANSI COBOL standard X3.23, 1985
COBOL370 IBM COBOL/370
DOSVS IBM DOS/VS COBOL
MF Micro Focus
OSVS IBM OS/VS COBOL
SAA Full implementation of IBM's System Application
Architecture definition of COBOL
VSC2 IBM VS COBOL II
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. Note that 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:
Compile
$SET:
Any
The possible values of severity are:
S Severe error
E Error
W Warning
I Informational
MPE/iX 5.0 Documentation