=========================================================================
M I C R O F O C U S C O B O L
V3.1.39
Running Under The DG/UX Operating System Version 5.4.2
On The AViiON
=========================================================================
DOCUMENTATION UPDATE NOTES
==========================
TABLE OF CONTENTS
=================
INTRODUCTION
CHANGES TO PRINTED BOOKS
General
Language Reference
Language Reference - Additional Topics
Error Messages
COBOL System Reference
Pocket Guide
COBOL User Guide
CHANGES TO ON-DISK DOCUMENTS
INTRODUCTION
============
These Documentation Update Notes (DUNs) give changes to the printed
manuals. These changes provide information that was not available when
the manuals were printed, include changes made to the software since
V3.1.31, and cover Early Release features that do not need separate
on-disk documents. You may want to mark the changes in your manuals.
CHANGES TO PRINTED BOOKS
========================
General
=======
o On the back covers of all books, change the address of Micro Focus's
office in Germany to:
Micro Focus GmbH
Am Moosfeld 11
D-81829 Munchen
Germany
(Keep the umlaut - the two dots - over the "u" in "Munchen".)
Language Reference
==================
Chapter 4 (Program Definition)
------------------------------
o Page 4-36. Amend the first sentence of General Rule 19 to read:
The CRT STATUS clause specifies a 3-byte data item, into which a
status value is moved after each Format 4 or Format 5 ACCEPT
statement.
o Page 4-37. Amend the first sentence of the CRT Status Key 3 paragraph
to read:
The third byte of data-name-1 is CRT Status Key 3 and should be
described as PICTURE 99 COMP or PICTURE 99 COMP-X.
o Page 4-37. Add the following text:
The program below demonstrates the use of the CRT status clause:
$set mf ans85
************************************************************
* *
* (C) Micro Focus Ltd. 1992 *
* *
* TIMEACCP.CBL *
* *
* This program demonstrates ACCEPT with TIMEOUT, *
* and how to refresh system time. *
* *
************************************************************
special-names.
cursor is cursor-position
crt status is crt-status.
working-storage section.
01 cursor-position pic 9(4).
01 crt-status.
03 key-type pic x.
78 terminate-key value "0".
78 function-key value "1".
78 adis-key value "2".
03 key-code-1 pic 99 comp.
78 esc-key value 0.
78 f1-key value 1.
78 enter-key value 1.
78 f2-key value 2.
03 filler pic 99 comp.
01 timeout-field pic x comp-x.
01 first-field pic x(10).
01 time-data.
05 time-hrmin pic 9(4).
05 time-sechn pic 9(4).
screen section.
01 screen-1.
05 blank screen.
05 line 3 column 4 value "Enter first field ".
05 pic x(10) using first-field
foreground-color 4
background-color 7.
procedure division.
move 3.0 to timeout-field
display screen-1
perform until key-type = terminate-key
accept screen-1 timeout after timeout-field
accept time-data from time
display time-data at 1200
end-perform
stop run.
o Page 4-57. Add the following text above the File Section heading:
General Description
The Data Division describes the data that the object program is
to accept as input, to manipulate, to create, or to produce as
output.
o Page 4-71. 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.
o Page 4-74. Add the following two new General Rules:
8. The IS TYPEDEF phrase allows you to declare a group or
elementary data description as a type definition, and allows
instances of that data description to be declared.
9. If the TYPEDEF phrase is a group TYPEDEF, the components of
the TYPEDEF are referenced using the usual COBOL rules of
qualification.
Note: The TYPEDEF phrase is Micro Focus Early User syntax
support. You must set the EARLY-RELEASE directive to
enable this feature.
This should be boxed MF. Renumber subsequent rules accordingly.
o Page 4-116. Add a new Syntax Rule as follows:
5. Line sequential files are neither truly fixed nor truly
variable format files: the presence or absence of any
RECORDING MODE, RECORD CONTAINS or RECORD VARYING IN SIZE
clause does not, therefore, impact their format.
This should be boxed MF.
o Page 4-142. Delete the last two sentences of General Rule 18.
o Page 4-142. Replace General Rule 22 with the following text:
The value returned by NEXT is the offset at which the next byte
of storage occurs after the previous data declaration.
o Page 4-142. Amend General Rule 24 so that it refers to rules 22 and
23, rather than to rules 5 and 6.
o Page 4-151. Amend the syntax diagram as follows:
[ {PICTURE} ]
[ {-------} IS character-string ]
[ {PIC } ]
[ {--- } ]
[ FROM {identifier-6 } ]
[ ---- {literal-2 } ]
[ TO identifier-7 ]
[ -- ]
[ USING identifier-8 ]
[ ----- ]
o Page 4-169. Add a new clause before The FULL Clause as follows:
The FROM Clause
Function
The FROM clause identifies the source of data for display.
General Format
FROM {identifier-6 }
---- {literal-2 }
Syntax Rules
1. The FROM clause, when used with the TO clause, is equivalent
to the USING clause, both specifying the same identifier. It
must not be used with the USING clause.
2. The identifier in the FROM clause can be qualified. If no
OCCURS clause applies to the screen item, this identifier can
be subscripted or indexed. It must be defined in the File,
Working-Storage, Local-Storage, or Linkage Section of the
program.
General Rule
Executing a DISPLAY statement on a screen item whose description
includes a FROM clause moves data from the associated data item
to the screen item, and then displays the screen item on the
screen.
The whole of this clause should be boxed MF and XOPEN.
o Page 4-181. Remove the FROM, USING and TO clauses from the PICTURE
clause syntax diagram. Remove the second sentence from the Function
section. Remove Syntax Rules 2, 4 and 6. Add a new syntax rule as
follows:
2. The PICTURE clause should be used in conjunction with one or
more of the FROM, TO or USING clauses.
Subsequent rules should be renumbered accordingly.
o Page 4-182. Remove General Rules 2 and 4. Subsequent rules should be
renumbered accordingly.
o Page 4-192. Insert a new clause before The UNDERLINE Clause as follows:
The TO Clause
Function
The TO clause identifies the destination of data accepted.
General Format
TO identifier-7
--
Syntax Rules
1. The TO clause, when used with the FROM clause, is equivalent to
the USING clause, both specifying the same identifier. It must
not be used with the USING clause.
2. The identifier in the TO clause can be qualified. If no OCCURS
clause applies to the screen item, this identifier can be
subscripted or indexed. It must be defined in the File,
Working-Storage, Local-Storage, or Linkage Section of the
program.
General Rule
Executing an ACCEPT statement on a screen item whose description
includes a TO clause accepts operator-keyed data into the screen
item, and then moves that data to the associated data item.
The whole of this clause should be boxed MF and XOPEN.
o Page 4-192. Insert a new clause after The UNDERLINE Clause as follows:
The USAGE Clause
Function
The USAGE clause specifies the format of a data item in the computer
storage.
General Format
USAGE IS DISPLAY
----- -------
Syntax Rules
1. The USAGE clause cannot be specified for level 66 or 88 data
description entries.
General Rules
1. The USAGE clause can be written at any level. If the USAGE clause
is written at group level, it applies to each elementary item in
the group but does not have any effect on the allowed use of the
group item. The USAGE clause of an elementary item cannot
contradict the USAGE clause of a group to which the item belongs.
2. The USAGE clause specifies the manner in which an elementary data
item is represented in the storage of a computer. It does not
affect the use of the data item, although the specifications for
some statements in the Procedure Division can restrict the
operands to elementary items with particular USAGE clauses. The
USAGE clause can affect the radix or type of character
representation of the item.
3. The USAGE IS DISPLAY clause indicates that the format of the data
is a standard data format.
4. If the USAGE clause is not specified for an elementary item, or
for any group to which the item belongs, the usage is
implicitly DISPLAY.
5. The USAGE IS DISPLAY clause is valid for the following types of
items:
Alphabetic
Alphanumeric
Alphanumeric edited
Numeric edited
External floating-point
External decimal (numeric)
6. Space requirements and storage definitions for the USAGE IS
DISPLAY option is given under the section Selection of Character
Representation and Radix in the chapter Concepts of the COBOL
Language.
The whole of this clause should be boxed MF and XOPEN.
o Page 4-192. Insert a new clause after The USAGE Clause as follows:
The USING Clause
Function
The USING clause identifies the source of data for display.
General Format
USING identifier-8
-----
Syntax Rules
1. The USING clause is equivalent to the TO and FROM clauses, both
specifying the same identifier. It must not be used with either
the TO or FROM clause.
2. The identifier in the USING clause can be qualified. If no
OCCURS clause applies to the screen item, this identifier can be
subscripted or indexed. It must be defined in the File,
Working-Storage, Local-Storage, or Linkage Section of the
program.
General Rules
1. Executing a DISPLAY statement on a screen item whose description
includes a USING clause moves data from the associated data item
to the screen item, and then displays the screen item on the
screen.
2. Executing an ACCEPT statement on a screen item whose description
includes a TO clause accepts operator-keyed data into the screen
item, and then moves that data to the associated data item.
The whole of this clause should be boxed MF and XOPEN.
o Page 4-225. Add the following paragraph to the section "Overlapping
Operands":
Overlapping moves are detected at compile time only when the MOVE
verb is used and neither operand uses reference modification or
subscripting. Forward overlapping moves result in a warning
message, if you set the directive WARNING"3". Any other types
result in flagging messages, if you set the directive
FLAG"dialect", where "dialect" is anything but OSVS. Other
operations resulting in sending and receiving items sharing the
same memory are not detected.
o Page 4-293. Amend the last sentence of Syntax Rule 6 to read:
See the chapter "Run-time Configuration" in your COBOL System
Reference (for UNIX) for details of behavior configuration.
o Page 4-294. Add the following text as General Rule 1 of The ACCEPT
Statement:
All Formats
1. For alphanumeric data items, the size of the field that is
accepted from the screen during an ACCEPT statement is
exactly the same size as the target field. Therefore, if you
want data to appear at the right hand side of a field, you
must enter it there.
o Page 4-296. Add the following text to General Rule 5 of The ACCEPT
Statement:
ACCEPT UPON ENVIRONMENT NAME and ACCEPT UPON ENVIRONMENT
VALUE are fully supported only when MFEXTMAP is enabled.
Without MFEXTMAP being enabled, ACCEPT UPON ENVIRONMENT NAME
and ACCEPT UPON ENVIRONMENT VALUE take the ON EXCEPTION
route.
o Page 4-309. Add the OMITTED parameter to the General Format of the
CALL statement, after the BY REFERENCE parameter.
This should be boxed MF. Renumber subsequent rules accordingly.
o Page 4-310. Add two new Syntax Rules as follows:
7. The OMITTED parameter is a BY REFERENCE parameter, equivalent
to passing a null address to the calling subprogram. It is
identical to BY VALUE 0 SIZE 4 but is subject to the type
checking of call prototypes as a BY REFERENCE parameter.
8. If BY REFERENCE does not immediately precede OMITTED,
subsequent parameters are passed by the convention previously
in force.
Note: The OMITTED parameter is Micro Focus Early User syntax
support. You must set the EARLY-RELEASE directive to
enable this feature.
This should be boxed MF. Renumber subsequent rules accordingly.
o Page 4-311. Add a new Syntax Rule as follows:
21. RETURNING and GIVING can be used interchangeably.
This should be boxed MF.
o Page 4-312. 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.
This should be boxed MF. Renumber subsequent rules accordingly.
o Page 4-342. Add the following text to General Rule 7 of The DISPLAY
Statement:
DISPLAY UPON ENVIRONMENT NAME and DISPLAY UPON ENVIRONMENT
VALUE are fully supported only when MFEXTMAP is enabled.
Without MFEXTMAP being enabled, DISPLAY UPON ENVIRONMENT NAME
and DISPLAY UPON ENVIRONMENT VALUE take the ON EXCEPTION
route.
o Page 4-461. Add an MF bubble and an OSVS bubble to the boxed rule 10.
o Page 4-512. Add a new Syntax Rule as follows:
Format 1 (Line Sequential Files)
13.If you have a fixed length record file, where records of
different lengths are being redefined, you need to be aware
that the entire buffer area is written to the file. You
might, therefore, need to space-fill if the current record is
shorter than the previous one.
This should be boxed MF. Renumber subsequent rules accordingly.
Language Reference - Additional Topics
======================================
Chapter 6 (Double-Byte Character Set Support)
---------------------------------------------
o Page 6-2. Amend the section "Multivendor Integration Architecture
Support" to read:
Programs written to the NTT Multivendor Integration Architecture
(MIA) Support can be compiled by the COBOL compiler, using the
DBCS and CURRENCY-SIGN"92" directives.
Chapter 7 (Micro Focus Extensions for Double-Byte Character Support)
--------------------------------------------------------------------
o Page 7-11. Add the following text:
Condition-Name
If a condition-name with a literal of class NCHAR is associated
with an elementary item which is not of class NCHAR, the literal
is treated as an SBCS alphanumeric literal.
Error Messages
==============
Chapter 2 (Syntax Checking Messages)
------------------------------------
o Page 2-3. Remove the LOW, L-I, H-I and HIGH flagtypes.
o Page 2-4. Add the following to both lists of flagtypes:
COBOL370 IBM SAA AD/Cycle COBOL370
DOSVS DOS/VS COBOL
o Page 2-4. Amend the first sentence of the last paragraph to read:
Flags in the range 404 to 453 are produced if the source program
exceeds the limits of the mainframe compiler implementation
specified in the FLAG directive.
o Page 2-4. Remove the last sentence of the last paragraph.
o Page 2-68. Add a new message:
0696 Data-name must be specified with TYPEDEF
o Page 2-68. Add a new message:
0699 ADVANCING PAGE and END-OF-PAGE used in same WRITE statement
Under ANS85 and VSC2, ADVANCING PAGE and END-OF-PAGE
are not allowed in the same WRITE statement.
o Page 4-41. Add the following information to error 225:
Alternatively, you have insufficient memory to load your program.
Alternatively, the run-time system could not find enough file
handles to open and, therefore, load the code.
Either free some memory, use XM or restructure your application
so that it uses less memory.
Increase your operating system file handles limit.
COBOL System Reference
======================
Chapter 2 (Adis)
----------------
o Page 2-21. In the section "Adis Run-time Configuration", add the
following text before the paragraph that begins "The values to be set
for ...":
For selecting the units used to measure timeouts or controlling
the resetting of timeouts, parameter-block should be defined as
follows:
01 parameter-block.
03 bit-pair-setting pic 9(2) comp-x.
03 filler pic x value "6".
03 bit-pair-number pic 9(2) comp-x.
03 filler pic 9(2) comp-x value 1.
The sections "Select Timeout Units" and "Timeout Reset Control"
later in this chapter use this definition of parameter-block.
o Page 2-27. In the section "Select Timeout Units", add the following
text before the paragraph that begins "The fields in
parameter-block ...":
For this routine, parameter-block should be defined as follows:
01 parameter-block.
03 bit-pair-setting pic 9(2) comp-x.
03 filler pic x value "6".
03 bit-pair-number pic 9(2) comp-x.
03 filler pic 9(2) comp-x value 1.
o Page 2-28. In the section "Timeout Reset Control", add the following
text before the paragraph that begins "The fields in
parameter-block ...":
For this routine, parameter-block should be defined as follows:
01 parameter-block.
03 bit-pair-setting pic 9(2) comp-x.
03 filler pic x value "6".
03 bit-pair-number pic 9(2) comp-x.
03 filler pic 9(2) comp-x value 1.
Chapter 10 (Device Handling and Terminfo)
-----------------------------------------
o Page 10-16. Add the following bullet to the section "Note":
o Any attributes in ACCEPT or DISPLAY statements are
automatically disabled by the RTS if your terminal
uses character positions to store attributes.
Chapter 13 (File Handling)
--------------------------
o Page 13 -4. The list of symbolic device names in the section
"File-naming Conventions on DOS, Windows and OS/2" should include a
trailing colon (:) as part of the device name. For example:
LPT1:
A:
AUX:
LST:
Chapter 11 (External File-name Mapping)
---------------------------------------
o Page 11-2. Change the first paragraph in the section "Operation"
to read:
When your program opens a file, the system prefixes "DD_" to that
file's name. "dd_" is also recognized. The system then extracts
the first element of the file-name and looks for an environment
variable with that name. The file-name you specify should be in
exactly the same case as the file you want to open.
The first element of the file-name consists of either all the
text before the first "/" character, all the text if the name
does not include such a character, or nothing if the file-name
actually starts with the "/" character.
So for example, if you try to open a file named dir/file1, the
system searches for the environment variable dd_dir; if you try
to open a file named dir1/dir2/file1, the system searches for
dd_dir1 and if the file is named file1, the system searches for
dd_file1.
Chapter 12 (File Handler Utilities)
-----------------------------------
o Page 12-9. Change the text in the section "Line Sequential Files"
to read:
Line sequential files are a special type of file consisting of a
series of variable-length records. They correspond directly to
text files produced by standard editors.
Chapter 10 (Integrated Preprocessor)
------------------------------------
o Page 17 -10. Add the following text to the description for Value 128
in the section "Marking Source Lines":
Value 128 should only be used when the Preprocessor is expanding
a COPY-file. If value 128 is used when the Preprocessor is not
expanding a COPY-file, the Checker interprets this value as the
end of the source code and aborts the compilation. To prevent
this, use Value 0 (described earlier).
Chapter 19 (Library Routines (Call-by-Name))
-----------------------------------------
o Page 19 -14. In the description of CBL_ALLOC_MEM, change the
description of the mem-pointer parameter to read as follows:
Parameters on Exit:
mem-pointer A pointer to the space allocated in memory. The
routine does not initialize this memory space to any
value; you must initialize the allocated space
before using it. mem-pointer must be a 01-level data
item.
o Page 19 -25. In the description of CBL_EXEC_RUN_UNIT, add the
following bullet item to the "Remarks" paragraph:
o Screen I/O for programs executed using this routine is not
portable between DOS, Windows and OS/2 environments and UNIX
environments.
Under DOS, Windows and OS/2, all programs write to the Video
Screen Map, so all programs executed are aware of each
others' screen I/O.
Under UNIX, each program executed implements its own screen
map. That means that none of the programs executed are aware
of any other program's screen I/O. Thus, using screen I/O
for programs executed using CBL_EXEC_RUN_UNIT under UNIX can
lead to unexpected results.
Chapter 16 (On-line Help System Access and Display Utility (Hyhelp)
-------------------------------------------------------------------
o Page 23 -13. In the section "Hyhelp Function Access", add the
following line after the description of accessing the Search
function:
Set Cursor Mode D
o Page 23 -21. Add the following new function after the description of
the Search function:
Set Cursor Mode
Specifies that you can use the cursor keys to move around the
topic window. If you move the cursor over a hotspot, that hotspot
is automatically selected. In cursor mode, you can scroll up or
down through a topic by using Ctrl+Up and Ctrl+Down respectively.
Pressing D once sets curosr mode on; pressing D again unsets
cursor mode. This function is most useful on environments where
no mouse is present.
-added V3.1.39
Chapter 24 (Panels)
-------------------
o Page 24 -27. In the section "PF-Flush-Panel (Value 9)", remove
PPB-Rectangle-Offset and PPB-Update-Count from the subsections
"Parameters:" and "On Entry:" as these fields have no effect
on this function.
o Page 24 -28. In the example program, remove the following lines:
* Within the defined rectangle, apply updates beginning with the
* first character (relative to 0).
move 0 to ppb-rectangle-offset
On the same page, also remove the following lines:
* The update rectangle contains 450 characters (15 lines times
* 30 characters per line).
move 450 to ppb-update-count
Appendix B (Descriptions of cob Flags)
--------------------------------------
o Pg B-11. Remove the following entry from the list of RTS symbols
that can be mapped using the -m cob flag:
lsfile line sequential fixed length record file handler
Appendix C (Descriptions of Run-time Switches)
----------------------------------------------
o Page C-7. In the description of the l (lower-case L) Memory Switch,
add the following text in the "Remarks" paragraph:
Statically linked COBOL programs cannot be physically canceled
because they cannot be removed from memory. Additionally,
duplicate entry point names are not allowed in statically linked
programs; you must ensure that all statically linked programs
have uniqe entry point names.
Logical cancels behave in the same way as these physical cancels
under statically linked programs. Therefore, an application
developed using .int/.gnt code with logical cancels should
exhibit the came behavior when statically linked. However, if you
used physical cancels and duplicated entry point names while
developing the application, then the application may fail to
static link.
Appendix E (Directives for Compiler)
------------------------------------
o Page E -7. Remove the TRUNCCOPY directive from the list "Listing"
and move it to the list "Mainframe Compatibility" on page E -3.
o Page E -25. Amend the
o Page E -34. Remove the Remarks paragraph of the CALLSORT directive.
o Page E -35. Amend the second sentence in the Remarks paragraph of
the CHARSET directive to read:
Do not change its setting if you are using lcobol.
o Page E -60. Amend the
o Page E -61. Add the following text at the end of the DIRECTIVES
directive:
See also: USE
o Page E -63. Add the following text below the
If EARLY-RELEASE and MF are set, MF defaults to
MF"10".
o Page E -71. In the description of the FILETYPE directive, change:
10 Mainframe print file format
11 - 255 Reserved
to:
10 Reserved
11 Mainframe print file format
12 - 255 Reserved
-added V3.1.35
o Page E -71. In the list of integer values, the values for numbers 10
and 11 are the wrong way round.
o Page E -71. In the description of the FILETYPE directive, delete
the final paragraph, which begins "Types 7 and above...".
o Page E -74. Amend the introductory sentence to the FLAGMIG directive to
read:
Causes the Compiler to flag any syntax that behaves differently
in CMPR2 and NOCMPR2.
o Page E -77. Add a new directive:
FOLDCALLNAME
Folds the PROGRAM-ID name and END PROGRAM name to upper or
lower case.
Syntax:
>>---.---.--.-------FOLDCALLNAME "case"-.------------><
+-/-+ +--NO---FOLDCALLNAME--------+
Parameters:
case "UPPER" or "LOWER"
Default: NOFOLDCALLNAME
Phase: Syntax check
By default the PROGRAM-ID name is folded to upper case and left
untouched if it is in quotes. With FOLDCALLNAME even if it is in
quotes it will be folded.
FOLDCALLNAME under EARLY-RELEASE directive.
Note: This is an Early Release feature. You must set the
EARLY-RELEASE directive to use it.
o Page E -87. Change the syntax diagram for the INT directive to:
>>---.---.--.-------INT-.--"path-name\file-name"-.--.--><
+-/-+ . +--"path-name\"----------+ .
. +--"file-name"-----------+ .
. +--()--------------------+ .
. .
+--NO---INT-----------------------------+
Add a description for path-name above that for file-name in the
Parameters list, as follows:
path-name Path specification, or environment variable specifying
the path specification.
Add the following text to the paragraph beginning "If you specify..":
If you specify <path-name> but not <file-name>, the Compiler uses
the path-name, with the source file-name (<source-name>).int
attached.
o Page E -94. Amend the description of list-path in the Parameters
list of the LISTPATH directive as follows:
list-path path to which the list is written or an environment
variable specifying the path to which the list is
written.
-added V3.1.39
o Page E -101. Add the following text to the Dependencies line of the
MF directive:
Dependencies: If NOEARLY-RELEASE and MF are set, MF defaults to
MF"9".
If EARLY-RELEASE and MF are set, MF defaults to
MF"10".
o Page E -109. Add the following bullet to the "Remarks" paragraph of
the OBJLITE directive:
o It cannot be compiled with PERFORM-TYPE"OSVS".
o Page E -109. In the introductory paragraph of the ODOOSVS directive,
OS/VS compiler should be amended to read OS/VS COBOL compiler.
o Page E -144. Amend the
o Page E -158. Change the syntax diagram for the SQLPASS directive to:
>>---.---.----.-------SQLPASS---"userid.password"--.-----><
+-/-+ +--NO---SQLPASS----------------------+
Amend the Parameters paragraph to read:
userid.password An alphanumeric string obeying the rules for a
userid and password, separated by a period. The
separator and period can be omitted.
o Page E -169. Add the following text at the end of the TRACE
directive:
See also: SYSIN
o Page E -171. USAGE BINARY and USAGE COMP-4 should be added to all
occurrences of USAGE COMP. Similarly, BINARY and COMP-4 should be
added to all occurrences of COMP.
o Page E -174. In the "Dependencies" paragraph, change the second
sentence to:
VSC2"3" sets ANS85 at end.
In the "Remarks" paragraphs, change the second bullet under number 1
to:
The word ALSO in an EVALUATE statement must be omitted.
In number 2, in the introductory sentence, insert after the first
closing parenthesis:
VS COBOL II release 4.x (when compiled with its CMPR2 directive)
Change the second sentence in the first bullet under number 3 to:
However, for upward compatibility, we recommend that you do not
use FUNCTION as a user-defined word.
Change number 4 to:
Synonymous with VSC2"3".
Change the sentence below number 4 to:
When VSC2 is specified without integer, VSC2"4" is assumed.
o Page E -175. Add the following text to the end of the WARNING
directive:
See also: FLAGAS and FLAGCD.
Appendix I (File Formats)
-------------------------
o Page I -5. Change the entry for Offset 42 in the variable
structure file header record description:
Offset Size Description of the field
------ ---- ------------------------
42 1 Not used. Set to zero.
Appendix M (Sample Programs)
----------------------------
o Page M-1. Add the following text to the end of the section
"$COBDIR/demo":
COBOL source of demontration programs for documentation:
datecall.cbl HELPAA.FRM tictac.cbl
datescrb.DDS
-added V3.1.31
Appendix N (System Limits and Programming Restrictions)
-------------------------------------------------------
o Page N-5. Add the following new section after the section
"Record Sizes":
Relocation entries
The maximum number of relocation entries in a COFF object is
operating system dependent. In practice, this usually limits
the number of relocation entries for code or for data to 65535.
If you exceed this limit, for example when linking a large
number of programs together, the system linker returns an
error message or quits, returning the error code to the shell.
The number of programs that could cause an error is operating
system dependent, and the error message returned depends on how
the operating system detects the overflow.
With this COBOL system, there are two ways in which you can
avoid this limit to relocation entries:
o Link your programs using -F cob flag, which bypasses the
intermediate a.out stage of cob processing (see the appendix
"Description of cob Flags" for details). However, this flag
also causes all the RTS modules to be loaded (which would
happen anyway if some programs were dynamically loaded), so
very large programs might still exceed the 65535 limit.
o Compile your program to create .int code files or generate it
to produce .gnt files and then dynamically load, rather than
statically link, your program. The COBOL system resolves the
relocations in .int or .gnt code files individually when the
program is loaded. That means these files are not part of
the link process, so they do not contribute to the overall
number of relocation entries.
Pocket Guide
============
Chapter 1 (The COBOL Language)
------------------------------
o Page 1-33. Move the ellipsis which is near the bottom of the page to
the end of the small curly bracket following the large square
bracket.
COBOL User Guide
================
Chapter 5 (Mixed Language Programming)
--------------------------------------
o Page 5-18. Add the following sentence after the sentence that begins,
"When you have changes...":
You must also have the file codeset.cpy present when you compile
_CODESET.cbl.
Chapter 9 (Portability Issues)
------------------------------
o Page 9-8. Add the following sections after the section "The User
Attribute Byte":
Using Generic Attributes
------------------------
If you are using generic attributes you should be aware that the
default attribute palettes on DOS and UNIX are different. (See
the chapter "Generic Display Attributes" in your PC Programmer's
Guide (for DOS, Windows and OS/2 users) or Toolbox Operating
Guide (for UNIX users) for information on using generic
attributes.) There are two methods of working around this:
o Use the CBL_SCR_SET_PC_ATTRIBUTES routine.
The CBL_SCR_SET_PC_ATTRIBUTES routine emulates, as closely
as possible, the IBM-PC attribute palette. See the chapter
Additional Library Routines in your Toolset Reference (for
DOS, Windows or OS/2 users) or Toolbox Operating Guide (for
UNIX users) for information on using
CBL_SCR_SET_PC_ATTRIBUTES. This routine is very resource
intensive on UNIX, leading to a slight deterioration in
performance.
o Use the generic attribute routines to create your own
attribute palette.
The alternative to using CBL_SCR_SET_PC_ATTRIBUTES is to
create your own colormap and populate it with only the
colors your application requires. See the section New
Programs Using Generic Attributes in chapter Generic Display
Attributes for more information on creating an attribute
palette.
Panels and Attribute Palettes
-----------------------------
If you use Panels before and after creating a new attribute
palette you must use the PF-Set-Screen-Backdrop function to
ensure that Panels continues to work with the same color
backdrop. See the chapter Panels in your COBOL System Reference
for information on using the PF-Set-Screen-Backdrop function.
CHANGES TO ON-DISK DOCUMENTS
============================
(See the Release Notes for Early Release for changes to on-disk documents
relating to Early Release features.)
In addition to main.1 and dun.1, new revisions of on-disk documents are
supplied in this release (PDR numbers for the changes are given where
available):
changes.1
osxsrvr.1
osxclnt.1
rte.1 & license.1 & softanim.1 & termconv.1
(These PDRs concern incorrect trademark acknowledgments.)
and the following new on-disk documents have been added at this release:
file.1
nls.1
=========================================================================
Micro Focus is a registered trademark of Micro Focus Limited.
Micro Focus COBOL is a trademark of Micro Focus Limited.
Btrieve is a registered trademark of Novell, Inc.
=========================================================================
@(#)Vrn/dun.1/3.1.03/15Jul93/nrV
Copyright (C) 1992-93 Micro Focus Limited