home *** CD-ROM | disk | FTP | other *** search
/ ftp.robelle3000.ai 2014 / 2014.06.ftp.robelle3000.ai.tar / ftp.robelle3000.ai / faq / st40feat.txt < prev    next >
Text File  |  1997-05-11  |  51KB  |  1,357 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                              SUPRTOOL Version 4.0
  7.  
  8.  
  9.                        Database Handyman for the HP 3000
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.    Enhancements
  19.  
  20.  
  21.           Since  the last major release, Suprtool has been enhanced with the
  22.           following new features.
  23.  
  24.  
  25.    Allbase Databases
  26.  
  27.           Suprtool now supports Allbase databases.  You can open an  Allbase
  28.           database  with  the  Open command and choose input tables with the
  29.           Select command.  See the "Allbase" section later in this  document
  30.           for  a  complete  description  of  the  Allbase  features that are
  31.           available in Suprtool.
  32.  
  33.           We have tested the new Allbase module with Allbase version  G.1.13
  34.           for  MPE.   We  believe  that  it  will  be compatible with future
  35.           versions of Allbase.  We have not tested Suprtool with any of  the
  36.           F versions of Allbase.
  37.  
  38.  
  39.    Add Command
  40.  
  41.           Suprtool  now  has an Add command which is intended to add records
  42.           to an Oracle or Allbase SQL database.  This is currently available
  43.           only  for  Oracle  access  on  HP-UX.   It  is documented here for
  44.           completeness.
  45.  
  46.  
  47.    Export Command
  48.  
  49.           The Export command has better  error  checking  on  activation  of
  50.           STExport.
  51.  
  52.  
  53.    Extract Command
  54.  
  55.           Previous   versions   of   Suprtool  would  not  allow  arithmetic
  56.           expressions  that  started  with  a  constant.   If  you  have  an
  57.           arithmetic  expression  that  starts  with  a  constant,  Suprtool
  58.           assumes that you are attempting to extract a single constant value
  59.           and  not  an  arithmetic  expression.   To  specify  an arithmetic
  60.           expression that starts with a constant,  surround  the  expression
  61.           with parentheses.  For example,
  62.  
  63.                Incorrect
  64.                >extract c = 6000 - cost
  65.  
  66.                Error:  Missing comma or invalid arithmetic expression
  67.  
  68.                Correct
  69.                >extract c = (6000 - cost)
  70.  
  71.  
  72.    Form Command
  73.  
  74.           The  Form command has been enhanced to identify columns that allow
  75.           null values in SQL tables.  Before the Form command can  show  the
  76.           columns  in  a selected table, it has to be preceded by valid Open
  77.           and Select commands.
  78.            >form
  79.              Column Name:      Allbase Type:      Nulls:    Suprtool Type:
  80.  
  81.              CUSTOMERNUM          Decimal  (8)         N       Packed
  82.              DELIVERYDATE         Decimal  (8)         Y       Packed
  83.              PRODUCTNUM           Decimal  (8)         N       Packed
  84.              PRICE                Decimal  (8)         Y       Packed
  85.              PURCHASEDATE         Decimal  (8)         N       Packed
  86.              SALESQTY             Decimal  (4)         Y       Packed
  87.              SALESTAX             Decimal  (8)         Y       Packed
  88.              SALESTOTAL           Decimal  (8)         Y       Packed
  89.  
  90.  
  91.    Link Command
  92.  
  93.           The Link command  has  better  error  checking  on  activation  of
  94.           Suprlink.
  95.  
  96.  
  97.    Set Date Command
  98.  
  99.           Suprtool now has two new Set Date commands:
  100.  
  101.              Set Date ForceCentury On | Off
  102.              Set Date Cutoff nn
  103.  
  104.           See  the  "Suprtool  and  the  Year  2000"  section for a complete
  105.           description for each of these settings.
  106.  
  107.  
  108.    Item Command
  109.  
  110.           You can specify Oracle dates in the  Item  command  by  using  the
  111.           keyword Oracle.  For example,
  112.  
  113.                >item transdate,date,oracle
  114.  
  115.           The  Oracle  date  attribute  is  only  allowed on fields that are
  116.           exactly seven characters long.
  117.  
  118.  
  119.    If $null(fieldname)
  120.  
  121.           The If $null(fieldname) command has been added to select rows that
  122.           have  null values in them.  This feature is available only for SQL
  123.           databases, and you can use this command only on columns that allow
  124.           null values.
  125.  
  126.                >if $null(SALESTOTAL)
  127.  
  128.           If you want to find only values that are not null, you can add the
  129.           NOT keyword in front of $null.
  130.  
  131.                >if not $null(SALESTOTAL)
  132.  
  133.  
  134.    If $Invalid(date-field)
  135.  
  136.           The If command now has a $invalid function  to  find  all  invalid
  137.           dates  for a particular field.  An invalid date is any number of a
  138.           particular date format whose date equivalent cannot  be  found  on
  139.           the  calendar.   For  example,  a  date with a month of 99 will be
  140.           considered invalid.
  141.  
  142.              >base store.dbold
  143.              >get d-sales
  144.              >item deliv-date,date,yymmdd
  145.              >item purch-date,date,yymmdd
  146.              >if $invalid(deliv-date) or $invalid(purch-date)
  147.              >out baddates,link
  148.              >xeq
  149.  
  150.  
  151.    Item Command
  152.  
  153.           The Item command  now  allows  the  following  new  date  formats:
  154.           ccyymmdd,  ccyy,  ccyymm,  aammdd.  See the "Suprtool and the Year
  155.           2000" section for a complete description.
  156.  
  157.  
  158.    Oracle Dates
  159.  
  160.           Use the Item command to specify that a field  contains  an  Oracle
  161.           date.   Once  you  have identified an Oracle date, you can use the
  162.           $date and $today features in both the Extract and If  commands  to
  163.           extract  or select on Oracle dates.  Oracle dates have both a date
  164.           and a  time  component,  but  Suprtool  processes  only  the  date
  165.           component.
  166.  
  167.  
  168.    Link Command
  169.  
  170.           The  Link  command  has  improved  error checking on activation of
  171.           Suprlink.
  172.  
  173.  
  174.    Output,Link Option
  175.  
  176.           If you use the Item command to identify the fields that are Oracle
  177.           dates, the self-describing files created by the Link option of the
  178.           Output command will automatically include  this  information.   If
  179.           you  specify  a  self-describing  input  file  with  Oracle dates,
  180.           Suprtool will automatically recognize the Oracle date attribute.
  181.  
  182.  
  183.    Set Oracle Rows
  184.  
  185.           The minimum value for Set Oracle Rows has been changed from 10  to
  186.           1.
  187.  
  188.  
  189.    Open Command [OP]
  190.  
  191.           This  command  opens  an  SQL  database.  Only one database can be
  192.           opened at a time.
  193.  
  194.           For example,
  195.  
  196.                >OPEN ALLBASE DBEname Owner
  197.  
  198.           The Suprtool syntax for Allbase is slightly  different  from  that
  199.           for  Oracle.   Instead of a password, Suprtool expects the "owner"
  200.           name that is associated with a specific Allbase database.
  201.  
  202.  
  203.    Select Command [SEL]
  204.  
  205.           Specify a select-statement for an open SQL database.   The  Select
  206.           command  in Suprtool supports all the select-statement features of
  207.           the open SQL database.  Only one Select command can  be  specified
  208.           at a time.
  209.  
  210.                 SELECT select-statement
  211.  
  212.           The  Select  command  can contain any expression or clause that is
  213.           supported by the SQL database.  However, there are  some  Suprtool
  214.           commands  that  may  perform  faster than select-statements (e.g.,
  215.           Suprtool Sort command versus Order By).
  216.  
  217.  
  218.    Set Allbase Rows
  219.  
  220.           When the input source is an Allbase database, Suprtool reads  more
  221.           than  one row at a time.  By default, Suprtool fetches 100 rows at
  222.           a time.  With the Set Allbase Rows command,  you  can  change  the
  223.           number  of rows; the minimum number of rows is one and the maximum
  224.           number is 990.  You must specify Set Allbase Rows before you enter
  225.           the Select command.
  226.  
  227.  
  228.    Data-Types
  229.  
  230.           When  you  specify  a  Select command, Suprtool figures out how to
  231.           translate the Allbase internal data-types into formats that it can
  232.           process.  Not all Allbase data-types can be processed by Suprtool.
  233.           The following table lists the Suprtool data-type that  corresponds
  234.           to each Allbase data-type:
  235.  
  236.                Allbase Data-Type     Suprtool Data-Type
  237.  
  238.                integer                  double
  239.                smallint                 integer
  240.                binary                   Not Supported
  241.                char                     byte
  242.                varchar                  byte
  243.                real                     ieee-32
  244.                float                    ieee-64
  245.                decimal                  packed
  246.                numeric                  packed
  247.                TID                      Not Supported
  248.                date                     byte
  249.                time                     byte
  250.                datetime                 byte
  251.                interval                 byte
  252.                varbinary                Not Supported
  253.                long binary              Not Supported
  254.                long varbinary           Not Supported
  255.  
  256.  
  257.    Date and Time Types
  258.  
  259.           Allbase  has  four  types of fields that are associated with dates
  260.           and times.  These fields are converted to byte-type data  and  are
  261.           returned with specific lengths.
  262.  
  263.           The  date  and  time  fields  are returned with the following byte
  264.           lengths:
  265.  
  266.                    Data-Type      Length
  267.  
  268.                    DATE             10
  269.                    TIME             8
  270.                    DATETIME         23
  271.                    INTERVAL         8
  272.  
  273.  
  274.    Allbase
  275.  
  276.  
  277.           Suprtool can now read Allbase tables  and  views.   The  Open  and
  278.           Select  commands are used with Allbase.  The Form command has been
  279.           enhanced to show information about Allbase databases.
  280.  
  281.  
  282.    Allbase Access
  283.  
  284.           Suprtool now supports Native Char and Native  VarChar  data-types.
  285.           The  Form  command  reports  these  fields  as  being  Char(N) and
  286.           VarChar(N) respectively.
  287.  
  288.  
  289.    Form Command [F]
  290.  
  291.           The Form command now displays information about  an  open  Allbase
  292.           database.   After  an  Open command, the Form command displays the
  293.           tables available to the user, together  with  their  owner  names.
  294.           After  a  Select command, the Form command displays the columns in
  295.           the specified table.
  296.  
  297.            >open Allbase Partsdbe.allbase scott
  298.            >form
  299.            Allbase Owner             Table:
  300.               MANUFDB                SUPPLYBATCHES
  301.               MANUFDB                TESTDATA
  302.               PURCHDB                INVENTORY
  303.               PURCHDB                ORDERITEMS
  304.               PURCHDB                ORDERS
  305.               PURCHDB                PARTINFO
  306.               PURCHDB                PARTS
  307.               PURCHDB                REPORTS
  308.               PURCHDB                SUPPLYPRICE
  309.               PURCHDB                VENDORS
  310.               PURCHDB                VENDORSTATISTICS
  311.               RECDB                  CLUBS
  312.               RECDB                  EVENTS
  313.               RECDB                  MEMBERS
  314.               SCOTT                  EMP
  315.             >select * from scott.emp
  316.             >form
  317.               Column Name:          Allbase  Type:       Nulls:     Suprtool
  318.           Type:
  319.  
  320.                EMPNO                Decimal  (4)         N       Packed
  321.                ENAME                VarChar  (10)        Y       Byte
  322.                JOB                  VarChar  (9)         Y       Byte
  323.                MGR                  Decimal  (4)         Y       Packed
  324.                HIREDATE             Char     (10)        Y       Byte
  325.                SAL                  Decimal  (7,2)       Y       Packed
  326.                COMM                 Decimal  (7,2)       Y       Packed
  327.                DEPTNO               Decimal  (2)         Y       Packed
  328.  
  329.  
  330.    Open Command [OP]
  331.  
  332.           This  command  opens  an  SQL  database.  Only one database can be
  333.           opened at a time.
  334.  
  335.           For example,
  336.  
  337.                >OPEN ALLBASE DBEname Owner
  338.  
  339.           The Suprtool syntax for Allbase is slightly  different  from  that
  340.           for  Oracle.   Instead of a password, Suprtool expects the "owner"
  341.           name that is associated with a specific Allbase database.
  342.  
  343.  
  344.    Select Command [SEL]
  345.  
  346.           Specify a select-statement for an open SQL database.   The  Select
  347.           command  in Suprtool supports all the select-statement features of
  348.           the open SQL database.  Only one Select command can  be  specified
  349.           at a time.
  350.  
  351.                Allbase sorts data:
  352.  
  353.                     >select * from user.account@emp order by ename
  354.  
  355.                Suprtool sorts data:
  356.  
  357.                     >select * from user.account@emp
  358.                     >sort ename
  359.  
  360.           The  Select  command  can contain any expression or clause that is
  361.           supported by the SQL database.  However, there are  some  Suprtool
  362.           commands  that  may  perform  faster than select-statements (e.g.,
  363.           Suprtool Sort command versus Order By).
  364.  
  365.  
  366.    Allbase Performance
  367.  
  368.           Suprtool provides you with easy ways  to  let  either  Allbase  or
  369.           Suprtool  do  most of the work.  Whether it is best to use Allbase
  370.           or Suprtool really depends on your specific machine, database, and
  371.           application.   You  can use the Select command to force Allbase to
  372.           do most of the processing or you can use Suprtool to do the  work.
  373.           In  our testing, Suprtool consistently sorts 1.5 times faster than
  374.           Allbase.  Your performance  improvements  may  be  different  from
  375.           ours, so we recommend that you take some common tasks and try them
  376.           with both tools.  Here is an example of sorting with  Allbase  and
  377.           then with Suprtool:
  378.  
  379.                Allbase sorts data:
  380.  
  381.                     >select * from user.account@emp order by ename
  382.  
  383.                Suprtool sorts data:
  384.  
  385.                     >select * from user.account@emp
  386.                     >sort ename
  387.  
  388.  
  389.    Restrictions
  390.  
  391.           Suprtool still has the following restrictions in Allbase:
  392.  
  393.  
  394.           1. Suprtool  needs  the ownername to select a specific table.  For
  395.              example,
  396.  
  397.                   >select * from purchdb.orders
  398.  
  399.              In this example, the owner is  purchdb  and  the  tablename  is
  400.              orders.
  401.  
  402.  
  403.           2. Suprtool  cannot  handle the Allbase date format.  However, the
  404.              To_Char  function  in  the  select-statement  can  convert  the
  405.              Allbase  date  format  into something that Suprtool can handle.
  406.              For example,
  407.  
  408.               >select qty,TO_CHAR(date,'YYYYMMDD') from manufdb.testdata
  409.               >def mydate,date[1],8         {redefine testdate}
  410.               >item mydate,date,yyyymmdd    {define the date format}
  411.               >if mydate<=$today(-900)
  412.  
  413.  
  414.  
  415.    STExport
  416.  
  417.  
  418.           There are four enhancements to STExport.  The  HTML  command  lets
  419.           you  specify  output for web pages.  The Delimiter Space option is
  420.           now the default if you specify HTML Preformatted.  The new Heading
  421.           Column  option makes it much easier to specify individual headings
  422.           for each field in the input source.  The Date Invalid option  lets
  423.           you  decide  how STExport should handle invalid dates in the input
  424.           source.
  425.  
  426.  
  427.    Invalid Dates
  428.  
  429.           By  default,  all  invalid  dates  are  formatted  as   asterisks.
  430.           STExport treats any date that does not have a valid century, year,
  431.           month, or combination (e.g., February 29, 1999) as  invalid.   You
  432.           can specify how you want STExport to format invalid dates by using
  433.           the Invalid option of the Date command.
  434.  
  435.           If you specify
  436.  
  437.                $date invalid null
  438.  
  439.           STExport produces  a  zero-length  field  if  you  specify  Column
  440.           Variable,  and spaces if you specify Column Fixed.  If you want to
  441.           specify an explicit string for all invalid dates, do so after  the
  442.           Invalid option.  For example,
  443.  
  444.                $date invalid "%%%%%"
  445.  
  446.           will  cause STExport to produce a string of five percent signs for
  447.           any invalid date.
  448.  
  449.  
  450.    Delimiter Command
  451.  
  452.           You can now specify a space between  fields,  by  doing  Delimiter
  453.           Space.   If you specify HTML Preformatted, then Delimiter Space is
  454.           enabled.
  455.  
  456.  
  457.    Heading Command
  458.  
  459.           It is difficult to get headings right when you have to specify all
  460.           the  quotes  and delimiters with the Heading Add option.  Instead,
  461.           try the Heading  Column  to  specify  individual  column  headings
  462.           without  your  having to type in formatting information.  STExport
  463.           then uses whatever quote and delimiter settings apply to byte-type
  464.           fields.
  465.  
  466.           For example, if you specify:
  467.  
  468.                Heading Column 'Account'
  469.                Heading Column 'First Name'
  470.                Heading Column 'Last Name'
  471.                Heading Column 'City'
  472.                Heading Column 'State'
  473.  
  474.           and  Quote Double and Delimiter Comma are in effect, then STExport
  475.           produces the following heading:
  476.  
  477.                 "Account","First Name","Last Name","City","State"
  478.  
  479.  
  480.    Notes
  481.  
  482.           You cannot combine the Add and Column options.  You  must  specify
  483.           one  or  the  other.  If you start with Heading Add and then later
  484.           specify Heading Column, STExport erases the  heading  you  created
  485.           with  Heading  Add  and starts over with the first column that you
  486.           specify with Heading Column.  Similarly, if you start with Heading
  487.           Column, a Heading string or Heading Add will start over with a new
  488.           heading.
  489.  
  490.  
  491.    HTML Command  [HT]
  492.  
  493.           Use HTML to format web  pages  for  either  Internet  or  Intranet
  494.           applications.
  495.  
  496.                HTML      None | Preformatted | Table |
  497.                          Title string |
  498.                          Heading string
  499.  
  500.                                                              (Default: None)
  501.  
  502.           Web applications expect  data  in  a  special  format  called  the
  503.           Hypertext  Markup Language (HTML).  Use the HTML option to request
  504.           that STExport format the input file into HTML format.
  505.  
  506.  
  507.    Maximum Size of HTML Files
  508.  
  509.           Web browsers often cannot process large  documents.   The  maximum
  510.           size  depends  on  the  browser,  the version of that browser, the
  511.           operating system it's working on, and how much physical memory  is
  512.           present on the client machine.  We suggest that you limit your web
  513.           pages to less than 1,000 lines and restrict the number of columns,
  514.           unless  you  are  certain that your users can handle larger files.
  515.           This  advice  reflects  not  a  limitation  of  STExport,  but   a
  516.           limitation of how web browsers work.
  517.  
  518.  
  519.    Preformatted Format
  520.  
  521.           To  preserve  the columns and spacing of each output line, use the
  522.           HTML Preformatted command.  This command puts an  HTML  <pre>  tag
  523.           around  all the data in the input file.  Most web browsers display
  524.           preformatted  text  in  a  fixed-width  font  such   as   Courier.
  525.           Therefore,  if  you  specify  HTML  Preformatted,  you should also
  526.           select Columns Fixed.
  527.  
  528.  
  529.    Table Format
  530.  
  531.           Use HTML Table to create output in HTML  table  format.   STExport
  532.           creates  tables with a border between each column and row.  Tables
  533.           make it easier to read tabular information, but  not  all  browers
  534.           support tables.
  535.  
  536.  
  537.    Title
  538.  
  539.           All  HTML  documents must have a title.  By default, STExport uses
  540.           the title "This is the Title".  You should specify your own  title
  541.           using the Title option.
  542.  
  543.  
  544.    Heading
  545.  
  546.           The  heading  appears before the column headings and the data from
  547.           your input file.  By  default,  there  is  no  heading.   Use  the
  548.           Heading option to specify your own heading.
  549.  
  550.  
  551.    Column Headings
  552.  
  553.           If  you  specify  HTML  Table,  use the Heading command to specify
  554.           column headings for HTML output.  The  Heading  Fieldnames  option
  555.           produces  acceptable  column  headings,  but  it  is better to use
  556.           Heading Column to specify a string for each of the fields in  your
  557.           input file.
  558.  
  559.  
  560.    Roman-8 Characters
  561.  
  562.           HP  3000 and HP 9000 computers use the Roman-8 character set.  The
  563.           characters in the Roman-8 set are similar to,  but  not  identical
  564.           with,  the  ISO-8859-1  character  set.   Web  pages  must use the
  565.           ISO-8859-1 character set.
  566.  
  567.           When formatting byte-type fields, STExport attempts to convert any
  568.           Roman-8   input   character   into  the  corresponding  ISO-8859-1
  569.           character.  Those characters that cannot be converted are  dropped
  570.           from the output.  The following characters cannot be converted:
  571.  
  572.  
  573.                ⌐  169    grave mark
  574.  
  575.                ¬  170    circumflex
  576.  
  577.                ¼  172    tilde
  578.  
  579.                ╛  190    function symbol
  580.  
  581.                ▐  222    beta symbol
  582.  
  583.                δ  235    capital-S, Icelandic
  584.  
  585.                ∞  236    small-S, Icelandic
  586.  
  587.                ε  238    capital-Y, umlaut
  588.  
  589.  
  590.    Notes
  591.  
  592.           If you specify HTML Table, STExport sets
  593.  
  594.                Quotes None
  595.  
  596.                Delimiters None
  597.  
  598.           If you specify HTML Preformatted, STExport sets
  599.  
  600.                Quotes None
  601.  
  602.                Delimiters Space
  603.  
  604.                Columns Fixed
  605.  
  606.           In  either  case, changes cause STExport to print a warning to let
  607.           you know that these options have changed.  If you do  want  quotes
  608.           around  byte-type  fields  or  delimiters  between fields, specify
  609.           these options after selecting the HTML option.
  610.  
  611.  
  612.  
  613.    Suprtool and the Year 2000
  614.  
  615.  
  616.           We are in the midst of addressing many of  the  issues  that  face
  617.           data-processing departments at the impending turn of the century.
  618.  
  619.  
  620.    Two-Digit Years
  621.  
  622.           Currently  the date format of yymmdd collates (sorts) correctly if
  623.           the date is not beyond December 31, 1999.  For example,  say  that
  624.           the  current date is 961210; this is numerically is less than next
  625.           year, the date value of which is  971210.   At  the  turn  of  the
  626.           century,  dates in the yymmdd format (or yymm) will no longer sort
  627.           correctly because the value of December 10, 2000 (001210) is  less
  628.           than the value of dates before January 1, 2000, (e.g., 961210).
  629.  
  630.           Consequently,  if  we  have  a  date beyond 1999, stored in yymmdd
  631.           format, a relative operation such as
  632.  
  633.               >if date-field >= $DATE(96/12/10)
  634.  
  635.           will not find the date of December 10, 2000.
  636.  
  637.  
  638.    If Command and Year 2000
  639.  
  640.           Because dates beyond 1999 will not collate properly for the yymmdd
  641.           format, the If command now produces an error if the year specified
  642.           in a $date or $today function  is  greater  than  1999,  the  date
  643.           format  is  yymmdd  or  yymm,  and  you  are performing a relative
  644.           operation, such as greater than.
  645.  
  646.  
  647.    Set Date Cutoff
  648.  
  649.           Suprtool used to assume 19 for the century for any  user-specified
  650.           $date with a two-digit year.
  651.  
  652.           For example:
  653.  
  654.               >item date-field,date,ccyymmdd
  655.               >if date-field <= $DATE(09/12/26)
  656.  
  657.           The $date function used to convert the user-specified $date to
  658.  
  659.               1909/12/26
  660.  
  661.           in  order  for  it  to  be  compared  to  the date-field format of
  662.           ccyymmdd.  Now with Set Date Cutoff  xx,  we  assume  20  for  the
  663.           century  if  the year specified in the $date function is less than
  664.           the value of Set Date Cutoff.
  665.  
  666.           For example:
  667.  
  668.               >set date cutoff 10
  669.               >item date-field,date,ccyymmdd
  670.               >if date-field <= $DATE(09/12/26)
  671.  
  672.           Suprtool in this case assumes that the full $date is
  673.  
  674.               2009/12/26
  675.  
  676.           Conversely, if the value of  Set  Date  Cutoff  was  5,  then  the
  677.           assumed century would be 19.
  678.  
  679.           The default value of Set Date Cutoff is 10.
  680.  
  681.  
  682.    Set Date ForceCentury
  683.  
  684.           Set Date ForceCentury On does not allow a yy date to be entered in
  685.           the $date function.  Instead, it forces the user to enter  a  full
  686.           ccyy date.
  687.  
  688.              >set date forcecentury on
  689.              >item date-field,date,ccyymmdd
  690.              >if date-field >= $DATE(96/12/10)
  691.  
  692.            Error:You must specify the century or Set Date ForceCentury off
  693.  
  694.           The default value for Set Date ForceCentury is off.
  695.  
  696.  
  697.    New Date Formats
  698.  
  699.           The Item command now supports four new date formats:
  700.  
  701.             Format                 Date-Types
  702.             ccyymmdd               X8 Z8 J2 K2 P10
  703.             ccyymm                 X6 Z6 J2 K2 P8
  704.             ccyy                   X4 Z4 J1 K1
  705.             aammdd                 X6
  706.  
  707.  
  708.    AAMMDD Date Format
  709.  
  710.           The  aammdd  date  format was developed by James Overman of HP for
  711.           use in their MM3000 product.  This format is only available for X6
  712.           data-type.
  713.  
  714.           AAMMDD is similar to yymmdd, but the year portion of the date uses
  715.           a combination of numbers and letters of the alphabet to  represent
  716.           years beyond 1999.
  717.  
  718.           By  substituting a letter of the alphabet in the first position of
  719.           the year, we can extend a six-digit date and also ensure that  the
  720.           dates collate correctly.  For example,
  721.  
  722.             YY of AAMMDD     CCYY
  723.             A0 - A9          2000 - 2009
  724.             B0 - B9          2010 - 2019
  725.             C0 - C9          2020 - 2029
  726.  
  727.           Because   letters  are  greater  than  numbers  in  the  collating
  728.           sequence, we can ensure that aammdd dates beyond 1999  will  order
  729.           correctly.
  730.  
  731.  
  732.    Invalid Dates
  733.  
  734.           The  If  command  now  has a $invalid function to find all invalid
  735.           dates for a particular field.  An invalid date is any number of  a
  736.           particular  date  format  whose date equivalent cannot be found on
  737.           the calendar.  For example, a date with a  month  of  99  will  be
  738.           considered invalid.
  739.  
  740.              >base store.demo
  741.              Database password [;]?
  742.              >get d-sales
  743.              >item deliv-date,date,ccyymmdd
  744.              >if $invalid(deliv-date)
  745.              >out baddates,link
  746.              >xeq
  747.  
  748.  
  749.    Converting Dates
  750.  
  751.           Suprtool is capable of converting dates from one format to another
  752.           using a variety of Suprtool features.  You will see  how  Suprtool
  753.           can  convert  common  dates without the century to those that have
  754.           the century included.  Although Suprtool can convert your data, it
  755.           is  up  to you to change your programs so that they will recognize
  756.           the reformatted dates as valid.  Adager, a third-party program for
  757.           changing IMAGE database structures, has the ability to change date
  758.           fields.  Suprtool can convert data in IMAGE databases, flat files,
  759.           self-describing files, and KSAM files.
  760.  
  761.  
  762.    Case 1:  Converting a J2 date from YYMMDD to CCYYMMDD
  763.  
  764.           Because  Suprtool  can  do arithmetic expressions, you can alter a
  765.           date to put 19 in front of it.  But what if all the dates are  not
  766.           actually dates but rather are filled with 9's as some sort of flag
  767.           to your application?
  768.  
  769.           Say you have a dataset with two date fields, which are J2 items in
  770.           the date format yymmdd.
  771.  
  772.           Database: STORE.DB.GREEN
  773.  
  774.               D-SALES          Detail    Set 5
  775.                  Entry:                     Offset
  776.                     CUST-ACCOUNT         Z8      1  (!M-CUSTOMER)
  777.                     DELIV-DATE           J2      9
  778.                     PRODUCT-NO           Z8     13  (M-PRODUCT)
  779.                     PRODUCT-PRICE        J2     21
  780.                     PURCH-DATE           J2     25
  781.                     SALES-QTY            J1     29
  782.                     SALES-TAX            J2     31
  783.                     SALES-TOTAL          J2     35
  784.               Capacity: 602 (14)  Entries: 10  Highwater: 10  Bytes: 38
  785.  
  786.           First,  you  need  to  know  and  understand your data.  Are there
  787.           invalid dates?   If so, does the value  have  some  other  logical
  788.           meaning?  Are they, for example, flags for your application?
  789.  
  790.             >get d-sales
  791.             >item deliv-date,date,yymmdd
  792.             >item purch-date,date,yymmdd
  793.             >if $invalid(deliv-date) or $invalid(purch-date)
  794.             >list
  795.             >xeq
  796.             >GET D-SALES (9) >OUT $NULL (0)
  797.             CUST-ACCOUNT    = 10010          DELIV-DATE      = 999999
  798.             PRODUCT-NO      = 50513001       PRODUCT-PRICE   = 19220
  799.             PURCH-DATE      = 999999         SALES-QTY       = 2
  800.             SALES-TAX       = 2691           SALES-TOTAL     = 21910
  801.  
  802.             >GET D-SALES (10) >OUT $NULL (1)
  803.             CUST-ACCOUNT    = 10010          DELIV-DATE      = 125213
  804.             PRODUCT-NO      = 50513001       PRODUCT-PRICE   = 19220
  805.             PURCH-DATE      = 970135         SALES-QTY       = 2691
  806.             SALES-TAX       = 21910          SALES-TOTAL     = 21910
  807.  
  808.             IN=10, OUT=2.  CPU-Sec=1.  Wall-Sec=1.
  809.  
  810.           Two records do not contain proper dates: the first record contains
  811.           all 9's, which are probably used as some sort of  flag.   You  may
  812.           need  to  add an additional leading "99" to dates such as these to
  813.           match the ccyymmdd date format.  The second  record,  however,  is
  814.           obviously  wrong.   Use Dbedit to correct this record and continue
  815.           on to convert the other dates.  The point here is  that  you  must
  816.           know  your  own  data: in order to correctly convert to a new date
  817.           format, you must understand what are true invalid dates  and  what
  818.           are flags that you want to keep.
  819.  
  820.           After fixing up the dates that are incorrect you can now get ready
  821.           to start converting the dates.
  822.  
  823.           You can convert prefix 19 in front of all of the appropriate dates
  824.           by  using  the  following extract statement.  Please note that you
  825.           are updating this directly.  So that you can redo this task if  it
  826.           is stopped halfway, you only convert those dates that have not yet
  827.           been converted.
  828.  
  829.                >get d-sales
  830.                >item purch-date,date,yymmdd
  831.                >if not $invalid(purch-date) and purch-date < 999999
  832.                >update
  833.                >ext purch-date = purch-date + 19000000
  834.                >xeq
  835.  
  836.           If you have records containing years between 00 and 10,  and  they
  837.           actually represent 2000 and 2010, you should change the If command
  838.           to update them in a separate pass.  The  first  pass  updates  all
  839.           twentieth-century dates:
  840.  
  841.                >get d-sales
  842.                >item purch-date,date,yymmdd
  843.                >if not $invalid(purch-date) and purch-date / 10000 > 10
  844.                >update
  845.                >ext purch-date = purch-date + 19000000
  846.                >xeq
  847.  
  848.           The second pass updates those dates in the twenty-first century:
  849.  
  850.                >get d-sales
  851.                >item purch-date,date,yymmdd
  852.                >if not $invalid(purch-date) and purch-date / 10000 <= 10
  853.                >update
  854.                >ext purch-date = purch-date + 20000000
  855.                >xeq
  856.  
  857.           You  now have converted all the J2 yymmdd dates to ccyymmdd format
  858.           and added the correct century to the date.
  859.  
  860.  
  861.    Case 2:   X6 YYMMDD Data to X8 CCYYMMDD
  862.  
  863.           The following Suprtool task shows you how to generate a  new  file
  864.           to put into a new database with dates in a different format.
  865.  
  866.           Consider  the  deliv-date  and  purch-date  fields  of the D-Sales
  867.           dataset:
  868.  
  869.           Database: STORE.DBOLD.ACCOUNT
  870.  
  871.               D-SALES          Detail    Set 5
  872.                  Entry:                     Offset
  873.                     CUST-ACCOUNT         Z8      1  (!M-CUSTOMER)
  874.                     DELIV-DATE           X6      9
  875.                     PRODUCT-NO           Z8     15  (M-PRODUCT)
  876.                     PRODUCT-PRICE        J2     23
  877.                     PURCH-DATE           X6     27
  878.                     SALES-QTY            J1     33
  879.                     SALES-TAX            J2     35
  880.                     SALES-TOTAL          J2     39
  881.               Capacity: 611 (13)  Entries: 15  Highwater: 15  Bytes: 42
  882.  
  883.           You want to convert to a date format with room for  a  cc  at  the
  884.           beginning of the deliv-date and purch-date:
  885.  
  886.  
  887.              Database: STORE.DB.ACCOUNT
  888.  
  889.               D-SALES          Detail    Set 5
  890.                  Entry:                     Offset
  891.                     CUST-ACCOUNT         Z8      1  (!M-CUSTOMER)
  892.                     DELIV-DATE           X8      9
  893.                     PRODUCT-NO           Z8     17  (M-PRODUCT)
  894.                     PRODUCT-PRICE        J2     25
  895.                     PURCH-DATE           X8     29
  896.                     SALES-QTY            J1     37
  897.                     SALES-TAX            J2     39
  898.                     SALES-TOTAL          J2     43
  899.               Capacity: 608 (16)  Entries: 0  Highwater: 0  Bytes: 46
  900.  
  901.           In  order to convert these dates you must put either a 19 or 20 in
  902.           front of the yymmdd date, depending on  the  value  of  the  year.
  903.           Before  you  can  do either of these you must confirm, once again,
  904.           that you have no invalid dates.
  905.  
  906.              >base store.dbold
  907.              >get d-sales
  908.              >item deliv-date,date,yymmdd
  909.              >item purch-date,date,yymmdd
  910.              >if $invalid(deliv-date) or $invalid(purch-date)
  911.              >list
  912.              >xeq
  913.  
  914.           Once you have confirmed that there are no invalid  dates  you  can
  915.           start  converting  the dates that you have.  Because there are two
  916.           date-fields in this dateset,  you  must  be  careful  to  add  the
  917.           appropriate  century  for the proper field.  For this example, you
  918.           assume that if a year is less that 1950 then the century should be
  919.           20.
  920.  
  921.           You  can  easily  convert  each  date  by  processing  each  field
  922.           separately using an intermediate self-describing file:
  923.  
  924.              >base store.dbold,1
  925.              Database password [;]?
  926.  
  927.              >get d-sales
  928.              >set squeeze off
  929.              >item deliv-date,date,yymmdd
  930.              >if deliv-date >= $DATE(1950/01/01)
  931.              >out sales01,link
  932.              >ext cust-account
  933.              >ext "19"
  934.              >ext deliv-date / sales-total
  935.              >xeq
  936.              IN=15, OUT=14.  CPU-Sec=1.  Wall-Sec=5.
  937.  
  938.           Now insert 20 to the century for the appropriate records:
  939.  
  940.              >base store.dbold
  941.              >get d-sales
  942.              >if deliv-date < $DATE(1950/01/01)
  943.              >ext cust-account
  944.              >ext "20"
  945.              >ext deliv-date / sales-total
  946.              >out sales01,link,append
  947.              >xeq
  948.  
  949.           Now you can convert the other field from the flat file,  (Sales01)
  950.           and add a century to the purch-date field:
  951.  
  952.              >reset
  953.              >base                 {close the open database}
  954.              >in sales01
  955.              >item purch-date,date,yymmdd
  956.              >if purch-date >= $date(1950/01/01)
  957.              >set squeeze off
  958.              >out sales02,link
  959.              >ext cust-account / product-price
  960.              >ext "19"
  961.              >ext purch-date / sales-total
  962.              >xeq
  963.              IN=15, OUT=15.  CPU-Sec=1.  Wall-Sec=1.
  964.  
  965.           Because  you extracted all 15 records you know you do not have any
  966.           records with the purch-date field that need to be updated  with  a
  967.           20.
  968.  
  969.           You can insert the records into the new database:
  970.  
  971.              >base store.db
  972.              >in sales02
  973.              >put d-sales
  974.              >xeq
  975.  
  976.           Now you have converted two dates from X6 format to an X8 format.
  977.  
  978.  
  979.    Case 3:  Different Date Formats X6 MMDDYY Data to X6 YYMMDD
  980.  
  981.           The  following  Suprtool task shows you how to convert a date in a
  982.           self-describing file from mmddyy to yymmdd format.
  983.  
  984.           Consider the following self-describing file  with  the  deliv-date
  985.           and purch-date fields:
  986.  
  987.                File: SALES04.DATA.ACCOUNT   (SD Version B.00.00)
  988.                   Entry:                     Offset
  989.                      CUST-ACCOUNT         Z8      1
  990.                      DELIV-DATE           X6      9       <<MMDDYY>>
  991.                      PRODUCT-NO           Z8     15
  992.                      PRODUCT-PRICE        I2     23
  993.                      PURCH-DATE           X6     27       <<MMDDYY>>
  994.                      SALES-QTY            I1     33
  995.                      SALES-TAX            I2     35
  996.                      SALES-TOTAL          I2     39
  997.                Limit: 115  EOF: 15  Entry Length: 42  Blocking: 97
  998.  
  999.           You  want to convert these two dates to a format of yymmdd, before
  1000.           adding a century in  front  of  the  year.   This  can  be  easily
  1001.           accomplished by defining each sub part of the date, and extracting
  1002.           those parts in the new order.
  1003.  
  1004.              >in sales04
  1005.              >def deliv-date-mm,deliv-date[1],2
  1006.              >def deliv-date-dd,deliv-date[3],2
  1007.              >def deliv-date-yy,deliv-date[5],2
  1008.              >def purch-date-mm,purch-date[1],2
  1009.              >def purch-date-dd,purch-date[3],2
  1010.              >def purch-date-yy,purch-date[5],2
  1011.              >ext cust-account
  1012.              >ext deliv-date-yy
  1013.              >ext deliv-date-mm
  1014.              >ext deliv-date-dd
  1015.              >ext product-no / product-price
  1016.              >ext purch-date-yy
  1017.              >ext purch-date-mm
  1018.              >ext purch-date-dd
  1019.              >ext sales-qty / sales-total
  1020.              >out sales05,link
  1021.              >xeq
  1022.  
  1023.           You now have a file with  the  dates  in  yymmdd  order,  but  the
  1024.           self-describing information shows three separate fields.
  1025.  
  1026.               File: SALES05.DATE.ACCOUNT     (SD Version B.00.00)
  1027.                  Entry:                     Offset
  1028.                     CUST-ACCOUNT         Z8      1
  1029.                     DELIV-DATE-YY        X2      9
  1030.                     DELIV-DATE-MM        X2     11
  1031.                     DELIV-DATE-DD        X2     13
  1032.                     PRODUCT-NO           Z8     15
  1033.                     PRODUCT-PRICE        I2     23
  1034.                     PURCH-DATE-YY        X2     27
  1035.                     PURCH-DATE-MM        X2     29
  1036.                     PURCH-DATE-DD        X2     31
  1037.                     SALES-QTY            I1     33
  1038.                     SALES-TAX            I2     35
  1039.                     SALES-TOTAL          I2     39
  1040.               Limit: 115  EOF: 15  Entry Length: 42  Blocking: 97
  1041.  
  1042.           You  can  convert  these  several fields to one field with another
  1043.           extract task:
  1044.  
  1045.               >in sales05
  1046.               >def deliv-date,9,6,byte
  1047.               >def purch-date,27,6,byte
  1048.               >item deliv-date,date,yymmdd
  1049.               >item purch-date,date,yymmdd
  1050.               >ext cust-account
  1051.               >ext deliv-date
  1052.               >ext product-no
  1053.               >ext product-price
  1054.               >ext purch-date
  1055.               >ext sales-qty / sales-total
  1056.               >out sales06,link
  1057.               >xeq
  1058.               IN=15, OUT=15.  CPU-Sec=1.  Wall-Sec=1.
  1059.  
  1060.           You now end up with a file that looks like this:
  1061.  
  1062.               File: SALES06.DATA.ACCOUNT   (SD Version B.00.00)
  1063.                  Entry:                     Offset
  1064.                      CUST-ACCOUNT         Z8      1
  1065.                      DELIV-DATE           X6      9       <<YYMMDD>>
  1066.                      PRODUCT-NO           Z8     15
  1067.                      PRODUCT-PRICE        I2     23
  1068.                      PURCH-DATE           X6     27       <<YYMMDD>>
  1069.                      SALES-QTY            I1     33
  1070.                      SALES-TAX            I2     35
  1071.                      SALES-TOTAL          I2     39
  1072.                Limit: 115  EOF: 15  Entry Length: 42  Blocking: 97
  1073.  
  1074.           You then add the century to these fields as described above.
  1075.  
  1076.  
  1077.    Bugs Fixed
  1078.  
  1079.  
  1080.           Allbase.  The following  problems  in  Allbase  access  have  been
  1081.           fixed:
  1082.  
  1083.           1. Suprtool  now properly sets Char fields to spaces if the values
  1084.              in the Allbase column are null.
  1085.  
  1086.           2. Suprtool now correctly reports the length of VarChar columns.
  1087.  
  1088.           3. Suprtool would fail with strange errors if the input source was
  1089.              a large SQL table.
  1090.  
  1091.           Chain  Command.  The  Chain  command no longer requires a specific
  1092.           reset when a "Missing quote" syntax error occurs.
  1093.  
  1094.           Edit Command.  Dbedit no longer allows invalid numbers  in  double
  1095.           integer fields.  This was caused by a bug in the NM version of the
  1096.           DBINARY intrinsic.
  1097.  
  1098.           Export  Command.  STExport  now  accepts  *filename  as   a   back
  1099.           reference to a file equation.
  1100.  
  1101.           STExport  can  now  build  an  output file that is large enough to
  1102.           handle a combination  of  Columns  Fixed  and  Heading  Fieldnames
  1103.           options.
  1104.  
  1105.           STExport no longer puts a trailing comma on the Heading line.
  1106.  
  1107.           STExport no longer truncates large numbers when they are formatted
  1108.           with decimal places and signs.
  1109.  
  1110.           Extract Command.  An obscure error  message  was  printed  when  a
  1111.           conversion  or  arithmetic expression overflowed the target field.
  1112.           For example, assume that sales-qty has values  greater  than  100.
  1113.           The following commands will result in overflow:
  1114.  
  1115.                 >get    d-sales
  1116.                 >define small-field,1,2,display
  1117.                 >extract  small-field = sales-qty
  1118.                 >output   somefile
  1119.                 >xeq
  1120.  
  1121.                Error:  Overflow of arithmetic expression
  1122.  
  1123.                Input record number: 0
  1124.  
  1125.           Form  Command.  The  Form  command  now  correctly  shows the Item
  1126.           attributes of a specified field when the input source is an  IMAGE
  1127.           dataset.
  1128.  
  1129.           Table  Command.  The  Table  command  now  prints a warning when a
  1130.           fieldname specified does not exist in the self-describing file.
  1131.  
  1132.           If  Command.  The  If  command  produced  an  error  if  you  were
  1133.           comparing  two  packed-decimal  fields  with a different number of
  1134.           decimal places.
  1135.  
  1136.           Output=Input.   Suprtool treats an Output=Input  operation  as  an
  1137.           error  if  the  input  file  is  self-describing and the extracted
  1138.           record size is not the same as the  input  file.   This  operation
  1139.           previously  would  create  files  where the data did not match the
  1140.           self-describing file.
  1141.  
  1142.           Progress Messages.  When selecting data from  IMAGE  datasets  the
  1143.           number of records reported with In= was incorrect.
  1144.  
  1145.           STExport.  The following problems in STExport have been fixed:
  1146.  
  1147.           1. When  STExport  created  variable-length output files, a lot of
  1148.              disc space could be wasted.  This happened whenever there was a
  1149.              big difference between the input files EOF and LIMIT.
  1150.  
  1151.           2. The   Default  option  of  the  Floating  command  was  spelled
  1152.              incorrectly.
  1153.  
  1154.           3. When converting Double Integer fields  to  ASCII,  spaces  were
  1155.              left at the end of the record.
  1156.  
  1157.           4. If  the  input source had compound date fields, the Xeq command
  1158.              would produce an error  message  about  an  invalid  date  type
  1159.              rather than just processing the date field correctly.
  1160.  
  1161.           Item  Command.  Calendar  dates  beyond 1999 are now being handled
  1162.           properly.
  1163.  
  1164.           Output Command.  Suprtool no longer fails  with  an  "Extent  size
  1165.           exceeds maximum" error when it attempts to build very large output
  1166.           files.
  1167.  
  1168.           Sort Command.  Suprtool  no  longer  fails  with  an  "Illegal  DB
  1169.           register setting" error when it sorts very large output files.
  1170.  
  1171.           Total Command.  The Total command no longer upshifts filenames.
  1172.  
  1173.           Verify  Command.  The  Verify All command no longer prints the SQL
  1174.           information twice.
  1175.  
  1176.           Verify Command.  The Verify command without parameters now  prints
  1177.           out Select command information.
  1178.  
  1179.  
  1180.    QLIB and Bonus Enhancements
  1181.  
  1182.  
  1183.           Suprtool  comes  with  an  array  of contributed tools in the QLIB
  1184.           library.  Your Robelle license may also entitle you to receive our
  1185.           five  Bonus  programs.   All of these tools are updated throughout
  1186.           the year, not necessarily in  sync  with  Suprtool  or  any  other
  1187.           Robelle product.
  1188.  
  1189.           If  you  have  the  Bonus  programs,  you  may  only  use  them on
  1190.           appropriately licensed CPUs.  The QLIB programs, however,  may  be
  1191.           used  on  any  CPUs  and  given  away  freely.   The most recently
  1192.           released Bonus and QLIB tools are as follows:
  1193.  
  1194.                Bonus                   Contributed
  1195.                Compare/iX 2.4          Helpcomp 2.2
  1196.                HowMessy 2.4            Printdoc 1.5
  1197.                Select 3.6              Prose 4.1
  1198.                Spell 1.5               Pscreen 89C
  1199.                Xpedit 1.5              Qcopy 4.3
  1200.                                        Qhelp 2.2
  1201.  
  1202.  
  1203.    Bonus Programs
  1204.  
  1205.           Since the last major release  of  Suprtool,  the  following  Bonus
  1206.           programs have been enhanced with these new features:
  1207.  
  1208.  
  1209.    Compare/iX 2.4
  1210.  
  1211.           The  NM Compare program compares two text files and prints out the
  1212.           differences for you.  Compare works with both  Suprtool  workfiles
  1213.           and  regular  Keep files.  The input filenames can be specified in
  1214.           the Info=  string.   See  Compare.Docchg.Robelle  for  a  detailed
  1215.           change notice for Compare.
  1216.  
  1217.  
  1218.    HowMessy 2.4
  1219.  
  1220.           HowMessy  provides fast reports on the internal efficiency of your
  1221.           database.  Now use HowMessy  to  report  statistics  on  IMAGE/SQL
  1222.           datasets larger than 4 gigabytes.  See HowMessy.Docchg.Robelle for
  1223.           a detailed change notice for HowMessy.
  1224.  
  1225.  
  1226.    Select 3.6
  1227.  
  1228.           Select is a menu front-end that works on  any  terminal,  allowing
  1229.           people to select tasks from a list of choices.  User commands (and
  1230.           UDCs) support 32  parameters  and  :Escape.   Variable-length  and
  1231.           Qedit-type  command  files are allowed.  See Select.Docchg.Robelle
  1232.           for a detailed change notice for Select.
  1233.  
  1234.  
  1235.    Spell 1.5
  1236.  
  1237.           Spell is a fast spelling checker for the HP 3000 that  reads  both
  1238.           Qedit  and  EDIT/3000  files.   Spell  can  read Qedit's new Jumbo
  1239.           files.
  1240.  
  1241.  
  1242.    Xpedit 1.5
  1243.  
  1244.           Xpedit is a simple screen editor that is handy for  editing  small
  1245.           files  using  VPLUS  block-mode.   Inverse video was added to some
  1246.           error messages to make them stand out more prominently.   See  the
  1247.           file  Xpedit.Docchg.Robelle for a complete description of Xpedit's
  1248.           changes.
  1249.  
  1250.  
  1251.    QLIB Programs
  1252.  
  1253.           Since the last major  release  of  Suprtool,  the  following  QLIB
  1254.           programs have been enhanced with these new features:
  1255.  
  1256.  
  1257.    Printdoc 1.5
  1258.  
  1259.           Printdoc  is  an  easy-to-use utility for printing Robelle manuals
  1260.           and other documentation.  Printdoc now supports LaserJet 4  and  5
  1261.           printers.
  1262.  
  1263.  
  1264.    Prose 4.1
  1265.  
  1266.           Prose is the text formatter that we use for all our documentation,
  1267.           from user manuals to on-line Help.  Prose can now read Jumbo  text
  1268.           files that are wider than 256 characters.  Prose can also generate
  1269.           RTF output with the .out (rtf)  command.   See  the  Prose.Docchg.
  1270.           Robelle file for a detailed change notice for Prose.
  1271.  
  1272.  
  1273.    Qcopy 4.3
  1274.  
  1275.           Qcopy  is a contributed program that reads and writes Qedit files.
  1276.           Its Qeditaccess routine decodes the  files  for  Qcopy.   Although
  1277.           Qeditaccess  can  read  Qedit's  new  Jumbo files, it cannot write
  1278.           them.
  1279.  
  1280.  
  1281.    Qhelp 2.2
  1282.  
  1283.           Qhelp is an on-line user help facility that you can tie into  your
  1284.           own software.  We use it ourselves in all our software products.
  1285.  
  1286.  
  1287.    Appendix:  Non-Robelle Installation
  1288.  
  1289.  
  1290.           Suprtool  is  usually  installed  on  your  HP 3000 in the Robelle
  1291.           account.  The installation instructions  earlier  in  this  change
  1292.           notice  make  that  assumption.   However,  you can easily install
  1293.           Suprtool  into  another  account  by   following   these   general
  1294.           guidelines:
  1295.  
  1296.           1. Create or upgrade the structure of your account
  1297.  
  1298.           2. Restore the files into your account
  1299.  
  1300.           3. Alter any installation jobs to log on to your account
  1301.  
  1302.           4. Stream the installation jobs
  1303.  
  1304.           For  example, to install Suprtool into an account called Tools and
  1305.           into the same groups as Suprtool would have used  in  the  Robelle
  1306.           account (Pub, Doc, Help, etc.), follow these steps.
  1307.  
  1308.  
  1309.    Step 1:  Upgrade Account Structure
  1310.  
  1311.           With   a  text  editor,  change  all  account  references  in  the
  1312.           Robelle.Pub.Sys job from "robelle" to "tools."  Don't worry  about
  1313.           changes  to  some  of the comments in the job.  Note that this job
  1314.           will change the capabilities, access flags, and logon password  of
  1315.           the  Tools  account.  Examine the job carefully to ensure that the
  1316.           changes do not cause problems for other software  in  the  Robelle
  1317.           account.
  1318.  
  1319.                :run qedit.pub.robelle
  1320.                /text robelle.pub.sys
  1321.                /change "robelle"(upshift) "tools" all
  1322.  
  1323.  
  1324.    Step 2:  Restore Files
  1325.  
  1326.           Restore  the  files  into  your  account,  which  is Tools in this
  1327.           example.
  1328.  
  1329.                :file suprtape;dev=tape
  1330.                :restore *suprtape;@.@.robelle
  1331.  
  1332.  
  1333.    Steps 3 and 4:  Alter and Stream Installation Jobs
  1334.  
  1335.           Now log on to the Tools account instead of the Robelle account.
  1336.  
  1337.                :hello mgr.tools
  1338.                :run qedit.pub.robelle
  1339.  
  1340.           Before streaming any jobs, you must alter them so that they log on
  1341.           to  the  Tools  account  instead of the Robelle account.  Make the
  1342.           following change to each job in the  Suprjob,  Job,  and  Purgejob
  1343.           groups:
  1344.  
  1345.                /text install.suprjob
  1346.                /change "robelle"(upshift smart) "tools" all
  1347.                /keep
  1348.                /exit
  1349.                :stream install.suprjob
  1350.  
  1351.           We  have  used  Robelle's  Qedit  text editor to make the required
  1352.           changes to the account name in this example, but you can  use  any
  1353.           editor.   Just  make  sure  that  all occurrences of "robelle" are
  1354.           changed,  regardless  of  whether  "robelle"  is   in   uppercase,
  1355.           lowercase,  or  mixed  case.   Only  change "robelle" when it is a
  1356.           separate word, not when it is embedded in a longer word.
  1357.