Microsoft COBOL V1.0 and V2.0 Syntax Support
The Microsoft syntax listed in this chapter is accepted by your COBOL system
purely for compatibility with IBM 1.0 syntax and Microsoft V2.0 syntax. Many
features found in Microsoft COBOL exist already in COBOL. Some of the compatibility
syntax listed in this chapter is identical to standard COBOL syntax, but behaves
differently if you set the MS Compiler directive when you submit your source
code to your COBOL system. Other Microsoft syntax is available only if this
directive is set. See your the IBM COBOL 1.0 manual and Microsoft
COBOL V2.0 manual for further information on the Microsoft syntax. This manual
covers IBM COBOL V1.0; where syntax is a Microsoft V2.0 extension it is explicitly
indicated.
Special Registers LIN and COL
LIN and
COL are intended to be used for specifying the
line number and column number, respectively, of the current cursor position
on the screen. Together they form part of the position-spec phrase which is
supported in the ACCEPT, DISPLAY and EXHIBIT statements documented later in
this chapter. You must set the MS Compiler directive when you submit your
source code to your COBOL system if it contains these registers.
The format of both LIN and COL is PIC S9(4) COMP. They are used like ordinary
data items, except that they must not be declared; they are automatically
declared by the system. You must set them to the desired values before using
them in the position-spec phrase.
Note that COL, the abbreviation for COLUMN, is not available as a COBOL reserved
word if the MS Compiler directive is set.
Environment Division
The Special-Names Paragraph
The following two clauses are supported:


where: n is an integer in the range 0 to 8. The default setting is OFF.
Data Division
The USAGE Clause
General Format
The following
format of the USAGE clause is supported:

Syntax Rules
- COMP and COMPUTATIONAL are synonymous.
- COMP-0 and COMPUTATIONAL-0 are synonymous.
General Rules
- USAGE IS COMPUTATIONAL means the same as USAGE IS DISPLAY, if you set the
MS Compiler directive when you submit your source code to your COBOL system.
- USAGE IS COMP-0 is allowed only with numeric items. If an item is described
with a PICTURE no larger than S9(4), the effect is a data item whose description
is PIC S9(4) USAGE COMP; that is, a 2-byte signed binary item. Otherwise,
the effect is a data item with the PICTURE clause actually specified and with
USAGE DISPLAY.
Procedure Division
The Position-Specification Phrase
The position-specification phrase specifies the screen position in the ACCEPT,
DISPLAY and EXHIBIT statements described in this chapter. You must set the
MS Compiler directive when you submit your source code to your COBOL system
if it contains this phrase.
General Format

Syntax Rules
- The comma shown in the above format is mandatory.
The ACCEPT Statement
The following format of the ACCEPT statement is supported:
General Format

General Rules
- The ACCEPT operation treats a group item as an elementary item, if you set
the MS Compiler directive when you submit your source code to your COBOL system:
it accepts the item itself and not its subordinate elementary items.
- If the screen position at which the first operand is to appear is not specified,
the default is the current cursor position, if you set the MS Compiler directive
when you submit your source code to your COBOL system.
- Rules 1 and 2 above also apply to Format 5 of the ACCEPT statement as described
in the topic The ACCEPT Statement.
- The WITH phrase options
and their equivalents are:
AUTO/AUTO-SKIP
BACKGROUND-COLOR
BELL/BEEP
BLINK
FOREGROUND-COLOR
LENGTH-CHECK
REVERSE-VIDEO
RIGHT-JUSTIFY
SECURE/NO-ECHO
SIZE
SPACE-FILL
TRAILING-SIGN
UNDERLINE
UPDATE
ZERO-FILL
These options also apply to Format 5 of the ACCEPT statement as described
in the topic The ACCEPT Statement.
The options listed below differ from standard COBOL, as follows:
- UPDATE. If the UPDATE option is not specified, a data item for data entry
is displayed initially as spaces, if you set the MS Compiler directive when
you submit your source code to your COBOL system. (If the MS directive is
not set, the display of initial data is a configuration option.)
If the UPDATE option is specified, initial data of the data item for data
entry is displayed.
- PROMPT. This option need not be specified to display prompt characters, if
you set the MS Compiler directive when you submit your source code to your
COBOL system.
-
LENGTH-CHECK. If this option is specified, it causes
an implicit EMPTY-CHECK option, so that the operator must enter something.
You set the MS Compiler directive when you submit your source code to your
COBOL system, if you have specified this option.
- FOREGROUND-COLOR and BACKGROUND-COLOR. Integer-1 in these options specifies
the foreground color and background color of the screen item respectively,
and can be defined by a value from 0 to 15, as follows:
0 |
black |
1 |
blue |
2 |
green |
3 |
cyan |
4 |
red |
5 |
magenta |
6 |
brown |
7 |
white | |
8 |
grey |
9 |
light blue |
10 |
light green |
11 |
light cyan |
12 |
light red |
13 |
light magenta |
14 |
yellow |
15 |
high intensity white | |
On a color screen, if the FOREGROUND-COLOR option specifies an integer whose
value is from 8 to 15, this is equivalent to specifying an integer from 0
to 7 and specifying the
HIGHLIGHT option. On a monochrome
screen, this is equivalent to simply specifying the HIGHLIGHT option.
On a color screen, if the BACKGROUND-COLOR option specifies an integer whose
value is from 8 to 15, this is equivalent to specifying an integer from 0
to 7 and specifying the BLINK option. On a monochrome screen, this is equivalent
to simply specifying the BLINK option.
The DISPLAY Statement
General Format
The following format of the DISPLAY statement is supported:

General Rules
- The DISPLAY operation treats a group item as an elementary item, if you set
the MS Compiler directive when you submit your source code to your COBOL system:
it displays the item itself and not its subordinate elementary items.
- If the screen position at which the first operand is to appear is not specified,
the default is the current cursor position, if you set the MS Compiler directive
when you submit your source code to your COBOL system.
- Rules 1 and 2 above also apply to Format 3 of the DISPLAY statement as described
in the topic The DISPLAY Statement.
-
If ERASE is specified, the screen is cleared from the
current cursor position onwards.
The following two rules are additional rules which apply to Format 3 of the
DISPLAY statements described in the topic The DISPLAY Statement.
- The
WITH phrase options and their synonyms are:
BACKGROUND-COLOR
BELL/BEEP
BLANK
BLINK
FOREGROUND-COLOR
HIGHLIGHT
REVERSE-VIDEO
SIZE
UNDERLINE
- FOREGROUND-COLOR and BACKGROUND-COLOR. Integer-1 in these clauses specifies
the foreground color and background color of the screen item respectively,
and can be defined by a value from 0 to 15, as follows:
0 |
black |
8 |
grey |
1 |
blue |
9 |
light blue |
2 |
green |
10 |
light green |
3 |
cyan |
11 |
light cyan |
4 |
red |
12 |
light red |
5 |
magenta |
13 |
light magenta |
6 |
brown |
14 |
yellow |
7 |
white |
15 |
high intensity white |
On a color screen, if the FOREGROUND-COLOR option specifies an integer whose
value is from 8 to 15, this is equivalent to specifying an integer from 0
to 7 and specifying the HIGHLIGHT option. On a monochrome screen, this is
equivalent to simply specifying the HIGHLIGHT option.
On a color screen, if the BACKGROUND-COLOR option specifies an integer whose
value is from 8 to 15, this is equivalent to specifying an integer from 0
to 7 and specifying the BLINK option. On a monochrome screen, this is equivalent
to simply specifying the BLINK option.
The EXHIBIT Statement
An EXHIBIT statement with neither the
CHANGED nor the
NAMED option behaves as if the NAMED option were specified.
General Format
The following format of the EXHIBIT statement is supported:

Syntax Rules
- Mnemonic-name should be associated with sysout, syslist, syslst, syspunch,
syspch, console or printer.
General Rules
- ERASE clears the screen from the current cursor position onwards.
Microsoft V2.0 Additional Syntax Support
Record LOCKING
If you set the MS Compiler directive, the LOCKING clause in the SELECT statement
is supported.
General Format

General Rules
- For SEQUENTIAL and LINE SEQUENTIAL files only EXCLUSIVE locking is allowed.
- If MANUAL is specified multiple locks can be applied to the file.
- If AUTOMATIC is specified a single lock is applied automatically to the current
record.
- For SEQUENTIAL and LINE SEQUENTIAL files the default LOCKING mode is EXCLUSIVE.
- For RELATIVE and INDEXED files the default LOCKING mode is AUTOMATIC.
- If the MANUAL option is specified the UNLOCK statement will release all locks.
OPEN LOCKING Statement
If you set the MS Compiler directive the LOCKING clause in the OPEN statement
is supported.
General Format

General Rules
- For SEQUENTIAL and LINE SEQUENTIAL files only EXCLUSIVE is allowed.
- If the NO LOCKING phase is specified EXCLUSIVE is implied.
READ Statement (in Manual Mode)
General Format

General Rules
- If you set the MS Compiler directive, the WAIT clause in the READ statement
is allowed and treated as documentary.
START Statement
General Format

General Rules
- If you set the MS Compiler directive the LOCK and WAIT clauses in the START
statement are allowed and treated as documentary.