Trailing-Edge
-
PDP-10 Archives
-
BB-Z759A-SM
-
documentation/cbl13.bwr
There are no other files named cbl13.bwr in the archive.
COBOL.BWR -- Beware file for COBOL version 13
January 1984
COPYRIGHT (C) 1984 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
TRANSFERRED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
COBOL.BWR -- Beware file for COBOL version 13 Page 2
1.0 Name of compiler
The name of the version 13 COBOL compiler is COBOL. This is the
same name as the v12B COBOL-68 compiler. There is no v13
COBOL-68 compiler. COBOL version 13 is a ANSI-74 compiler with
selected features from the proposed ANSI-8x standard. Therefore
to correctly install version 13 it is necessary to rename the
existing v12B COBOL compiler (if you have one) to CBL68.EXE.
2.0 COBOL-74 v12B and COBOL 13 incompatibility
It is not possible to load rel files produced by COBOL-74 v12B
with those produced by COBOL v13. LINK treats the two compilers
as different languages and gives an error when an attempt is made
to load them together. Also C74LIB.REL can not be used with
COBOL v13 rel files.
3.0 COBOL 12B and COBDDT 13 incompatibility
COBDDT of COBOL 13 has a new routine to display 2-word
floating-point numbers. Since Version 12B does not have the
COMP-2 data type, programs compiled with 12B and linked with
COBDDT of COBOL 13 will get an undefined global symbol DSP.F2.
TALLY, which is allowed in COBOL-68, is not allowed in either
COBOL-74 12B or COBOL Version 13. So an ACCEPT or DISPLAY
command used with TALLY will result in the "?undefined: TALLY"
message. To avoid these problems, a copy of 12B COBDDT can be
manually loaded with the user program by specifying "LOAD
program-id, CBL68:COBDDT", where CBL68: is a disk area of ANSI
68 COBOL files.
4.0 COBOL 13 and RMS
Some features of COBOL V13 require RMS V2. Please refer to the
COBOL V13 DOC file (CBL13.DOC) sections 2.3 and 7.0 for details.
For specific details about the new version of RMS see its DOC and
BWR files.
5.00 COBOL 13 and PA1050
COBOL Version 13 requires PA1050 5.1(635) or later. COBOL will
not work properly without the new PA1050 because a new COMPT.
function is used for some of the file I/O in COBOL 13.
PA1050 5.1(635) or later will be released on autopatch tape 7.
COBOL.BWR -- Beware file for COBOL version 13 Page 3
6.0 Extra carriage-return problem
To comply with Federal regulations for a FIPS certified compiler
the following "feature" had to be provided in version 12B (also
in version 13). In general, if a record was written with WRITE
AFTER ADVANCING and the next record was written with WRITE BEFORE
ADVANCING, then the first record must be overprinted by the next
record. In particular, if the last record in file-1 was written
with WRITE AFTER ADVANCING and the first record in file-2 was
written with WRITE BEFORE ADVANCING and file-2 was output to the
same device (e.g. a LPT:) immediately after file-1, then the
last record of file-1 must be overprinted by the first record of
file-2. The FCTC has a test which does just that.
Clearly we need an extra carriage-return between the two records.
The two choices were, put it at the front of the BEFORE ADVANCING
file, or at the end of the AFTER ADVANCING file. We chose the
latter since we believe it is the less common case (even though
it is the default in COBOL-74) and an extra carriage-return will
do less harm at the end of a file.
If, for some reason, you do not wish this "feature" then you can
edit CBLIO.MAC to remove it. An article discussing this problem
has been published in the Sep 15, 1983 Large Buffer, volume 628.
Please see Section 1 of the field test booklet for the patch to
remove this feature.
7.00 SIMULTANEOUS UPDATE
Because of a problem in the TOPS-20 monitor, records updated in a
file via SMU mode which cause the length of the file to be
extended by one program will not be found by other users until
both programs close and reopen the file. To overcome this
restriction for ISAM files, the ISAM utility sets the file size
for .IDX and .IDA files to +infinity (2**35 -1) in the File
Descriptor Block (FDB). Please note that the files physical
length is the correct number of bytes written. The file's size
in pages is displayed correctly by VDIRECTORY.
This fix allows Simultaneous Update users to process ISAM files
correctly. However some programs or TOPS20 commands (such as
FILCOM or QUEUE LPT: = file/PRINT:OCTAL) which attempt to access
the file sequentially will run improperly - they will keep
running.
A special purpose utility SETEOF.EXE is included in the BINARY
save set. SETEOF may be used to extend the file size in the FDB
to a large, user specified size or to reduce a file with an
extended file size to the actual file size (rounded upward to the
next page). This will allow users of random files in
simultaneous update mode to extend the file size before
processing. Conversely, if a user wishes to sequentially process
a file with an extended file size, the user may use SETEOF and
COBOL.BWR -- Beware file for COBOL version 13 Page 4
specify a file size of "0" to reduce the file to the actual file
size (rounded upward to the next page).
8.00 COBOL and DBMS
Development work on DBMS is being done to separate DBMS modules
from COBOL and FORTRAN OTS's. The products will never be totally
independent, but we would like each product to be able to issue
edits without having to alter the other's source and require its
rebuilding. This is why the new DBMS20.CTL file has been issued
and why COBOTS.CTL will not build DBMS into COBOTS.
These changes have resulted in a new module, DBMS.REL, which will
resolve subroutine calls from COBOL programs to DBMS routines.
These addresses were formerly assembled into the COBOL module
RESOLV.MAC. Now DBMS.REL will be used by LINK when a COBOL
program is loaded, to place the addresses of any DBMS routines
called into the resulting EXE file. Even though a site may not
be using DBMS, this file is still required. COBLIB also contains
calls to DBMS routines which must be resolved. These generally
occur when a program is halting abnormally (due to some I-O
failure, for example). A call is made to the DBMS routine DBSTP.
to prevent a user from leaving a data base locked up and
inaccessible to other users. If a user has made no DBMS calls,
this will not occur, but the capability must be present.
For this reason, we have now put the file DBMS.REL into the
second saveset of the COBOL tape. It should be loaded with the
other COBOL exe's into the user equivalent of PS:<SUBSYS>. If
the user later builds DBMS or loads it from a distribution tape,
the DBMS.REL file will be replaced automatically.
9.00 Building DBMS into the OTS
There are no longer any statements in the COBOTS.CTL file to
conditionally build DBMS into the OTS. The DBMS group has
devised a method for building DBMS into an existing .EXE and .REL
file, and will only load DBMS at run-time if a program actually
uses DBMS constructs. Two new modules have been added to the OTS
to accomplish this, and a new control file, DBMS20.CTL has been
developed. The LINK specs for version 13 COBOL are in the file
DBCS13.CMD. After a user has built the OTS, submitting
DBMS20.CTL will then cause DBMS to be loaded. This same control
file will also work for version 12B COBOL (68 and 74) and
FORTRAN.
[End of CBL13.BWR]