Trailing-Edge - PDP-10 Archives - decuslib20-05 - decus/20-0151/setup.update-1
There is 1 other file named setup.update-1 in the archive. Click here to see a list.

                              SETUP Documentation

                                 Alan Guenther
                       (revised by Joe Payne  4-Jul-75)
             (revised by Ralph Swick 18-Oct-78 through 12-Oct-79)

                                Third Revision

                  This manual describes version 5(56) of  the
                  SETUP  program  released  in  March,  1980.
                  This manual supersedes the previous manuals
                  of 20-Jun-79 and 12-Oct-79.  All changes to
                  this manual since the previous edition  are
                  noted with a vertical bar in the margin.

             Updated 13-Oct-80: pages 18-21,70

   The SETUP program was originally developed at the University  of  Montana
   and   is   distributed   by   Carnegie-Mellon   University,   Pittsburgh,
   Pennsylvania under the agreement that any modifications  be  communicated
   back  to  C-MU and that no such modified versions be distributed to other
   installations except by C-MU.
   SETUP %5(57) 13-Oct-80                                            Page 18
   ***** SETUP commands

|               ;Define [/save] constant <constant-name> <text>

                             - - - - - - - - - - -

        The ";Define constant" command fulfills a function very  similar  to
   the  ;Define  variable  command.   In  the  ;Define constant statement no
   prompt is typed to the user, but the string "<constant-name>" is replaced
   by "<text>" wherever it appears in the MCF.

        The ;Define constant command would be useful in situations where the
   author  of  a  MCF  wanted to allow a simple method for changing a common
   parameter, but not require the SETUP user to type in a value  every  time
   the  MCF  is  read.  For example, a directory-name might be a constant so
   that it could be easily changed in the MCF at a later  time.   (A  unique
   "trick"  of  constants follows from the fact that constant/variable names
   look  like  Tops-20  directory  names:    if   the   MCF   contains   the
   directory-name  <Smith>  in  several  places, it can be changed by simply
   defining the constant <Smith> to be a different directory!)

   For example:

         MCF contents
            ;Define constant <semester> FALL
            @Run Update
            @Print <semester>.rpt

         CTL contents
            ;Define constant <semester> FALL
            @Run Update
            @Print FALL.rpt

        This  example  assumes  that   the   constant   <semester>   changes
   periodically  but  remains  fixed  for long periods before being modified
   again.  Using the ;Define constant command  in  this  manner  allows  the
   periodic changes to be made quickly and with less chance for error.

|       The optional switch /SAVE causes the value of this  constant  to  be
|  "remembered"  permanently so that it can be retrieved with a ;GET command
|  in a different MCF.  This function is analogous to the  /SAVE  switch  on
|  the  ;DEFINE VARIABLE command except that a previously saved value is not
   SETUP %5(57) 13-Oct-80                                            Page 19
   ***** SETUP commands

|  shown to the user.  This command is also equivalent to the SETUP/VARIABLE
|  command  described  in  section  IV  except  that  the  constant value is
|  generated within the MCF and the constant name itself is defined and will
|  be substituted in the remainder of the MCF.

                                **** Note ****
   The special  constants  <current-day>,  <current-month>,  <current-year>,
   <current-user-name>,    <current-hour>,   <julian-date>,   <job-id>   and
   <job-name> should not be used in a ;Define variable or a ;Define constant
   command.   <job-id>  is  automatically defined by the /JOB-ID:  switch at
   exec command level.  See  section  III  SETUP  features  for  a  complete
   explanation  of  the  /JOB-ID:   switch  and  the <job-id> constant.  The
   constant <job-name> is pre-defined by SETUP to be the  file-name  of  the
   MCF,   not   including   the  file-type;   thus,  if  the  MCF  is  named
   REPORT-GENERATION.MCF <job-name> will have the value REPORT-GENERATION.

   <Current-day>,  <current-month>,  <current-year>  and  <julian-date>  are
   defined to have the corresponding numeric values of day, month, year, and
   day-of-year respectively.  <Current-hour> contains the  2-digit  hour  of
   the  day  and  <current-user-name> contains the logged-in username of the
   current job.  See Section III for more details.
   SETUP %5(57) 13-Oct-80                                            Page 20
   ***** SETUP commands

|                 ;Define [/save] Option <option-name> <text>

                             - - - - - - - - - - -

        The ";Define Option" command is very  similar  in  function  to  the
   ;Define  Constant  command;  that is, no prompt is issued, but the option
   given in <option-name> will be given the value "Y" or "N" depending  upon
   the first character of the <text>.  For example,

           ;Define option <this-is-yes> yes

   would have the same end result as the command

           ;Select option <this-is-yes> Please type "YES" here

   except that the second command would request the user to type  something,
   and  the  first  would not.  This command might be useful to "recode" the
   user's previous responses rather than stringing out several  ;Option  and
   ;No-option commands (see the ;Option and ;No-option commands below).  For
   example, if the sequence of tests

           ;Option opta/;Option optb/;Option optc/...

   were to be used several times, the MCF (and CTL file) could be made  more
   concise by doing the following:

            ;Option opta/;Option optb/;Option optc/;Define option optabc yes
            ;Option optabc/...

        In this example, if any of the options "opta", "optb" or "optc"  had
   the  value  "no", then option "optabc" would not be defined and therefore
   treated as having the value "no".

        ;Define option might also be used to reduce the  number  of  prompts
   issued to the user;  for example,

            ;Select option All-reports Do you want all the reports?
            ;Option all-reports/;Define option account-report yes
            ;Option all-reports/;Define option dept-report yes
            ;Option all-reports/;Define option ssn-report yes
            ;No-option all-reports/;Sel opt Account-report Do you want the
   account sequence report?
            ;No-option all-reports/;Sel opt Dept-report Do you want the
   department sequence report?
            ;No-option all-reports/;Sel opt SSN-report Do you want the
   social-security number sequence report?

|       The optional switch /SAVE causes the value  of  this  option  to  be
|  "remembered"  permanently so that it can be retrieved with a ;GET command
|  in a different MCF.  This function is analogous to the  /SAVE  switch  on
|  the  ;DEFINE  OPTION  command except that a previously saved value is not
|  shown to the user.  This command is also equivalent to  the  SETUP/OPTION
|  command described in section IV except that the option value is generated
   SETUP %5(57) 13-Oct-80                                            Page 21
   ***** SETUP commands

|  within the MCF and the option itself is defined and may be referenced  in
|  the remainder of the MCF.


                  The  options  Restart,   Monday,   Tuesday,
                  Wednesday,  Thursday,  Friday, Saturday and
                  Sunday should not  be  used  in  a  ;Select
                  option  or  ;Define  option command.  SETUP
                  provides  values  for  these   options   as
                  defined in Section III.  SETUP Features.

        ;Define option may also be used to set values for options that  were
   not  requested  from the user due to a restart (/TAG:  switch).  See page
   36, restarting jobs, for more details.
   SETUP %5(57) 13-Oct-80                                            Page 70
   ***** SETUP error messages

   % No option name found after ;Define option command
        An option name must  immediately  follow  the  word  "option"  in  a
        ;Define option command and must be entered on the same line.

   % No option value found in ;Define option command
        The option name must be followed by text beginning with either a "y"
        or  "n"  in a ;Define option command and must be entered on the same

   % Option value is not "y" or "n"
        The text following the option-name in a ;Define option command  must
        begin with either the letter "y" or the letter "n".

   % Switch in ;Define command is only valid for ;Define Variable
        The programmer has entered a switch in  a  ;Define  constant...   or
|       ;Define  option...,  command  that is not supported.  Currently only
|       the /SAVE switch may be used on these two commands.

   % Invalid switch modifying SETUP command
        The only supported switches after a ;Define variable command are the
        /allow, /save and /verify switches.

   ? Default value file has grown too large
        The new value of the option or variable cannot be /SAVEd because the
        default  file  has reached its maximum size.  If the number of empty
        words (indicated by SETUP/LIST EMPTY) is very large, then  the  file
        should  be  rebuilt  by  listing the contents (SETUP/LIST), deleting
        SETUP.BIN and  redefining  all  the  values  with  SETUP/OPTION  and

   % Switch missing after SETUP command
        SETUP has found a slash after a command indicating a switch, but  no
        switch  name.   No spaces or tabs may be typed between the slash and
        the switch name.

   % /DEFAULT: switch not allowed in combination with /ALLOW and /SAVE
        Neither the /ALLOW nor  the  /SAVE  switches  may  be  used  if  the
        /DEFAULT:  switch is specified.

   % Value is required after this switch
        A quoted string must be specified after the colon on  the  /DEFAULT:

   % Missing quote to delimit switch value
        The string following the colon on  the  /DEFAULT:   switch  must  be
        enclosed in quotation marks.