Google
 

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]