home *** CD-ROM | disk | FTP | other *** search
/ ftp.robelle3000.ai 2014 / 2014.06.ftp.robelle3000.ai.tar / ftp.robelle3000.ai / changes / supr4p4ux.txt < prev    next >
Text File  |  2001-12-02  |  27KB  |  719 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                              SUPRTOOL Version 4.4
  7.  
  8.  
  9.                           Database Handyman for HP-UX
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                                  Change Notice
  17.                            Installation Instructions
  18.                           Addendum to 4.3 User Manual
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                             Suprtool         4.4
  26.                             Suprlink         4.4
  27.                             STExport         4.4
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.                          Robelle Solutions Technology
  39.                           Suite 201, 15399-102A Ave.
  40.                          Surrey, B.C.  Canada V3R 7K1
  41.  
  42.                            Toll-free:  1.888.robelle
  43.                              Phone:  604.582.1700
  44.                               Fax:  604.582.1799
  45.  
  46.                          E-mail:  support@robelle.com
  47.                              Web:  www.robelle.com
  48.  
  49.                                  February 2001
  50.           Program and Manual Copyright  Robelle  Solutions  Technology  Inc.
  51.           1981-2001
  52.  
  53.  
  54.           Permission  is  granted  to  reprint  this  document  (but not for
  55.           profit), provided that copyright notice is given.
  56.  
  57.  
  58.  
  59.  
  60.           QEDIT and SUPRTOOL are trademarks of Robelle Solutions  Technology
  61.           Inc.   Other product and company names mentioned herein may be the
  62.           trademarks of their respective owners.
  63.  
  64.  
  65.  
  66.    Introducing Suprtool/UX Version 4.4
  67.  
  68.  
  69.                *  Highlights
  70.                *  Known Problems
  71.                *  Compatibility
  72.                *  CPU Serial Number (uname)
  73.                *  Documentation
  74.                *  Documentation in WinHelp Format
  75.  
  76.           Use Suprtool/UX to read, select, and sort  data  from  Oracle  and
  77.           Allbase  databases  and from data files with fixed-length records.
  78.           Suprtool/UX is designed to be similar to Suprtool  for  MPE  while
  79.           providing   necessary   HP-UX   features.    Suprlink/UX  provides
  80.           high-speed data-file linking based on a sort key.  Use STExport to
  81.           convert fields in a self-describing input file into an output file
  82.           that can be imported into different applications.
  83.  
  84.  
  85.    Highlights
  86.  
  87.  
  88.           *  Suprtool now supports string expressions in  both  the  Extract
  89.              and  If commands.  String expressions allow users to select and
  90.              format  their  byte-type  data  in  numerous  new  ways.   This
  91.              includes  combining  byte-type  fields together, upshifting and
  92.              downshifting data, and trimming  blanks.   These  new  features
  93.              combine  to  reduce  the  number  of tasks needed to select and
  94.              format the data the way you need it.
  95.  
  96.           *  Suprtool now supports 5,100 bytes of constants to be extracted.
  97.              (only NM and HP-UX)
  98.  
  99.           *  Suprtool,  Suprlink and STExport now have the ability to create
  100.              their own persistent redo stacks.  The contents of these stacks
  101.              can  be recalled not only in the current session, but also in a
  102.              future session.
  103.  
  104.  
  105.    Known Problems
  106.  
  107.           There are no known problems at this time.
  108.  
  109.  
  110.    Compatibility
  111.  
  112.           Suprtool/UX is compatible with HP-UX 9.0, all  versions  of  HP-UX
  113.           10.x, as well as Oracle version 7.1.3.2.0.
  114.  
  115.           On  HP-UX  10.x,  Suprtool/UX  creates  all  of  its temporary and
  116.           scratch files in /var/tmp, unless the temporary directory has been
  117.           overridden with the TMPDIR environment variable.
  118.  
  119.           Suprtool  for  HP-UX  typically  comes  with  two  versions in two
  120.           different directories on your tape.  The version  of  Suprtool  in
  121.           /opt/robelle  is  compatible  with  HP-UX  10.20  and  later.  The
  122.           version of Suprtool in /usr/robelle is  compatible  with  versions
  123.           earlier than HP-UX 10.20.
  124.  
  125.           Suprtool  will  no longer save an output file when no records have
  126.           been written and an error has occurred.
  127.  
  128.  
  129.    CPU Serial Number (uname)
  130.  
  131.           This program runs only on CPUs  whose  serial  numbers  have  been
  132.           encoded (the "uname" on HP-UX).  If it fails to run and you get an
  133.           "invalid HPSUSAN" error message, call Robelle for assistance.
  134.  
  135.  
  136.    Documentation
  137.  
  138.           The user manuals for Suprtool and  its  components  are  available
  139.           on-line.   You  can  access  these  files  from within Suprtool by
  140.           simply typing the Help command.  We also distribute all three user
  141.           manuals as a Windows Help file.
  142.  
  143.           If you are already familiar with Suprtool, you can access only the
  144.           Suprtool/UX topics that are different from those of  Suprtool/MPE.
  145.           The  "Running"  section  of  the  Help  file  has been updated for
  146.           Suprtool/UX.  You can access it with the following Help command:
  147.  
  148.                >help running
  149.  
  150.  
  151.    Documentation in WinHelp Format
  152.  
  153.           The user manuals for Suprtool and its components are all available
  154.           in  the  WinHelp  file  format  of  Microsoft  Windows.  Your tape
  155.           includes a WinHelp file, which  is  a  self-extracting  compressed
  156.           file  that  contains  all the Help files and a Setup program.  Use
  157.           the installation instructions in this change notice to install the
  158.           WinHelp files on your PC.
  159.  
  160.  
  161.    Installation of 4.4
  162.  
  163.  
  164.           The  following instructions describe the installation process of a
  165.           new Suprtool release.  The new  version  overwrites  the  existing
  166.           version of Suprtool on your HP-UX system.
  167.  
  168.  
  169.    Who Should Use These Instructions?
  170.  
  171.           The  system  manager  should  use  the  following  instructions to
  172.           install Suprtool/UX.  During the installation, which  should  take
  173.           only a few minutes, no one can use Suprtool/UX.
  174.  
  175.  
  176.    Summary of Installation Steps
  177.  
  178.           To install Suprtool, follow these steps:
  179.  
  180.           1. Log in as root.
  181.  
  182.           2. Create the correct directory structure.
  183.  
  184.           3. Restore   Suprtool/UX   and   its  associated  files  from  the
  185.              distribution tape.
  186.  
  187.           4. Set up variables to let  Suprtool  know  where  its  supporting
  188.              files are located.
  189.  
  190.           5. Install WinHelp documentation files.  (optional)
  191.  
  192.  
  193.    Installation Assistance
  194.  
  195.           If  you  have  any questions about the upgrade process or run into
  196.           any problems, please call us.  Technical support is  available  on
  197.           weekdays  from  7  a.m. to  4  p.m. Pacific  time at 1.888.robelle
  198.           (1.888.762.3553).
  199.  
  200.  
  201.    Step 1:  Log In as Root
  202.  
  203.           There are two ways you can log in as root:
  204.  
  205.           a. Exit from HP-UX and log in with root as the user name.
  206.  
  207.           b. If you are already logged in, you can execute this command:
  208.  
  209.                   su -
  210.  
  211.           In either case, you have to know and supply the user password  for
  212.           root.
  213.  
  214.  
  215.    Step 2:  Create Robelle Directory
  216.  
  217.           Before  restoring files, you must first create the directory where
  218.           Suprtool/UX will reside:
  219.  
  220.                mkdir /opt/robelle
  221.  
  222.  
  223.    Step 3:  Restore Files
  224.  
  225.           Use the following command to restore the  Suprtool/UX  files  from
  226.           the distribution tape:
  227.  
  228.                tar xv /opt/robelle
  229.  
  230.           This  command  assumes  your tape device is /dev/rmt/0m.  If it is
  231.           not, you need to specify your tape device using the "f" option  in
  232.           the tar command.  For example, if your tape device is /dev/rmt/1m,
  233.           you need to use the following command to restore the files:
  234.  
  235.                tar xvf /dev/rmt/1m /opt/robelle
  236.  
  237.  
  238.    Step 4:  Set the ROBELLE Variable
  239.  
  240.           You must set the ROBELLE environment variable so that Suprtool can
  241.           find its Help and Suprmgr files.
  242.  
  243.  
  244.    Bourne and Korn Shells
  245.  
  246.                export ROBELLE=/opt/robelle
  247.  
  248.  
  249.    C Shell
  250.  
  251.                setenv ROBELLE /opt/robelle
  252.  
  253.  
  254.    Step 5:  Install WinHelp Documentation Files (optional)
  255.  
  256.           The Suprtool documentation for both MPE and HP-UX is now available
  257.           in the WinHelp file format of Microsoft Windows.  To  install  the
  258.           WinHelp files on a PC, follow these instructions.
  259.  
  260.  
  261.    Make a Temporary Directory for the Setup Program
  262.  
  263.           From  either  DOS or Windows Explorer, make a directory into which
  264.           you can copy the installation files.   For  example,  at  the  DOS
  265.           prompt type
  266.  
  267.                mkdir \robtemp
  268.  
  269.           You can remove this directory after installing the WinHelp files.
  270.  
  271.  
  272.    Download the Compressed File
  273.  
  274.           Use Reflection to download the self-extracting Zip file to your PC
  275.           and continue with these steps.  This Zip file on the  HP  9000  is
  276.           /opt/robelle/winhelp/suprhelp.exe .  From the /opt/robelle/winhelp
  277.           directory, press Alt-Y  to  go  to  the  Reflection  Command  Line
  278.           window.  Then use the following command to download the file using
  279.           a binary transfer:
  280.  
  281.                receive c:\robtemp\suprhelp.exe
  282.                       from /opt/robelle/winhelp/suprhelp.exe binary
  283.  
  284.  
  285.    Expand the Compressed Files
  286.  
  287.           You only need the following commands to extract the files, because
  288.           we  provide  both  the  Setup  program  and  the Help files in one
  289.           self-extracting Zip file.  From the DOS prompt, type the following
  290.           commands:
  291.  
  292.                cd \robtemp          {go to the new Robtemp directory}
  293.                suprhelp.exe         {extract the Help files}
  294.  
  295.  
  296.    Run the Setup Program
  297.  
  298.           To  run  the  Setup program, select the Run command from the Start
  299.           menu.  When the Run window appears, enter C:\robtemp\setup in  the
  300.           Command  Line  window  and  follow  the  instructions in the Setup
  301.           program.
  302.  
  303.           When the Setup program ends, you can access all  of  the  Suprtool
  304.           documentation  by selecting any of the icons in the "Robelle Help"
  305.           Program Manager Group.
  306.  
  307.  
  308.    Remove the Robtemp Directory
  309.  
  310.           Before you remove the WinHelp  files,  you  can  copy  them  to  a
  311.           diskette or a CD and distribute them to other Suprtool users.
  312.  
  313.           To  delete all the WinHelp files and remove the Robtemp directory,
  314.           use either the Windows Explorer or the following DOS commands:
  315.  
  316.                cd \robtemp
  317.                del *.*          {delete all the files in Robtemp}
  318.                cd ..
  319.                rmdir robtemp    {remove the Robtemp directory}
  320.  
  321.  
  322.    Enhancements
  323.  
  324.           Every year we provide Suprtool/UX users with  new  features.   The
  325.           following section describes the new enhancements to Suprtool since
  326.           the last major release.
  327.  
  328.  
  329.  
  330.    Extracting Constants
  331.  
  332.           Previously Suprtool was limited to 1,530 bytes  of  constants  for
  333.           MPE/iX  and  HP-UX  versions of Suprtool.  This limit has now been
  334.           increased to 5,100 bytes.  The MPE/V version of Suprtool is  still
  335.           limited to 1,275 bytes.
  336.  
  337.  
  338.    Persistent Redo
  339.  
  340.           Commands  entered  at  the  Suprtool prompt are saved in something
  341.           called the redo stack.  You can recall commands from this stack by
  342.           using other commands such as Before, Do and Redo.  By default, the
  343.           redo stack is stored in a temporary file and discarded as soon  as
  344.           you  exit  Suprtool.  This temporary stack is not preserved across
  345.           Suprtool invocations.
  346.  
  347.           The new Set Redo command assigns a  permanent  file  as  the  redo
  348.           stack,  allowing the stack to become available for future Suprtool
  349.           invocations.   For  example,  to  assign  the  myredo  file  to  a
  350.           persistent redo stack, enter
  351.  
  352.                >set redo myredo
  353.  
  354.           If  the  file  does  not  exist,  Suprtool creates it.  Otherwise,
  355.           Suprtool uses the existing  file.   All  subsequent  commands  are
  356.           written  to  the persistent redo stack.  This setting is valid for
  357.           the duration of  the  Suprtool  session.   As  soon  as  you  exit
  358.           Suprtool,  the  setting is discarded.  Next time you run Suprtool,
  359.           you will get the temporary stack.
  360.  
  361.           If the file name is not qualified, the redo stack  is  created  in
  362.           the  current working directory.  This may be desirable if you want
  363.           to have separate stacks.  If you  want  to  always  use  the  same
  364.           persistent stacks, you should qualify the name.
  365.  
  366.           The  Verify  command shows which stack is currently in use.  If it
  367.           shows <temporary>, it means Suprtool is using the  default  stack.
  368.           Anything  else  is  the  name  of  the  file  used on the Set Redo
  369.           command.
  370.  
  371.  
  372.    Concurrency
  373.  
  374.           When Suprtool uses the default temporary stack, it  is  accessible
  375.           only to that particular instance of Suprtool.  You can run as many
  376.           Suprtool instances as you need and each  one  gets  its  own  redo
  377.           stack.   With  temporary  stacks,  you will never have concurrency
  378.           problems.
  379.  
  380.           If you start using a persistent redo  stack,  however,  you  might
  381.           start  running into concurrency problems.  A persistent redo stack
  382.           can be used by only one Suprtool instance at a time.  If  you  try
  383.           to  use  a  persistent redo stack that is already in use, you will
  384.           get the following message:
  385.  
  386.                >set redo myredo
  387.                The redo file is already in use.
  388.                Unable to open file for REDO stack
  389.  
  390.           In this situation, Suprtool continues to use the redo stack active
  391.           at the time and lets you continue working as normal.
  392.  
  393.           Qedit  can  also  have permanent redo stacks.  To prevent products
  394.           from writing to each other's redo stack, it is  advisable  to  use
  395.           separate  stacks  for  each  product by giving them different file
  396.           names.  For example if you use
  397.  
  398.                >set redo myredo
  399.  
  400.           you will have  a  redo  stack  called  myredo  for  your  Suprtool
  401.           commands.   If  you  exit  Suprtool, then run Qedit and supply the
  402.           same Set Redo command, your Qedit commands will be written to  the
  403.           same file that was used for your Suprtool commands.
  404.  
  405.  
  406.    String Expressions
  407.  
  408.           Both  the  Extract  and  If  commands  have been enhanced to allow
  409.           string expressions, which can be used to:
  410.  
  411.  
  412.           1. Combine two fields together (using the + operator).
  413.  
  414.           2. Remove spaces (using the built-in trim functions).
  415.  
  416.           3. Upshift or downshift characters.
  417.  
  418.           String expressions reduce the number of tasks  required  for  many
  419.           common  operations  involving byte-type fields.  Fewer tasks means
  420.           that Suprtool delivers data to your applications faster than  ever
  421.           before.
  422.  
  423.           These  changes  are  so  extensive  that  string  expressions  are
  424.           described separately for the Extract and  If  Commands.   See  the
  425.           sections  below  for  specific  details  and  examples  of  string
  426.           expressions.
  427.  
  428.  
  429.    Extract Command
  430.  
  431.           You can now use string expressions in the Extract command.  String
  432.           expressions  allow you to combine byte-type fields together (using
  433.           the + operator)  or  operate  on  byte-type  fields  with  special
  434.           functions.   In many cases, you can now reduce the number of tasks
  435.           required to format the data the way you want.  Fewer  tasks  means
  436.           that Suprtool delivers the data where you need it faster than ever
  437.           before.  To extract a string expression, use this syntax:
  438.  
  439.                     EXTRACT target-field = expression
  440.  
  441.  
  442.    Target-Field
  443.  
  444.           The target-field determines the byte-length  for  the  expression.
  445.           The  data-type  must be Byte or Char.  The expression is extracted
  446.           during the output phase and  cannot  be  used  by  other  Suprtool
  447.           commands that accept fields (e.g., Sort).
  448.  
  449.  
  450.    Examples
  451.  
  452.                >extract id-no = warehouse-no + bin-no
  453.  
  454.                >extract full-name = first-name + last-name
  455.  
  456.  
  457.    Constants vs. Expressions
  458.  
  459.           If  you  have  an  string  expression  that  starts with a string,
  460.           Suprtool assumes that you  are  attempting  to  extract  a  single
  461.           string  value  and  not  a string expression.  To specify a string
  462.           expression that starts with a constant,  surround  the  expression
  463.           with parentheses.  For example,
  464.  
  465.                Incorrect
  466.                >extract name = " " + product-desc
  467.  
  468.                Error:  Missing comma or invalid arithmetic expression
  469.  
  470.                Correct
  471.                >extract name = (" " + product-desc)
  472.  
  473.  
  474.    Variable Length Strings
  475.  
  476.           String  expressions  use  variable-length strings.  Suprtool keeps
  477.           track of the length of every string, and all operations  are  done
  478.           using  the  actual  string  length.  For fields, the length of the
  479.           string is the length of the field.  If you do not want  to  retain
  480.           all  of  the  spaces  in a field, use one of the built-in trimming
  481.           functions.
  482.  
  483.           String  constants  are  created  with  the  exact  length  of  the
  484.           constant.   For example, the string "abc" is three characters long
  485.           and the string "a" is one.
  486.  
  487.           When assigning the string expression to the target field, Suprtool
  488.           pads  the  final  string  value with spaces to fill out the target
  489.           field.  String expressions longer than the target  field  generate
  490.           an error.
  491.  
  492.                >in testfile
  493.                >def a,1,10,byte
  494.                >ext a="I'm too long for this container"
  495.  
  496.                Error:  String is too long for the specified item
  497.  
  498.  
  499.    String Truncation
  500.  
  501.           Suprtool produces an error if the string expression is longer than
  502.           the target field.  You cannot override this error with Set  Ignore
  503.           On.  To help avoid the error, you may want to trim trailing spaces
  504.           from the expression before assigning it to the target field.   For
  505.           example,
  506.  
  507.                >extract new-field = $trim(a + b + c)
  508.  
  509.  
  510.    Upshifting Strings ($Upper)
  511.  
  512.           Use  the built-in function $upper to upshift all of the characters
  513.           of a string expression into uppercase characters.   This  function
  514.           can  be  used  to  upshift  a  single  field, a complicated string
  515.           expression, or any subpart  of  an  expression.   Both  ASCII  and
  516.           Roman-8 characters are upshifted by $upper.  For example,
  517.  
  518.                >extract city-up = $upper(city)
  519.  
  520.                >extract full-name = $upper(first + last)
  521.  
  522.                >extract desc = desc-1 + $upper(desc-2)
  523.  
  524.  
  525.    Downshifting Strings ($Lower)
  526.  
  527.           If  you want to downshift all characters of a string expression to
  528.           lowercase, use the built-in function $lower.  This function can be
  529.           used to downshift a single field, a complicated string expression,
  530.           or  any  subpart  of  an  expression.   Both  ASCII  and   Roman-8
  531.           characters are downshifted by $lower.  For example,
  532.  
  533.                >extract city-lower-case = $lower(city)
  534.  
  535.                >extract city-state = $lower(city + state)
  536.  
  537.                >extract desc = desc-1 + $lower(desc-2)
  538.  
  539.  
  540.    Trimming Spaces ($Trim, $Ltrim, $Rtrim)
  541.  
  542.           Use  one  of  three built-in string functions to remove leading or
  543.           trailing spaces from a string  expression.   The  three  functions
  544.           are:
  545.  
  546.  
  547.           $Trim:      Remove  leading  and  trailing  spaces from the string
  548.                       expression.
  549.  
  550.           $Ltrim:     Remove leading spaces.
  551.  
  552.           $Rtrim:     Remove trailing spaces.
  553.  
  554.  
  555.    If Command
  556.  
  557.           You can do comparisons with  byte-type  fields  in  numerous  ways
  558.           using  Suprtool.   These  powerful features minimize the number of
  559.           tasks you must execute in order to select the data you need.   The
  560.           fewer  the  number  of tasks, the faster your data is delivered to
  561.           the users and applications that need it.
  562.  
  563.           You can combine byte-type fields together  and  use  the  built-in
  564.           string functions to create string expressions.  String expressions
  565.           involve the + operator and any of the built-in  string  functions,
  566.           which are $lower, $upper, $trim, $ltrim and $rtrim.
  567.  
  568.  
  569.    Fixed vs.  Variable Length Strings
  570.  
  571.           String  comparisons  are  done  using  fixed-  and variable-length
  572.           strings.  For most users, there should be  no  difference  between
  573.           the two types of strings.  When doing string comparisons, Suprtool
  574.           always pads shorter strings with spaces, with the one exception of
  575.           comparing two fixed-length fields (see "Byte Fields" below).
  576.  
  577.           String expressions involving the + operator or the $lower, $upper,
  578.           $trim,  $ltrim  and  $rtrim  built-in  functions  are  done  using
  579.           variable-length  strings.   Suprtool  keeps track of the length of
  580.           every string, and all operations are done using the actual  string
  581.           length.  For fields, the length of the string is the length of the
  582.           field.  If you do not want to retain all the spaces  in  a  field,
  583.           use one of the built-in trimming functions.
  584.  
  585.           When  creating  string  expressions,  string constants are created
  586.           with the exact length of the constant.  For  example,  the  string
  587.           "abc" is three characters long and the string "a" is one.
  588.  
  589.  
  590.    Byte Fields
  591.  
  592.           For  historical  reasons,  comparing  two byte-type fields to each
  593.           other is a special case.  If the two fields are exactly  the  same
  594.           length,  Suprtool  compares  them  completely.   If  one  field is
  595.           shorter, the comparison is done for the  length  of  the  shortest
  596.           field.   Suprtool  does  not  check  for  spaces  in  the trailing
  597.           characters of the longer field.  For example,
  598.  
  599.                >define  short, 1,10   {10-character field}
  600.                >define  long ,11,15   {15-character field}
  601.                >if      short = long
  602.  
  603.           In this example, Suprtool compares the 10 bytes in the short field
  604.           with  the  first  10 bytes of the long field, but ignores the last
  605.           five bytes of the long field.  If the expression on either side of
  606.           the  equal  sign  consisted  of  more  than one field (using the +
  607.           operator) or involved any of the built-in string  functions,  such
  608.           as  $lower,  $upper, $trim, $ltrim and $rtrim, Suprtool would have
  609.           compared both sides of the equal sign by padding the shorter field
  610.           with spaces.  It is only the case where you are directly comparing
  611.           one byte-type field to another that Suprtool uses  the  length  of
  612.           the shortest field for the comparison.
  613.  
  614.  
  615.    Trimming Spaces ($Trim, $Ltrim, $Rtrim)
  616.  
  617.           Use  one  of  three built-in string functions to remove leading or
  618.           trailing spaces from a string  expression.   The  three  functions
  619.           are:
  620.  
  621.  
  622.           $Trim:      Remove  leading  and  trailing  spaces from the string
  623.                       expression.
  624.  
  625.           $Ltrim:     Remove leading spaces.
  626.  
  627.           $Rtrim:     Remove trailing spaces.
  628.  
  629.           Because Suprtool pads  shorter  strings  with  spaces  when  doing
  630.           comparisons,  trimming  spaces  is  most  useful  when  creating a
  631.           combined string with several fields.  For example, you might  want
  632.           to  combine  a  person's  first  and  last name (including a space
  633.           between the two):
  634.  
  635.                >if $trim(first) + " " + $trim(last) = "Joe Smith"
  636.  
  637.  
  638.    Mixed Case ($Upper and $Lower)
  639.  
  640.           By default, Suprtool does an exact match when comparing two string
  641.           expressions.   If  the  expressions  vary in the capitalization of
  642.           characters, Suprtool will  find  them  unequal.   To  do  caseless
  643.           string  comparisons  or  pattern matches, use the $upper or $lower
  644.           functions.  Both ASCII  and  Roman-8  characters  are  shifted  by
  645.           $upper and $lower.  For example,
  646.  
  647.                >if $upper(city) = "VANCOUVER"
  648.  
  649.                >if $lower(city) = "edmonton"
  650.  
  651.           Note that if you use the $upper or $lower functions, Suprtool does
  652.           not shift any constants in the comparison.   You  must  explicitly
  653.           specify the constants in the correct case or you can use $upper or
  654.           $lower with the constant:
  655.  
  656.                >if $upper(city) = $upper("vancouver")
  657.  
  658.           Use the $upper or $lower functions for caseless pattern  matching.
  659.           As  with other comparison operators, you must specify constants in
  660.           the correct case when doing pattern matching:
  661.  
  662.                >if $upper(city) == "VAN "
  663.  
  664.                >if $lower(city) == "ed "
  665.  
  666.           You can use $upper and $lower with string expressions that combine
  667.           many  fields  and  string functions.  In the following example, we
  668.           create
  669.  
  670.                >if $read
  671.                -   $upper($trim(first) +
  672.                -             " "             +
  673.                -             $trim(last))
  674.                -   = "JOE SMITH"
  675.                -
  676.  
  677.  
  678.    Bugs Fixed
  679.  
  680.  
  681.    Add Command.   The Add command no longer fails in the following cases:
  682.  
  683.           1. Extracting byte-type fields  with  constants  and  the  literal
  684.              string values are shorter than the length of the field.
  685.  
  686.           2. A  self-describing  file  with  more  than one field is used as
  687.              input.
  688.  
  689.  
  690.    Arithmetic Operations.   Suprtool now has a better error message when  an
  691.           arithmetic operation has an invalid decimal operand length.
  692.  
  693.  
  694.    Extract Command.     When   extracting   constants,  Suprtool  no  longer
  695.           incorrectly reports that the constant limit has been reached.
  696.  
  697.  
  698.    Extract Command.   When extracting one field into another,  invalid  data
  699.           is  no  longer  produced  if  the  two fields are exactly the same
  700.           length and type, but have a different number  of  implied  decimal
  701.           places.
  702.  
  703.  
  704.    Extract Command.    When  the  maximum  limit  of  extracted constants is
  705.           reached, Suprtool no  longer  incorrectly  reports  the  following
  706.           message:
  707.  
  708.            Error:  Number of constants in >EXTRACT exceeds maximum
  709.  
  710.           This error message has now been changed to:
  711.  
  712.            Error:  Total size of constants in >EXTRACT exceeds maximum
  713.  
  714.  
  715.  
  716.    Set Ignore  On.    Suprtool  now  honors  the  Set  Ignore  On  flag when
  717.           encountering an illegal packed  decimal  number  in  the  $stddate
  718.           function.
  719.