Documentation Changes [ HP Micro Focus COBOL/iX Implementation Notes ] MPE/iX 5.0 Documentation
HP Micro Focus COBOL/iX Implementation Notes
Documentation Changes
Language Reference Manual
The pages listed in this section refer to pages of the COBOL/HP-UX
Language Reference Manual.
* On page 1-4, replace text from the heading "Source Format" through
"72 columns." by:
Source Format
Source code can be in free format or fixed format.
Fixed Format
In fixed format, each COBOL source record is divided into
72 columns.
* On page 1-4, add the following to the end of the section
"Indicator Area" and box it with an "MF" bubble:
A "$" in the indicator area indicates a special line for setting
directives or conditional compilation.
* On page 1-6, add the following after Figure 1-1:
Free Format
Free format COBOL is selected by means of the directive
SOURCEFORMAT"FREE".
The first six characters are considered part of the normal
source line and may contain COBOL source code. Column 1
takes over the role of indicator area as follows:
* comment line
/ comment line starting on a new page in the
listing file
D or d followed by space debugging line
$ special line (directive, conditional
compilation and so on)
any other normal source line
character
Note: There are no continuation lines. Continuation of
alphanumeric literals is achieved through concatenation
(for example, "A" & "B").
There is no distinction between area A and area B.
There is no fixed margin R, though for practical purposes
this implementation restricts the maximum length of a
source line to 160 characters.
* On page 2-8, the paragraphs introduced by the words "System-Names"
and "Reserved Words" should be reformatted to match the paragraph
introduced by "User-Defined Words" earlier in the chapter.
* On page 2-8, the following text should be added below the first
paragraph on System-Names and the second line should be boxed and
marked "MF":
System-names must contain at least one alphabetic character
or one occurrence of the hyphen character.
* On page 2-11, the following text should be added as number 4 to
the section "Conventions for Program-Names":
4. You must not use any of the following combinations of
character as program-names:
ad, al, ar, as, at
du, dv, dx, dy, dz
n1, n2, n3
any program-name beginning "cg"
* On page 2-23, SORT-CONTROL should be in a separate box with a VSC2
bubble.
* On page 3-5, General Rule 3 of the END PROGRAM Header should be
replaced with the following two General Rules:
3. If the program terminated by the END PROGRAM header is
contained within another program, the next statement must
be either an IDENTIFICATION DIVISION header or another END
PROGRAM header which terminates the containing program.
4. If the program terminated by the END PROGRAM header is not
contained within another program and if the next source
statement is a COBOL statement, it must be the
IDENTIFICATION DIVISION header of a program to be compiled
separately from that program terminated by the END PROGRAM
header.
* On page 3-11, a new paragraph should be added below Syntax Rule 5,
not boxed, as follows:
The program-name cannot be the same as another user-defined
word.
* On page 3-21, the phrase PROCEDURE DIVISION statement should read
PROCEDURE DIVISION header.
* On page 3-32, the reference in General Rule 18a of The
Special-Names Paragraph to General Rule 4 should be deleted.
* On page 3-42, add identifier-1 below data-name 1 in Format 1 of
the Data Description Entry. Add the IS TYPEDEF phrase below IS
GLOBAL. Add identifier-2 to the list of parameters following the
USAGE IS clause.
* On page 3-43, the following syntax should be added to General
Format 3 of the Data Description:
* On page 3-59, the following text should be added to Syntax Rule
10:
If the OCCURS DEPENDING ON slide directive is set,
data-name must have a fixed location.
* On page 3-59, The reference in General Rule 2 to General Rule 2
should be to General Rule 20 of the section "Data Description
Engries Other Than Condition-Names and Constant-Names".
* On page 3-75, the OSVS bubble should be removed from Syntax Rule 1
of the REDEFINES Clause.
* On page 3-92, Syntax Rule 12 of The VALUE Clause should be amended
to read:
12. All identifiers must have been defined before the
declaration of the level 78 item. If either identifier-1
or identifier-3 (LENGTH parameters) is a group item, the
definition of that group must have been completed before
the level 78 declaration, by the appearance of another data
item at the same or lower level number.
* On page 3-128, add a new General Rule to the LINE clause as
follows:
6. If PLUS, "+" or "-" is specified in the LINE clause, and an
ACCEPT or DISPLAY statement referencing the Screen Section
item includes the AT LINE NUMBER phrase, the line number at
which this item is presented is the sum or difference of
the two numbers.
* On page 3-143, General Rule 3 of the SIZE clause should be
replaced with the following textL
3. If the size specified in the SIZE clause is less than that
implied by the associated PICTURE or VALUE clause, only the
left-hand portion of the screen item appears on the screen.
If the JUSTIFIED clause is present in an ACCEPT statement,
then only the right-hand portion of the screen item
appears. The remainder of the screen item can be
considered to contain spaces or zeros, as appropriate.
* On page 3-147, the first sentence in both of the General Formats
for the Procedure Division should be amended to read:
[procedure division header]
Place a box around this phrase.
* On page 3-147, the following text should be added below General
Format 2 of the Procedure Division:
The generic term "PROCEDURE DIVISION header" represents
both of the two formats for the PROCEDURE DIVISION Header
shown on the next page.
* On page 3-148, add the following text as Syntax Rule 2 under
Format 1 of the PROCEDURE DIVISION Head, and box it and mark it
with OSVS, CSC2, and SAA bubbles:
2. You can specify the same parameter more than once in a
PROCEDURE DIVISION USING clause.
Subsequent rules should be renumbered accordingly.
* On page 3-158, the following sentence should be added below the
section Comparison of Numeric Operands:
Note: Numeric edited items are of class alphanumeric, and
comparisons involving them follow the rules for comparison
of nonnumeric operands as below.
* On page 3-175, the section Overlapping Operands should read:
* On page 3-182, add a new Syntax Rule boxed MF, to the ACCEPT
statement, as follows:
20. No elementary item within identifier-1 may be longer than
8191 bytes. If the MODE IS BLOCK phrase is used, the whole
of identifier-1 must be no longer than 8191 bytes.
* On page 3-197, add the OMITTED parameter to the General Format of
the CALL statement, after the BY REFERENCE parameter.
* On page 3-198, add a new paragraph to Syntax Rule 4, as follows:
Note: If you call non-COBOL language programs using
level-numbers other than 01 or 77, you may experience
alignment problems. You should use the IBMCOMP directive
and the SYNCHRONIZED clause in order to avoid this. See
the section The SYNCHRONIZED Clause earlier in this
chapter.
* On page 3-200, add a new General Rule as follows:
4. The OMITTED parameter is used to pass unused parameters to
a subprogram without having to declare a dummy data item.
* On page 3-211, General Rule 4 of The COMPUTE Statement should be
replaced with the following text:
4. The COMPUTE statement allows the user to combine arithmetic
operations without the need to explicitly store
intermediate results in temporary data items, as would be
necessary using the arithmetic statements ADD, SUBTRACT,
MULTIPLY and DIVIDE. The expression is evaluated to as many
digits as possible, and truncated or rounded to fit into
identifier-1.
The intermediate results obtained during the expression
evaluation are truncated as if they were moved to data
items whose PICTURE is determined by the COBOL system.
This behavior is selected using the ARITHMETIC directive.
See your COBOL System Reference for details.
The second paragraph beginning with "The intermediate results..."
should be boxed and marked with OSVS and VSC2 bubbles.
* On page 3-216, add a new Syntax Rule boxed MF, to the DISPLAY
statement, as follows:
14. No elementary item within identifier-1 may be longer than
8191 bytes. If the MODE IS BLOCK phrase is used, the whole
of identifier-1 must be no longer than 8191 bytes.
* On page 3-218, General Rule 7c. should be deleted.
* On page 3-267, in the last boxed paragraph of Syntax Rule 5, the
last sentence should read:
If the data item contains data which does not conform to
the edited picture, zero is moved to the target.
* On the same page, the previous paragraph should be amended to
read:
When the receiving item is numeric and the sending item is
defined as alphanumeric, if the content of the sending item
is not an integer, results of the move are undefined. If
the alphanumeric sending item is a literal whose contents
do not represent an integer, an error will be reported, and
zero moved to the target. See the section Incompatible
Data earlier in this chapter.
* On page 3-269, in table 3-10, MOVE Statement Data Categories, a
footnote should be added to the box Alphanumeric (sending item) /
Numeric integer/Non-integer (receiving item), as follows:
2 An error will be reported if a non-integer alphanumeric
literal sending item is used.
* On page 5-24, Syntax Rule 24 should be changed to read:
* On page 5-30, additional General Rules should be added before the
existing General Rule 33, as follows:
33. If the file has more than one record description entry,
data-name-1 need be described only in one of these record
description entries. The identical character positions
referenced by data-name-1 in any one record description
entry are implicitly referenced as keys for all other
record description entries of that file.
34. If the associated file connector is an external file
connector all file description entries in the run unit
which are associated with that file connector must specify
the same data description entry for data-name-1 with the
same relative location within the associated record.
* On page 5-30, a new Syntax Rule should be added to the File
Control Entry, as follows:
39. The ASSIGN phrase is documentary only.
* From page 5-31 to 5-35, the whole of The I/O-CONTROL Paragraph
should be replaced with the following text:
The I/O-CONT<$II/O CONTROL paragraph>ROL Paragraph
Function
The I/O-CONTROL paragraph specifies the points at which rerun is
to be established, the memory area which is to be shared by
different files, and for files with sequential organization the
location of files on a multiple file reel.
Box the following paragraph and mark it with an ANS85 bubble.
The RERUN and MULTIPLE FILE TAPE clauses of the I/O-CONTROL
paragraph are classed as obsolete elements in the ANSI'85 standard
and are scheduled to be deleted from the next full revision of the
ANSI Standard.
Box the following paragraph and mark it with an MF bubble.
All dialects within this COBOL implementation fully support this
syntax. Refer to your COBOL System Reference for details on using
the FLAGSTD directive to detect all occurrences of this syntax.
Box the following paragraph and mark it with an XOPEN bubble.
Although they are a part of the standard COBOL definition, the
RERUN and MULTIPLE FILE TAPE clauses are explicitly excluded from
the X/Open COBOL language definitions and should not be used in
X/Open COBOL source programs.
General Format
I-O-CONTROL.
------------
[ [ [ {file-name-1 }] ]
[ [RERUN [ON {character-string }] ]
[ ----- -- ]
[ ]
[ { { {REEL } } } ]
[ { { [END OF] {---- } } } ]
[ { { --- {UNIT } } } ]
[ { { {---- } } } ]
[ { { } } ]
[ EVERY { { integer-1 RECORDS } } ]
[ ----- { { ------- } } ]
[ { } ]
[ { integer-2 CLOCK-UNITS } ]
[ { ----------- } ]
[ { condition-name } ]
[ [RECORD ] ]
[ [------ ] ]
[ SAME [SORT ] AREA FOR file-name-3 {file-name-4}...]...
[ ---- [---- ] ]
[ [SORT-MERGE ] ]
[ [---------- ] ]
[MULTIPLE FILE TAPE CONTAINS {file-name-5 [POSITION integer-3]}...]...
[-------- ---- { [-------- ]}
+---------------------------------------------+
| [APPLY WRITE-ONLY ON {file-name-6}...]... |
| [----- ---------- ] |
+---------------------------------OSVS--VSC2--+
+---------------------------------------------------------------+
| [ {CORE-INDEX } ] | ]
| [APPLY {---------- } ON file-name-7 [file-name-8]...] | ]
| [----- {RECORD-OVERFLOW } ] | ]
| [ {--------------- } ] | . ]
| | ]
| [APPLY REORG-CRITERIA TO data-name ON file-name-9]... | ]
| [----- -------------- ] | ]
+--------------------------------------------------------OSVS---+
Syntax Rules
1. The I/O-CONTROL paragraph is optional.
2. When either the integer-1 RECORDS clause or the integer-2
CLOCK-UNITS clause is specified, character-string must be
given in the RERUN clause.
3. In the SAME AREA clause, SORT and SORT-MERGE are
equivalent.
4. If the SAME SORT AREA or SAME SORT-MERGE AREA clause is
used, at least one of the file-names must represent a sort
or merge file. Files that do not represent sort or merge
files can also be named in the clause.
5. The two forms of the SAME clause (SAME AREA, SAME RECORD
AREA) are considered separately in the following:
More than one SAME clause can be included in a program,
subject to the following restrictions:
a. A file-name must not appear in more than one SAME AREA
clause.
b. A file-name must not appear in more than one SAME
RECORD AREA clause.
c. If one or more file-names of a SAME AREA clause appear
in a SAME RECORD AREA clause, all of the file-names in
that SAME AREA clause must appear in the SAME RECORD
AREA clause. However, additional file-names not
appearing in that SAME AREA clause can also appear in
that SAME RECORD AREA clause. The rule that only one
of the files mentioned in a SAME AREA clause can be
open at any one time takes precedence over the rule
that all files mentioned in a SAME RECORD AREA clause
can be open at any one time.
d. A file-name that represents a SORT or MERGE file must
not appear in a SAME AREA clause.
e. A file-name that represents a sort or merge file must
not appear in more than one SAME SORT AREA or SAME
SORT-MERGE AREA clause.
f. If a file-name that does not represent a sort or merge
file appears in a SAME AREA clause and one or more
SAME SORT AREA or SAME SORT-MERGE AREA clauses, all of
the files named in that SAME AREA clause must be named
in that SAME SORT AREA or SAME SORT-MERGE AREA
clause(s).
6. The files referenced in the SAME AREA, SAME SORT AREA, SAME
SORT-MERGE AREA, or SAME RECORD AREA clause need not all
have the same organization or access.
7. Character-string must not be a reserved word, a literal or
a user-name. Box this item and mark it with an MF bubble.
8. The END OF REEL/UNIT clause can only be used if file-name-2
is a sequential file.
9. More than one RERUN clause can be specified for a given
file-name-2, subject to the following restrictions:
a. When multiple integer-1 RECORD clauses are specified,
no two of them can specify the same file-name-2.
b. When multiple END OF REEL or END OF UNIT clauses are
specified, no two of them can specify the same
file-name-2.
10. Only one RERUN clause containing the CLOCK-UNITS clause can
be specified.
11. Each clause in the I-O CONTROL paragraph may optionally be
followed by a period. Box and mark this item with OSVS and
CSC2 bubbles.
General Rules
1. The RERUN clause is documentary only. Box and mark this
item with an MF bubble.
2. The SAME AREA clause specifies that two or more files that
do not represent sort or merge files are to use the same
memory area during processing. The area being shared
includes all storage area assigned to the files specified.
It is not, therefore, valid to have more than one of the
files open at the same time. (See Syntax Rule 5c.)
3. The SAME RECORD AREA clause specifies that two or more
files are to use the same memory area for processing the
current logical record. All of the files can be open at
the same time. A logical record in the SAME RECORD AREA is
considered as a logical record of each opened output file
whose file-name appears in this SAME RECORD AREA clause and
of the most recently read input file whose file-name
appears in this SAME RECORD AREA clause. This is
equivalent to an implicit redefinition of the area; that
is, records are aligned on the leftmost character position.
4. The APPLY clause is documentary only. Box and mark this
item with an MF bubble.
5. The MULTIPLE FILE clause is documentary only. Box and mark
this item with an MF bubble.
6. If the SAME SORT AREA or SAME SORT-MERGE AREA clause is
used, at least one of the file-names must represent a sort
or merge file. Files that do not represent sort or merge
files can also be named in the clause. This clause
specifies that storage is shared as follows:
a. The SAME SORT AREA or SAME SORT-MERGE AREA clause
specifies a memory area which will be made available
for use in sorting or merging each sort or merge file
named. Thus any memory area allocated for the sorting
or merging of a sort or merge file is available for
reuse in sorting or merging any of the other sort or
merge files.
b. In addition, storage areas assigned to files that do
not represent sort or merge files can be allocated as
needed for sorting or merging the sort or merge files
named in the SAME SORT AREA or SAME SORT-MERGE AREA
clause.
c. Files other than sort or merge files do not share the
same storage area with each other. If the user wishes
these files to share the same storage area with each
other, he must also include in the program a SAME AREA
or SAME RECORD AREA clause naming these files.
d. During the execution of a SORT or MERGE statement that
refers to a sort or merge file named in this clause,
any non-sort-merge files named in this clause must not
be open.
* On page 5-82, in General Rule 4, the words "file organization and"
should be deleted from the last sentence.
* On pages 5-88 and 5-89, General Formats 3 and 5 of the READ
Statement should be changed so that the READ WITH WAIT phrase is
separate from the other READ WITH options. The READ WITH WAIT
phrase should also be added to Formats 1 and 4.
* On page 5-90, the following text should be added to Syntax Rule 9
of The READ Statement:
Data-name may also be a redefinition of a data-item
specified as a record key associated with a file-name,
provided the data-name has the same length as that
data-item. Box and mark this paragraph with MF and OSVS
bubbles.
The redefinition may have a different length from the
record key. Box and mark this paragraph with an OSVS
bubble.
* On page 5-92, in General Rule 8b, the following text should be
added to the end of the sentence:
, and that record is made available.
* On page 5-95, in General Rule 21, the reference to General Rule 20
should be a reference to General Rule 8.
* On page 5-109, the first paragraph of Syntax Rule 1 of The SORT
Statement should be replaced with the following text:
A Format 1 SORT statement cannot appear in the declaratives
portion of the Procedure Division, or in an input or output
procedure associated with a SORT or MERGE statement.
* On page 5-132, add the following text (boxed and marked with a
VSC2 bubble) as Syntax Rule 8 under Format 1 of the WRITE
Statement:
8. Integer can be signed.
Subsequent rules should be renumbered accordingly.
* On page 5-137, the paragraph beginning "The implicit move will
always take place..." should be deleted.
* On page 6-14, the box and bubbles should be deleted from both the
General Format and Syntax Rule of the EJECT statement.
* On page A-16, all of the columns should be filled in for the
special characters, from OS to DVS.
COBOL/HP-UX Operating Guide
The pages listed in the notes below refer to the COBOL/HP-UX Operating
Guide.
* On page 5-2. in the section "Single Field ACCEPT and DISPLAY
Statements", the following text should be added:
ADIS will not display a character at the last position on
the screen (for example, line 25 column 80 on a 25 line
screen). This is because some terminals scroll
automatically when a character appears in this position,
giving different results on different hardware. If a
character is displayed at a position off the screen, ADIS
scrolls the display such that it is visible.
* On page 7-6, add the A1 switch to the table as follows:
Switch Title Function Default
-----------------------------------------
A1 Base Animator Involves the Off
Switch base Animator
* On page 8-3, in the section "Portability of Call-by-Name
Routines", the following text should be added:
To guarantee the portability of programs using CBL_
routines, you must ensure that the name of a routine is
coded in upper case in your program. The portability
specifications are applicable only in environments where
the Micro Focus COBOL system is available in the given
environments.
* On page 8-4, in the table indicating the portability of
call-by-name routines, change the double-asterisk (**) to a single
asterisk (*) in the COBLIB and LCOBOL columns in the entry for the
following routine:
- CBL_ERROR_PROC
* On page 8-13, in the section "Operation", the following text
should be added:
All calls to CBL_ routines must be coded with the name of
the routine in upper case. Calls to other routines must be
coded as documented--this will generally be in upper case,
but there are some case-sensitive exceptions.
* On page 8-67, in the description of the CBL_SUBSYSTEM, in the
section Parameters On Entry, add the following to the description
of the ss-name parameter:
This must be a COBOL .int or .gnt module.
* On page 31-7, the following run-time tuneable should be added
before same_proc_excl_detection:
noretry_on_decl
Syntax:
set noretry_on_decl={TRUE|FALSE}
Value:
TRUE or FALSE
Specifies whether or not locked records will be
retried when declaratives exist for the file, and
the program has been compiled with RETRYLOCK WORM
(without RM).
Note: This must be set in order to provide
compatibility with COBOL V1.3.
Default:
FALSE
* On page 31-7, the following new run-time tuneable should be added:
program_search_order
Syntax:
set program_search_order={1|2|3}
Value:
1, 2 or 3
Selects the program search order to be used.
1 uses the following search sequence:
1. The run-time system is checked to see if the
program is statically linked.
2. If the COBPATH environment variable is set,
the paths specified are searched in order.
Otherwise, the current directory is searched.
3. The path in which the calling program was
loaded is searched.
4. If $COBDIR is set, the path specified is
searched. Otherwise, /usr/lib/cobol is
searched.
2 uses the following search sequence:
1. The run-time system is checked to see if the
program is statically linked.
2. The path in which the calling program was
loaded is searched.
3. If the COBPATH environment variable is set,
the paths specified are searched in order.
Otherwise, the current directory is searched.
4. If $COBDIR is set, the path specified is
searched. Otherwise, /usr/lib/cobol is
searched.
3 uses the following search sequence:
1. The run-time system is checked to see if the
program is statically linked.
2. The current directory is searched.
3. If the COBPATH environment variable is set,
the paths specified are searched in order.
4. If $COBDIR is set, the path specified is
searched. Otherwise, /usr/lib/cobol is
searched.
Default: 1
* On page 31-7, the following new run-time tuneable should be added:
skip_on_lock
Syntax:
set skip_on_lock={TRUE|FALSE}
Value:
TRUE or FALSE
Specifies whether or not a READ WITH LOCK of a
locked record in a program compiled with the
directive NODETECTLOCK will cause a subsequent READ
NEXT/PREVIOUS to reread the logical NEXT/PREVIOUS
record or the currently locked record.
Default: FALSE
* On page E-2, the appendix for Descriptions of Run-Time Switches,
add the following new switch:
Base Animator Switch (A1)
Invokes the base Animator to animate intermediate code
which is either created using the cobrun command or
dynamically loaded by a statically linked module.
Default: Off
If you wish to use the base Animator to animate
intermediate code created by the cob command, you can use
the animbase command, which automatically sets this switch
on.
* On page G-12, the appendix for Directives for Compiler/Generator,
the following new Compiler directives should be added:
ADDRSV
Adds one or more specific reserved words to the reserved
word list, so that they will be recognized as reserved
words within the user program. The specified reserved
words will be added to whatever dialect directives are in
force.
Syntax:
Parameters:
rsv-word A reserved word in some dialect of
COBOL, but not necessarily in a
dialect specified for this
compilation.
Default: No additional reserved words are
added.
Phase: Compile.
$SET: Initial
This directive does not appear in the list created with the
SETTING directive.
COMP-6
Specifies whether COMP-6 data is to be held in binary or
packed decimal format.
Syntax:
Parameters:
integer Must be 1 or 2
Default: COMP-6"2"
Phase: Compile
$SET: Initial
The possible values of integer are:
1 A binary format is used for COMP-6 data, as
described in the appendix Ryan McFarland COBOL V2.0
Syntax Support in your Language Reference.
2 Packed decimal format is used. If the item is
signed, the format is identical to COMP-3. If the
item is unsigned, no sign field is present. For
example:
PIC 99 COMP-6 VALUE 99 is stored in one byte as
x"99".
PIC S99 COMP-6 VALUE 99 is stored in two bytes as
x"099c".
__________________________________________________________
NOTE Even if the COMP-6 directive is specified, the
reserved word COMP-6 is recognized only if it belongs
to a chosen dialect, or if the ADDRSV (COMP-6)
directive is specified.
__________________________________________________________
* On page N-1, replace the first paragraph, which begins with
"Because UNIX terminals vary widely....", with the following:
Many UNIX terminals do not send a sequence when the Alt or
Ctrl key is pressed. This means that there is no way for
your product to detect these keys, so instead you should
luse /a for Alt and /c for Ctrl. This appendix lists
alternatives for other keys that may also be undetectable
on your specific UNIX terminal.
Error Messages
The pages listed in the notes below refer to the COBOL/HP-UX Error
Messages.
* On page 2-21, in error 0120, currency symbol R should be removed
from the list of illegal currency symbols.
* On page 2-28, in the description of error 0213, the limit for
alphanumeric data items should be changed from eight megabytes to
256 megabytes.
* On page 2-30, the last line of error 0223, reading "Note that this
COBOL system does not support USAGE COMP-1 or USAGE COMP-2",
should be deleted.
* On page 2-44, error 0316 should refer to a maximum of seven AFTER
phrases, and not six.
* On page 2-67, the following new error message should be added:
0689 Condition name cannot be set to FALSE (no FALSE value
specified)
You have tried to set a level-88 item to FALSE without
having first specified the SET TO FALSE statement.
Specify the SET TO FALSE statement in your program.
* On page 2-72, the following new error message should be added:
1055 Requested SQLSTDLVL incompatible with your version of
DBM. Directive ignored
You have set a directive which has no meaning on your
database manager.
* On page 2-76, the following text should replace the explanation
for syntax error message 1126:
* In accordance with ANS85 specifications, the relational
operator "=" is considered to be a COBOL reserved word; all
reserved words must be both preceded and delimited by a
space.
* On page 3-9, the following new error message should be added:
053 MODEL() only valid with OMF (OBJ), MODEL() ignored
When you use an invalid combination of directives,
your COBOL system tries to make it valid by assuming
appropriate directives.
To prevent the message being displayed, use the
NOWARNING directive.
* On page 3-10, the following new error message should be added:
057 NOLITLINK not valid with MODEL(SMALL), LITLINK assumed
When you use an invalid combination of directives,
your COBOL system tried to make it valid by assuming
appropriate directives.
To prevent the message being displayed, use the
NOWARNING directive.
* On page 4-1, the following paragraph should be added below the
introductory paragraph:
If your program uses intrinsic functions, you will also
require the floating-point module. See your COBOL System
Reference for details of Run-Time system support modules.
* On pages 4-1 and 4-2, the paragraph beginning "Your COBOL system
displays these messages...", and up to the section beginning
"Types of Error", should be replaced with the following text:
Format of Messages
UNIX
Your COBOL System for UNIX displays these messages in one
of the following two formats:
action error: file 'file-name'
error code:yyy, pc=nnnnnnnn, call=m, seg=x
999 message-text
or
rts32: message
where:
action is what the Run-Time System was
actioning at the time the message was
caused. For example, execution, I-O,
load, or write.
file-name is the name of the file the Run-Time
System was operating on.
yyy is either the Run-Time System message
number, or, if the error is caused by
an I-O operation, the file status
value. If yyy contains a file status
value, the file status mappings
currently in force are also
displayed.
nnnnnnnn is a hexadecimal number giving the
address of the program counter and
can be related back to the source
program by using the REF compiler
option.
m is a number that is used internally
to identify the program that is in
error. This is 0 for a main program
or greater than 0 for a subprogram.
x is a number that identifies the
segment containing the error. This
is 0 if the error is in the root, or
in the range 51 to 99 if the error is
in an overlay.
999 is the Run-Time System message
number.
message-text is the text associated with the
message number.
message is either:
"Not enough room for message"
or
"Fatal Error while attempting to process
error yyy"
where yyy is as defined above.
* On page 4-8, the following additional explanation and solution
should be added to Run-Time System error 021:
The attributes are not set up correctly to allow you
to access a file.
You need to either change your file access attributes
or recode your program so that it does not violate the
existing attributes.
* On page 4-14, the following new Run-Time System error message
should be added:
055 Routine table overflow
You have attempted to load too many programs
simultaneously.
Cancel any programs that you are no longer using, or
use fewer separate programs.
* On page 4-25, the following text should be added to Run-Time
System error 155:
Alternatively, you have set an invalid COBSW value.
Reset COBSW to a valid value.
* On page 4-39, the following text should be added below Run-Time
System error 227:
Two or more programs are defining the same external
data item, but the first loaded program has defined
the size smaller than has the second or subsequent
loaded program.
Make sure that both or all of your programs define the
size of the external data item as being the same.
* On page 4-40, the following new Run-Time System error messages
should be added:
235 Error in animation communications channel
Animator has encountered system limits or conflicts
resulting in communications errors. Perhaps two
logins on the same UNIX system are attempting to cross
session animate the same program file.
Copy the animated program file to a different
directory and attempt animation.
236 Animated program has terminated unexpectedly
A program you are animating has terminated without
following the standard Run-time system "shut-down"
process.
If this termination was neither initiated by the user
nor caused by a severe run-time error, contact
Technical Support.
237 Unable to initialize animated process
Animator has encountered system limits in starting
your program. The program cannot start.
Contact your system administrator.
* On page A-2, Flag 428 should be renamed Edited Digits.
* On pages A-2 and A-3, the following limits should be added to the
appropriate columns:
--------------------------------------------
| |
| Flag Limit SAA |
| Level |
| 2 |
| |
--------------------------------------------
| |
| 412 ALTERNATE Key Clauses 63 |
| |
| 415 Data SECTION Size n/a |
| |
| 425 FILE SECTION Group Item n/a |
| |
| 428 Edited Digits 127 |
| |
| 430 VALUE Literal Length n/a |
| |
| 433 Sort RECORD Size 32767 |
| |
| 440 Paragraph Names n/a |
| |
| 441 PERFORMS n/a |
| |
| 451 Sort Key Size 256 |
| |
--------------------------------------------
* On the same pages, the following limits replace the limits
documented:
--------------------------------------------
| |
| Flag Limit SAA |
| Level |
| 1 |
| |
--------------------------------------------
| |
| 426 Length of Group Item 131071 |
| |
| 428 Edited Digits 127 |
| |
| 432 PICTURE Replication 32767 |
| |
--------------------------------------------
* On the same pages, the following new limits should be added:
--------------------------------------------------------------
| |
| Flag Limit SAA SAA OSVS VSC2 |
| Level Level |
| 1 2 |
| |
--------------------------------------------------------------
| |
| 429 Table Size (variable 32767 32767 32767 16777200|
| length) |
| |
| 435 Table Element Size 32767 32767 32767 8388607 |
| |
--------------------------------------------------------------
Compatibility Guide
The pages listed in this section refer to pages of the COBOL/HP-UX
Compatibility Guide .
* On page 2-1, the following new paragraphs should be added above
the section Configuring Your System:
Microsoft COBOL V2.2 is a DOS system. The compatibility
issues described in this Part apply to both DOS and OS/2
versions and UNIX versions of this COBOL system, with the
following restriction:
Restriction: Data file conversion using Rebuild, and the
Microsoft COBOL V2.2 extension routines are not supported
in UNIX versions of this COBOL system.
* On the same page, the second paragraph in the section Configuring
Your System should be replaced with the following text:
Before submitting your Microsoft COBOL V2.2 programs to
this COBOL system, you must:
* On page 2-2, the following paragraph should be added before the
section Migrating Your Application:
Under DOS and OS/2 this can be done by selecting the
Microsoft COBOL V2.2 option from within the Setup utility.
Under UNIX it must be done manually.
* On page 3-1, the second and third paragraphs should be replaced
with the following text:
Rebuild, the file management utility, has a facility which
converts files in Microsoft COBOL V1 and V2.2 formats for
use with this COBOL system. (You can find details of the
other facilities offered by Rebuild in the COBOL System
Reference supplied with DOS and OS/2 versions of this
system.)
Restriction: Rebuild is provided only with DOS and OS/2
versions of this system and runs only on DOS and OS/2.
Before using Rebuild, you should make a backup copy of the
file being converted. Rebuild takes every precaution to
prevent files being corrupted, but it can happen if the
command line is incorrectly specified.
* On page 7-3, the following text should be added before the section
"Reserved Words":
Linkage Section in Main Program
Under RM/COBOL, if the main program has a Linkage Section, it is
initialized by the parameter passed on the command line. Under
this COBOL system, it is illegal to reference Linkage Section
items within the main program.
Solution:
Use the following root program to pass the command line and its
length to your main program:
IDENTIFICATION DIVISION.
PROGRAM-ID. ROOT.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. COBOL2.
WORKING-STORAGE SECTION.
01 MAIN-LINKAGE.
03 CMD-LENGTH PIC 9(4) BINARY VALUE 0.
03 CMD-LINE PIC X(100).
PROCEDURE DIVISION.
ACCEPT CMD-LINE FROM COMMAND-LINE.
IF CMD-LINE NOT = SPACES
INSPECT CMD-LINE TALLYING CMD-LENGTH FOR
CHARACTERS BEFORE INITIAL SPACE
END-IF
CALL "MAIN" USING MAIN-LINKAGE.
EXIT PROGRAM.
Extended I-O Status Codes
Under RM/COBOL, your program must call an RM/COBOL internal
subprogram named C$RERR in order to get an extended file status
code. Under this COBOL system, extended file status codes are
reported in the second byte of the file status.
Solution:
C$RERR can be emulated by the following program.
IDENTIFICATION DIVISION.
PROGRAM-ID. CRERR.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. COBOL2.
WORKING-STORAGE SECTION.
01 MFC2-FILE-STATUS.
03 MFC2-STATUS-1 PIC X.
03 MFC2-STATUS-2 PIC X.
03 MFC2-STATUS-BINARY REDEFINES MFC2-STATUS-2
PIC 99 COMP-X.
LINKAGE SECTION.
01 RM-EXTENDED-STATUS.
03 RM-EXTENDED-STATUS-1 PIC 9.
03 RM-EXTENDED-STATUS-2 PIC 999.
PROCEDURE DIVISION USING RM-EXTENDED-STATUS.
MOVE RM-EXTENDED-STATUS TO MFC2-FILE-STATUS.
IF MFC2-STATUS-1 = "9"
MOVE MFC2-STATUS-BINARY TO RM-EXTENDED-STATUS-2
ELSE
MOVE "00" TO RM-EXTENDED-STATUS ( 3 : 2 )
END-IF
EXIT PROGRAM.
For the above example to work correctly, the first two bytes of
Linkage item RM-EXTENDED-STATUS must contain the COBOL file status
as in the following example:
FILE-CONTROL.
SELECT OPTIONAL SEQ-FILE
ASSIGN TO RANDOM, "MYFILE"
ORGANIZATION LINE SEQUENTIAL
STATUS IS IO-FILE-STATUS.
WORKING-STORAGE SECTION.
01 IO-FILE-STATUS
03 RM-EXTENDED-STATUS PIC X(4).
* On page 14-2, in Reformatting Rule 3, the reference to columns 8
to 11 should be a reference to columns 1 to 4.
* On page 21-2, in the section "Synonyms", the line of information
for DBCS should be deleted.
MPE/iX 5.0 Documentation