Google
 

Trailing-Edge - PDP-10 Archives - BB-H506D-SM_1983 - cobol/documentation/cobol.ins
There are 2 other files named cobol.ins in the archive. Click here to see a list.


COBOL.INS -- Installation Guide for COBOL-74 V12B on TOPS-20






























COPYRIGHT (C) 1981 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-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE                Page 2












                    CONTENTS
                    --------

CHAPTER   1         INTRODUCTION

CHAPTER   2         CONTENTS OF DISTRIBUTION TAPE

CHAPTER   3         SYSTEM INSTALLATION
          3.1       System Verification (UETP)

CHAPTER   4         SYSTEM REBUILDING
          4.1       Required System Software
          4.2       Standard Configuration
          4.3       Non-Standard Configurations
          4.3.1     DBMS-20
          4.3.2     SORT
          4.3.3     User OTS Routines
          4.3.4     What to do if LINK fails with "REMAP error".

CHAPTER   5         COBOL-68 TO COBOL-74 CONVERSION UTILITY
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE                Page 3


1.0  INTRODUCTION

This document describes procedures for building  and  installation  of
all  supported  COBOL-74  system  configurations.  It assumes that the
installation is licensed for COBOL-74 and SORT.  If this is  not  true
then  the  instructions  will still be valid but the certain save sets
will be empty and certain files will be missing  from  the  first  two
save sets.  See sections 2 and 3 for more details.

The distributed compilers are prepared to  support  DBMS-20,  however,
they  run  perfectly well without it.  The only difference is that the
DBMS-20 reserved  words  are  always  active  under  the  version  12B
standard  configuration.   This was done to simplify adding of DBMS-20
to user systems, and to  simplify  and  increase  the  reliability  of
packaging  and  installation  procedures.   Most configurations can be
generated  simply  by  reloading  portions  of  the  system.    System
installation  of  the distributed configuration can be accomplished by
simply copying a set of files according to the instructions in Section
3.

Note, additional work must be done to the  OTSs  to  support  DBMS-20.
This is described in the appropriate set of procedures in Section 4.

In order to obtain a configuration other than that distributed, all or
part  of  the  COBOL-74  system  must  be  rebuilt before installation
according to the appropriate set of procedures in Section 4.

NOTE, look carefully at the beware files, CBL12B.BWR and SRT4C.BWR and
apply all necessary patches, also read CBL12B.DOC and SRT4C.DOC.

Please read this guide fully before attempting to rebuild the COBOL-74
system.   Rebuilding should not be necessary unless you want to change
the feature test switch settings or have local patches to install.

If you wish to rebuild all or part of  COBOL  then  the  supplied  CTL
files can be used without modification provided that certain rules are
obeyed.  See Section 4.0 for more details.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE                Page 4


2.0  CONTENTS OF THE DISTRIBUTION TAPE

This distribution tape  is  written  in  DUMPER  format  at  1600  and
contains the complete COBOL-74 system.  There are eight save sets.  If
any save sets are empty then you are not  licensed  to  receive  their
contents.

The save sets are:

           1.  DOCUMENTATION
           2.  BINARY
           3.  COBOL-SOURCE
           4.  SORT-SOURCE
           5.  COBOL-BUILD
           6.  SORT-BUILD
           7.  CONVERSION-UTILITY
           8.  UETP-DIRECTORY


The DOCUMENTATION save set contains the following files:

          COBOL.INS    -- this file
          COBOL.BD     -- directory of BINARY save set
          COBOL.SD     -- directory of COBOL-SOURCE save set
          SORT.SD      -- directory of SORT-SOURCE save set
          SORT.BD      -- directory of BINARY save set
          COBOL.RD     -- directory of COBOL-BUILD save set
          SORT.RD      -- directory of SORT-BUILD save set
          68274.DIR    -- directory of the CONVERSION-UTILITY save set
          COBOL.UTD    -- directory of the UETP-DIRECTORY save set
          CBL12B.BWR   -- the Beware file for COBOL-74 12B
          CBL12B.DOC   -- the Doc file for COBOL-74 12B
          SRT4C.BWR    -- the Beware file for SORT 4C
          SRT4C.DOC    -- the Doc file for SORT 4C
          68274.MEM    -- the Doc file for the conversion utility
          KEYRMS.CBL   -- the RMS example shown in the appendix I
          NEW-ISAM.MEM -- the new features for ISAM


The BINARY save set contains the files required to  run  COBOL-74  and
SORT.  These files are normally kept on <SUBSYS>.

The COBOL-SOURCE save set contains all the source  files  required  to
build  COBOL-74.   There  is no need to load these files onto the disk
unless you want to rebuild the COBOL-74 system.  The building  of  the
complete  COBOL  system  requires about 3,000 pages of free disk space
and about 1 hour of CPU time on a 2060.

The SORT-SOURCE save set contains all the  source  files  required  to
build the stand alone SORT and the COBOL SORT.

The COBOL-BUILD save sets contain the REL, LOG, UNV files  etc.   from
the final build.  These files can be used to rebuild the corresponding
compiler if only minor changes have been made (i.e.  bug fixes) rather
than a feature test switch change.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE                Page 5


Similarly the SORT-BUILD save set contains the  REL,  LOG,  UNV  files
etc.  from the final SORT build.

The CONVERSION-UTILITY save set contains the REL, LOG, UNV files  etc.
from  the  build  of the conversion utility (68274).  The files can be
used to rebuild the utility when bug fixes have been installed.

The UETP-DIRECTORY save set contains the UETP files that may  be  used
to test COBOL.  These may be copied to PS:<UETP.LIB>.
To run UETP, see  "Verification  of  the  standard  COBOL  system"  in
section 3.1 of this installation guide.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE                Page 6


The  following  is  a  general  description  of  the  COBOL-74  system
components  and  the classes of files on the distribution tape.  For a
specific list of the files associated with a  given  system  component
please refer to the control file for that component.

The components of the COBOL system are:

     CBL74          the COBOL compiler

     C74LIB         the COBOL object time system

     COBDDT         the debugger

     68274          the COBOL-68 to COBOL-74 conversion utility

     RERUN          the recovery system

     ISAM           ISAM utility program

     LIBARY         source library maintenance program

     SORT           Sort package

     DBMS-20*(1)    Data Base Management System

In addition there is one unsupported component:

     CPYLIB         the native mode LIBARY utility



















---------------
*(1)  DBMS-20 system components are not included in this  distribution
area,  excepting some small support portions contained within other of
the system components.   In  order  to  build  and  install  a  system
supporting one or more of these unbundled products please refer to the
appropriate  sections  of  this  document  in  conjunction  with   the
installation  instructions  included  with  the  individual  unbundled
component distributions.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE                Page 7


The following files or sets of files are included in the distribution:

     CBL12B.DOC Each component has a  documentation  section  in  this
               file.

     COBOL.INS This installation guide.

     *.HLP     Each component has a help text  file  for  use  by  the
               system HELP command.

     *.CTL     Each component has a control file which may be  run  to
               rebuild  the  given  component.   Refer to section 4 of
               this   document   for   general    system    rebuilding
               instructions and submission instructions.

     *.LOG     .LOG files recording the building  of  the  distributed
               system.

     *.EXE     The set of shareable files that compose the distributed
               ready to install system.

     *.MAP     LINK load maps for each component.

     *.MAC     MACRO source files.

     *.REL     Relocatable binary files.

     *.UNV     Universal files.

     COBOL.CMD File containing installation  specific  logical  names.
               This file is read by the COBOL CTL files.

     A*.CMD    LINK indirect loading command files for the components.

     *.MEM     Other files containing useful information.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE                Page 8


3.0 INSTALLATION OF THE COBOL SYSTEM

This section details the procedure for installing the COBOL-74 system.
This  procedure  applies  to  the  installation  of systems rebuilt to
support one or more of the unbundled  system  components  as  well  as
installation of the distributed form.

If it is not necessary to  support  DBMS-20  or  any  of  the  special
configurations  described in section 4 only the files mentioned in the
remainder of this section need to be obtained  from  the  distribution
tape.   If  one  or  more  of  the  unbundled  components  or  special
configurations is to be supported please refer to section  4  of  this
document   for   details   of   required   files  and  procedures  for
restructuring the system before installation.   Instructions  for  the
installation  of the unbundled components themselves are included with
the unbundled distribution packages.


First restore the DOCUMENTATION save set to DSK:
Then read the DOC and BWR files.

To do this use the following procedure:

A.  Mount the COBOL distribution tape on MTA0:

B.  Type the following commands:

                RESET
                DUMPER
                TAPE MTA0:
                REWIND
                DENSITY 1600-BPI
                ACCOUNT SYSTEM-DEFAULT
                RESTORE PS:<*>*.*.* (TO) DSK:<USER-AREA>*.*.*
                REWIND
                EXIT


To install COBOL and SORT use the following procedure:

A.  Mount the COBOL distribution tape on MTA0:

B.  Type the following commands:

                RESET
                DUMPER
                TAPE MTA0:
                REWIND
                DENSITY 1600-BPI
                ACCOUNT SYSTEM-DEFAULT
                SKIP 1
                RESTORE PS:<*>*.*.* (TO) PS:<SUBSYS>*.*.*
                REWIND
                EXIT
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE                Page 9


3.1  Verification of the standard COBOL system.

You may use the UETP package to verify the installation  of  COBOL  if
you  use  the  standard  configuration (COBOL built with SORT).  To do
this, first copy the files from the UETP-DIRECTORY  save  set  on  the
installation  tape  to  the  system  UETP  area.  On your system, this
standard UETP area should be called PS:<UETP.LIB>.  Type the following
commands to copy the necessary files from the tape to your system UETP
directory:

               @DUMPER
               DUMPER>TAPE MTA0:
               DUMPER>REWIND
               DUMPER>SKIP 7
               DUMPER>ACC SYS
               DUMPER>RESTORE PS:<*>*.*.* (TO) PS:<UETP.LIB>*.*.*

To run UETP, LOGIN to an account  that  has  OPERATOR  capability  and
connect to PS:<UETP.LIB>.


To run UETP, do the following:

               @ENABLE
               $CONN PS:<UETP.LIB>
               $RUN UETP

At this point, UETP should type a message similar to the following:

[18-Feb-81  9:26:32         User Environment Test Package ]
 
 
uetp>

If you get this far, you can "ENABLE" the test you  want  to  run  and
"BEGIN"  the  running  of  the test.  For the COBOL verification test,
type the following:

               UETP>ENABLE CBL74

               UETP>BEGIN

If all goes well, these actions will have submitted  a  batch  control
file  called  COBOL.   Once  it  starts  running,  the  test should be
finished in a couple of minutes.

As the batch job is running, a few messages  should  be  sent  to  the
terminal  running  UETP.   You  can tell from these messages if all is
going well, or if there are problems with the execution of the test.

Every couple of minutes, you should type the "STATUS" command  to  see
how  the  job  is doing.  When it says "ended", you may type "EXIT" to
UETP.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 10


4.0  SYSTEM REBUILDING

This section details how to rebuild all or part of the COBOL-74 system
in order to support DBMS-20, to change feature test switch setting, or
for maintenance purposes.

To simplify the building  task  all  the  COBOL  CTL  files  read  the
COBOL.CMD  file  which  contains  definitions of all the logical names
used.  Similarly the SORT.CTL file reads the definition file SORT.CMD.
It  is  recommended  that  the same logical names be used and that the
user should edit the supplied COBOL.CMD and SORT.CMD files to  contain
appropriate definitions.
The logical names used are:

               COBOL-DOCUMENTATION:
               COBOL-BINARY:
               COBOL-SOURCE:
               SORT-SOURCE:
               COBOL-BUILD:
               SORT-BUILD:
               CONVERSION-UTILITY:
               UETP-DIRECTORY:

These logical names correspond to the save sets  on  the  distribution
tape.   These  logical names are self explanatory, however one further
logical name IS required.  This is:
DEFINE SBUILD:  SORT-BUILD:
This is because MAKLIB used PA1050 and is thus restricted  to  logical
names of six characters or less.
In addition if you define the area DBMS-BUILD  (again  with  alternate
name  DBMBLD:)  and  put the REL file generated by a DBMS build there,
the LIBOL.CTL file will look for the file DBSCOB.REL.  If this file is
found all the required DBMS files will be incorporated into C74LIB.REL
and C74O12.EXE rebuilt.

COBOL-74 version 12B supports the following user installation settable
feature  assembly  switches:   DEBUG,  DBMS,  DBMS4  (DBMS  version  4
features)  and  DBMS6  (DBMS  version  6  features).   Other  assembly
switches  are  supported  only  in  their  distributed  position.  The
default setting for the DBMS, DBMS4 and DBMS6 switches is ON (1),  and
for  DEBUG  the  default  setting  is  OFF  (0).   This represents the
standard default configuration.

The supported switches may be  turned  on  or  off  by  setting  their
symbols  equal  to  1 or 0 in the universal file COBASM and rebuilding
portions of the system according to the instructions in the  following
sections.   COBASM  is  the  assembly  switch  definition file for all
system components.  A symbol equal to 1 means  the  switch  is  on,  a
symbol equal to 0 means the switch is off.

Rebuilding requires that all of the distributed files be copied to the
appropriate  disk  areas.   If  a total rebuild is to be done then the
appropriate build area can be cleaned up by  deleting  all  LOG,  REL,
MAP, UNV, etc.  files leaving only the control files.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 11


4.1  Required System Software

In order to rebuild all or part of  the  COBOL  system  the  following
standard  system  software  is  required,  of the specified or a later
version.

     Software       Version
     --------       -------

     MACRO          53A(1152)
     LINK           4A(1220)
     MAKLIB         2A(67)
     CREF           53(53)
     PA1050         4.1(363)
     MACREL         Release 4

COBOL-74 Version 12B will run under all  supported  monitors  as  will
programs compiled with COBOL version 12B.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 12


4.2  Standard Configuration

The standard distributed compiler contains  support  for  all  DBMS-20
syntax.   This  means  that  all of the reserved words for DBMS-20 are
present in the standard configuration of COBOL-74 Version  12B.   This
eliminates  the  necessity  for  rebuilding  the COBOL compiler to get
support for this unbundled component.

The standard distributed configuration also contains  an  object  time
system  and  a  series  of utility routines.  The standard distributed
configuration of the object time system includes full support for SORT
so  there  is  no  need  to run the SORT CTL file unless there are bug
fixes to apply to SORT.  The standard distributed configuration of the
object  time  system  does  not  include support for DBMS-20.  However
rebuilding of the entire object time system is not required, all  that
is  required  is to submit the additional control file as specified in
the appropriate section.

In general it is not necessary to rebuild the entire COBOL  system  in
order  to configure systems supporting unbundled components or to make
patches to the existing system.  The instructions for  each  component
specify  any dependencies upon the state of other system components in
order that no more of the system need be rebuilt than necessary.   The
only  general  restriction  is  that  none  of  the component building
control files may be executed concurrently and that the  compiler  and
OTS  must  be built first or the .UNV files from a previous build must
be available for the other components.  The following  is  a  list  of
each  component  of  the  standard  configuration.  The list is in the
order in  which  the  control  files  for  each  component  should  be
submitted  if  all  components  are  being  built.  The list shows the
actual SUBMIT command which should be used for each control file,  and
as  long as the user is aware of the dependencies described, the order
of submitting them is not critical.  If you should wish to  build  the
whole  system,  just  submit  the file BLDCBL.CTL in COBOL-BUILD which
will then submit all the other .CTL files in the  correct  order  with
dependency counts.

Note that there is a "chicken and egg" problem with  trying  to  build
from scratch a COBOL OTS containing either or both SORT and DBMS.  The
problem is that the LIBOL CTL file could build a complete OTS  in  one
step  if  only  the  SORT  and/or DBMS CTL files had already been run.
However these control files require that  LIBOL  be  run  first.   The
correct procedure is to first run LIBOL as part of the general rebuild
(use BLDCBL).  Then run SORT followed by DBMS.  Once the initial build
has  taken  place only the control file for the piece that has changed
need be rerun providing, of course, that nothing in the build areas is
deleted.   Thus  if  a  bug is fixed in COBOL SORT there is no need to
rerun the LIBOL control file, just run the SORT one.   Currently  only
the LIBOL and SORT CTL files have been fixed to do this.  The DBMS CTL
files have not yet  been  fixed,  they  still  require  a  version  of
LIBOL.REL and C74LIB.REL not yet containing DBMS files.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 13


To build the COBOL-74 compiler:

A.  Mount the COBOL distribution tape on logical MTA0:


B.  Type the following commands:


                     CONNECT COBOL-SOURCE:
                     RESET
                     REWIND MTA0:
                     DUMPER
                     TAPE MTA0:
                     DENSITY 1600-BPI
                     ACCOUNT SYSTEM-DEFAULT
                     SKIP 2
                     RESTORE PS:<*>*.*.* (TO) DSK:<USER-AREA>*.*.*
                     REWIND
                     EXIT

                     CONNECT COBOL-BUILD:
                     RESET
                     REWIND MTA0:
                     DUMPER
                     TAPE MTA0:
                     DENSITY 1600-BPI
                     ACCOUNT SYSTEM-DEFAULT
                     SKIP 4
                     RESTORE PS:<*>*.*.* (TO) DSK:<USER-AREA>*.*.*
                     REWIND
                     EXIT
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 14


C.  CONNECT to COBOL-BUILD. Modify COBOL.CMD, 
    DELETE *.LOG, then SUBMIT the required files.


     a.  The whole system
            SUBMIT BLDCBL.CTL

     b.  COMPILER
            SUBMIT COBOL.CTL/TIME:1:00:00/RESTART:YES
            Dependencies:  None

     c.  OTS
            SUBMIT LIBOL.CTL/TIME:0:30:00/RESTART:YES
            Dependencies:  None

     d.  COBDDT
            SUBMIT COBDDT.CTL
            Dependencies:  INTERM.UNV and COMUNI.UNV

     e.  ISAM
            SUBMIT ISAM.CTL

     f.  LIBARY
            SUBMIT LIBARY.CTL
            Dependencies:  None

     g.  RERUN
            SUBMIT RERUN.CTL
            Dependencies:  COMUNI.UNV, FTDEFS.UNV and LBLPRM.UNV

     h.  CPYLIB
            SUBMIT CPYLIB.CTL
            Dependencies:  None


NOTE, there will be no SORT in the OTS built by this procedure  unless
the  file  SRTCBL.REL is in the SORT-BUILD area (this file is produced
by SORT.CTL).
See sec.  4.3.2 for instructions for installing SORT into the OTS.

Also, there will be no DBMS support in the OTS built by this procedure
unless  the  file  DBSCOB.REL  is in the DBMS-BUILD area (this file is
produced  by  DBMS.CTL).   See  sec.   4.3.1  for   instructions   for
installing DBMS into the OTS.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 15


4.3  Non-Standard Configurations

The following sections  specify  what  rebuilding  of  the  system  is
required   in   order  to  produce  specialized  configurations.   The
instructions are divided by feature but they are easily combinable  to
provide  more  than  one of the capabilities.  Refer to the preceeding
section  for  specifics  when  instructed  to  rebuild   some   system
component.



4.3.1  DBMS-20

4.3.1.1  Completing support for DBMS-20

If you have a standard configuration  Version  12B  COBOL-74  compiler
(i.e.   the  one  on  the  distribution  tape),  all that is needed to
complete support for DBMS-20 is to follow these instructions:

     1.   DEFINE the logical name  DBMS-BUILD  and  copy  the  DBMS-20
         distribution  tape  to  it.   Copy DBMS.CTL and DBMS.CMD from
         COBOL-SOURCE:  to DBMS-BUILD.   Modify  DBMS.CMD  to  contain
         your local definitions, note DBMS.CMD is similar to COBOL.CMD
         and SORT.CMD and should contain the same logical  names,  the
         main difference is in the definition of DSK:.

     2.  Refer to DBMS20.DOC for DBMS-20 installation instructions.

     3.  If you already have built DBMS and are just changing SORT  or
         LIBOL  then it is just sufficient to run the appropriate SORT
         or LIBOL CTL file.


4.3.1.2  Removing support for DBMS-20

The standard configuration of the  COBOL-74  compiler  comes  complete
with  support  for DBMS-20 , however, the object time systems will not
have DBMS-20 support.  This makes it much easier  to  install  DBMS-20
later.   However,  it does increase the size of the compilers slightly
and increases the number of reserved words.  If you do  not  want  any
DBMS-20  support  in  the  compilers,  it  is  possible to rebuild the
compilers turning off the DBMS, DBMS4, and DBMS6 switches.   This  can
be accomplished in the following manner:

     a.  Copy  the  contents  of  the  COBOL  distribution  tape  into
         appropriate disk areas.

     b.  Modify the universal file "COBASM.MAC" to include the  symbol
         definition "DBMS==0".

     c.  Rebuild the COBOL compiler.

If you later wish to reinstitute support for DBMS-20 in the  compiler,
follow  steps  a  and  c,  making sure that the symbol "DBMS" does not
appear in the universal file "COBASM.MAC".
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 16


If LINK fails in the DBMS build procedure with a "REMAP error",  refer
to section 4.3.4.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 17


4.3.2  SORT


     a.  If COBOL-74 and SORT are all being rebuilt because  of  major
         changes  in  the configuration, then the correct procedure is
         to first submit BLDCTL.CTL and them SORT.CTL.
         BLDCTL.CTL creates the file required by SORT.CTL to  add  the
         SORT to C74OTS.
         On the other hand if a COBOL-74 OTS exists and only SORT  has
         been modified then it is sufficient to run only SORT.CTL.
         Similarly if SORT exists (i.e.  SRTCBL.REL) and COBOL-74  OTS
         has  been modified it is sufficient to run only LIBOL.CTL for
         the OTS.

     b.  SUBMIT SORT.CTL/TIME:0:30:00/RESTART:YES
         which will replace  the  existing  SORT  module  in  the  OTS
         (either  the original dummy one or an existing real one) with
         a newer real SORT.  It will  generate  modified  versions  of
         C74LIB.REL  and  C74O12.EXE.   It  will  try  to rename these
         modified files back to the area from which it got them  (note
         both  the file and UFD protection must be set to allow this).
         If, for any reason, this should fail they will be left in the
         SORT-BUILD  area.   It  will also build SORT.EXE which is the
         stand alone configuration.

     c.  Install the new SORT

             COPY SORT.EXE (TO) <SUBSYS>SORT.EXE
             COPY SORT.DOC (TO) <SUBSYS>SORT.DOC
             COPY SORT.HLP (TO) <SUBSYS>SORT.HLP



4.3.3  USER OTS ROUTINES

COBOL-74 includes a facility allowing installations to add  their  own
special  purpose  MACRO  routines to C74LIB.REL.  This is accomplished
via a dispatch routine, loaded with the user  program  which  resolves
the  external  references  into references to a user dispatch table in
the OTS.  For routines requiring low segment storage there is  a  user
dynamic  (indexed)  low  segment  facility.   Refer  to USRDSP.MAC for
complete instructions.

The user  routines  are  added  to  C74LIB.REL  after  all  other  OTS
rebuilding but before installation on SYS:.

If LINK fails with  "REMAP  error"  when  you  try  to  create  a  new
C74O12.EXE file, then refer to section 4.3.4.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 18


4.3.4  What to do if LINK fails with "REMAP error"

It is possible to get a LINK error while trying  to  create  the  .EXE
file for C74O12, because the total amount of code loaded exceeds sixty
four pages (page 600 to 700).

The LINK error message will be "REMAP  error".   This  may  happen  if
SORT, DBMS, and user routines are all appended together in C74LIB.REL.
To see what has happened, Refer to the following diagram, which  is  a
memory map showing the address space at runtime.

          address space if there is enough space for all the code
               in the OTS to be above 600000.

        --------------------------------------------------
777777  !                 DDT                            !
        !                                                !
764000  --------------------------------------------------
        !                PA1050                          !
        !                                                !
700000  --------------------------------------------------
        !                                                !
        !  OTS  (possibly with SORT, DBMS and user code) !
        !                                                !
600000  --------------------------------------------------
        !  SPACE FOR SORT DATA AREA, 2 PAGES BELOW 600K  !
576000  !-------------------------------------------------
        !   3 PAGES OF EXTRA SPACE FOR EXPANSION  !
573000  !-------------------------------------------------
        !     RMS (OPTIONAL)   !
525000  !-------------------------------------------------
        !         COBOL program generated code, also     !
        !    user subroutines in COBOL or other language !
400000  --------------------------------------------------
        !       user data, buffers, overlays             !
        !                                                !
     0  --------------------------------------------------


The above diagram shows that the space allocated for C74LIB with  SORT
and  DBMS and user code is all above 600000.  However, if you use DBMS
version 6 or load other large components with  C74LIB  more  space  is
required  and  the REMAP error is generated when LINK tries to fit all
the code between 600000 and 700000.

To fix the REMAP error, change the LINK command file to load  some  of
the  code below 600000.  The only possible place to put code is in the
area between 400000 and 600000.  The trick is to use space  closer  to
600000 to allow as large as possible user programs to be run.

The first thing that must be done is to  determine  exactly  how  much
space is required.  Run link and execute the following command:

*LIBOL/MAP/SAVE=/NOLOCALS C74SHR,C74LIB/SEARCH, /SYMSEG:NONE/GO
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 19


LINK should execute this command and not get a REMAP error because  it
is writing an EXE file rather than putting code in core.

Then look at the file LIBOL.MAP to see how far past the address 700000
the  code  goes.   You  will  see  each module's start and end address
listed, and the last one  should  say  something  like  "high  segment
starts  at  703534,  ends at 705432".  In this case, you would need to
load at least 6 pages below 600000 in order for the rest of  the  code
to fit between 600000 and 700000.

What you must do now to get rid of the REMAP error is to reload C74LIB
and possibly also reload RMSCOB if it must be moved down.  If you must
reload RMSCOB to move it down, refer  to  the  "RMS  note"  below  for
instructions.   To  reload C74LIB, you must first decide which modules
to load below 600000 based on the size of code they need (you can tell
how  must  code each module needs by looking at the LIBOL.MAP that you
made), then put them in a command line in the following format:

(Assume that you choose to load the OTS modules LBLERR, GD, and STRING
below 600000)


@LINK
*C74OTS.MAP/MAP=/SET:.HIGH.:573000 C74LIB/INCL:(LBLERR,GD,NSTRNG)
*/SET:.HIGH.:600010 C74SHR,C74LIB/SEARCH,/SYMSEG:NONE/GO


Also change  the  corresponding  LINK  indirect  file  L12B74.CMD  and
L12B7D.CMD.   The  particular  modules chosen for loading below 600000
were chosen for no other reason than their sizes came out almost to an
even  page  boundary,  after allowing room for expansion.  Look at the
LIBOL.MAP produced by using the /SAVE switch  (see  above)  to  decide
which  modules  should  be  loaded  together  below 600000.  Note that
C74SHR must always be loaded at 600010.


Note that in the above  command  lines,  the  code  below  600000  was
started  at 573000.  In that case, three pages were needed, and it was
started at 573000 so it would end before 576000  and  would  not  bump
into  SORT's data.  As an example, if six pages were needed instead of
three, you would load more or  bigger  modules  instead  of  the  ones
mentioned  below  600000,  and  start  it  at address 570000.  If your
installation then used RMS as well, you would have to then reload  RMS
at a lower address so it doesn't bump into this code.


Sites that bring up DBMS version 6 with COBOL  will  almost  certainly
have  to  make this kind of modification to the LINK command string in
the DBMS control file.


WARNING:  Some large programs will not run if C74O12 is loaded in this
manner,  since space is used in the area usually reserved for compiled
code.  Those programs and their COBOL  subroutines  will  have  to  be
recompiled using the /R compiler switch.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 20


RMS note:  To relink RMS to make an RMSCOB.EXE that starts at a  lower
address,  you must change the file on the RMS installation tape called
RMS2C1.LNK in two  places.   The  file  as  distributed  contains  the
following text:

/DEFINE:RMS$$G: 571000
/DEFINE:FUNCT.: 600051
/SET:.HIGH.:525000/SYMSEG:HIGH
/START:RMS.EV
PAT:RMS201/NOLOC
/GO



In the file above, 525000 is the current start  address.   To  gain  n
pages,  you  must  lower  than  this address by n*1000.  Also you must
lower the address 571000 by n*1000.  Note that the LINK switch /DEFINE
takes  a  decimal  argument  by  default.  To specify an octal address
prefix it with a   as shown in the example.  Then LIBOL  code  can  be
put  starting  two pages above the address of RMS$$G (global data area
for RMS).


When the file is changed, submit the control file that loads RMS using
this file and saves RMSCOB.EXE.
COBOL-74 FOR V12B ON TOPS-20: INSTALLATION GUIDE               Page 21


5.0 COBOL-68 TO COBOL-74 CONVERSION UTILITY

The COBOL-68 to COBOL-74 conversion utility, 68274,  is  just  another
version  of  the  COBOL  compiler.  See 68274.DOC for more details.  A
working version of the utility  is  in  the  BINARY  save  set.   This
version  is  re-built  just  like  any other non-standard version (see
section 4.3).  Specifically:

     a.  Copy  the  contents  of  the  COBOL  distribution  tape  into
          appropriate disk areas.

     b.  Modify the universal file "COBASM.MAC" to include the  symbol
          definitions ANS68==1 and FT68274==1.

     c.  Run COBOL.CTL to rebuild the conversion utility.

There is a HELP file and a DOC file in the DOCUMENTATION save set.


          [END of CBL12B.RNI]