home *** CD-ROM | disk | FTP | other *** search
/ ftp.robelle3000.ai 2014 / 2014.06.ftp.robelle3000.ai.tar / ftp.robelle3000.ai / newsletter / 1990 / w1990-03.txt < prev    next >
Text File  |  1999-04-28  |  23KB  |  477 lines

  1.  
  2.          What's Up DOCumentation
  3.  
  4.  
  5.  
  6.         Robelle Consulting Ltd.
  7.         8648 Armstrong Rd., R.R.#6
  8.         Langley, B.C.  Canada V3A 4P9
  9.         Telephone:  (604) 888-3666
  10.         Fax:  (604) 888-7731
  11.  
  12.  Date:  April 30, 1990
  13.  From:  Robert M. Green, President
  14.         David J. Greer, Research & Development
  15.         Michael Shumko, Customer Support
  16.  To:    Users of Robelle Software
  17.  Re:    News of the HP 3000, 1990 #3
  18.  
  19.       What You Will Find in This News Memo:
  20.  
  21.         News Tidbits
  22.         Unbundling of IMAGE Database?
  23.         Technical Tips
  24.         Problem Solving with Dbaudit, by Jim Bird
  25.         Job Stream to Backup PCs Automatically
  26.         About Robelle
  27.         Robelle Products:  Problems, Solutions, and Suggestions
  28.  
  29.  
  30.                                  News Tidbits
  31.  
  32.  Gotcha.  An April Fool's joke that we wish we had thought of ourselves...
  33.       :setvar hpprompt "Please wait..."
  34.  
  35.  Nuggets Gold Released.  Some of your favorite QLIB programs are now available
  36.  for MPE XL.  These are available in the Nuggets Gold collection from Software
  37.  Research Northwest.  Included are TINDEX (known in the Qlib as TAPEDIR), SHOT
  38.  (aka SOO), KNOCKOUT (like BOUNCER), CAPTURE (aka PSCREEN), GRANT (like GOD),
  39.  and a number of new utilities created for MPE XL.  For more info contact SRN
  40.  at (206) 463-3030.
  41.  
  42.  Spectrum Upgrade Prices.  Once again, for those of you who can't believe how
  43.  magnanimous we are, here is our pricing policy.  There is no upgrade charge
  44.  for a simple box swap, and your support fees don't change.  If the new
  45.  computer is an addition, then you pay the extra-cpu fee for the product.
  46.  This fee is not based on cpu size.
  47.  
  48.  
  49.                          Unbundling of IMAGE Database?
  50.  
  51.  We have had a few inquiries about how we are going to react to HP's
  52.  unbundling of the IMAGE database (selling Spectrum systems without IMAGE).
  53.  Here is our reply at this time.
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  HP has said that the unbundling of IMAGE does not signal the "end" of IMAGE
  61.  -- HP still expects most customers to order IMAGE with MPE XL.  We are
  62.  curious to see how many Robelle customers order machines without IMAGE.
  63.  Three of our four products depend on IMAGE (Suprtool, Dbaudit, Xpress).  Most
  64.  other third-party products also depend on IMAGE, as do most application
  65.  packages.  Even HP products require IMAGE (e.g., HP Desk unless they have a
  66.  new version that works with HP SQL).  As a result, we expect that most HP
  67.  Series 900 customers will order IMAGE.
  68.  Xpress requires an IMAGE database to operate, and Dbaudit requires IMAGE
  69.  logfiles to analyze.  We are unlikely to consider migrating these tools away
  70.  from IMAGE.
  71.  Qedit does not require IMAGE and is unlikely to ever do so.
  72.  Suprtool requires IMAGE and does not interface with any other database
  73.  packages (i.e., HP SQL or Oracle).  Here are a few reasons why we are not
  74.  getting too excited about Suprtool compatibility with HP SQL:
  75.  1. We have not noticed a ground swell of customers switching from IMAGE to HP
  76.     SQL.  We suspect that unbundling IMAGE was just part of a marketing
  77.     strategy to bring HP pricing in line with DEC and IBM.
  78.  2. There are rumors that HP is working on a new database system that would be
  79.     upwardly compatible with TurboIMAGE (like Allbase was supposed to be) and
  80.     with SQL.
  81.  3. Users have a huge investment in IMAGE (e.g., training, knowledge base,
  82.     third-party tools, existing software, ...).  The benefits of relational
  83.     technology must be large to overcome this investment.
  84.  4. There are few third-party tools for HP SQL.  In general, relational
  85.     database systems seemed to be tied quite tightly to single vendors (e.g.,
  86.     HP or Oracle).  The vendors seem to be saying "trust us -- we'll produce
  87.     all the tools you need".
  88.  5. As Alfredo Rego has pointed out, you can already build relational
  89.     databases with IMAGE.  What you don't get with IMAGE are the SQL commands
  90.     (either embedded in a program or the SQL query language).
  91.  Despite this, I think we should all be considering what to do with relational
  92.  technology.  We are not yet sold on the vendors' claim of portability,
  93.  ease-of-use, and better long-term maintenance.  All these things may be true,
  94.  but there is little proof of this.  For now, we have been spending so much
  95.  time working on Native-Mode versions of Suprtool, Suprlink, and Speed Demon
  96.  that there won't be any time in the next year to even look at HP SQL.  Our
  97.  customers have been telling us that Native-Mode should be our highest
  98.  priority.  [David Greer, Robelle R&D]
  99.  
  100.  
  101.                                 Technical Tips
  102.  
  103.  How Not to Purge Files.  After reading the article in last month's newsletter
  104.  on How Not to Build Files, one of our customers sent this in:
  105.       :file filename,old;del
  106.       :build *filename
  107.  Never knew MPE could be so much fun.  [P. J. Voysey]
  108.  
  109.  MPE XL Bug.  The Fopen intrinsic has a problem in MPE XL 1.2 (A.20.1N) and
  110.  2.05 (A.31.00), which is not present in 1.2 (release A.20.11).  Open a file,
  111.  asking for Read/Write or Update Access in your Aoptions.  If you are only
  112.  allowed Write Access due to security restrictions, but not Read Access, Fopen
  113.  grants you Write-Only Access instead of Write-Save.  This is very bad because
  114.  Write-Only resets the Eof of the file, effectively erasing it, while
  115.  Write-Save preserves the existing records.  [E. A. Kilroy]
  116.  
  117.  PRINTing Files on MPE XL.  A customer called with a weird problem: he was
  118.  printing a data file to his screen using the PRINT command, and the last
  119.  eight characters were always being dropped.  It turned out that the last
  120.  eight characters were all digits.  The PRINT command decided that these were
  121.  line numbers so it didn't print them.  Specifying the NUM or UNN options
  122.  didn't really help.  There doesn't seem to be a way to tell print not to
  123.  interpret the last eight characters as line numbers.  Use FCOPY or SUPRTOOL
  124.  instead.
  125.  
  126.  Tech Support Acronyms.  Overheard on the tech-support telephone line:
  127.      YKWWBRN [ yuck-wa-burn]
  128.             You Know What Would Be Really Neat...
  129.      WOKOMS [woe-kums]
  130.             Works OK On My System
  131.      INABIAF [i-na-bee-af]
  132.             It's Not A Bug, It's A Feature
  133.      IKIWO [ik-ee-wo]
  134.             I Know It Worked Once
  135.  
  136.  
  137.                          Problem Solving with Dbaudit
  138.                          by Jim Bird, Customer Support
  139.  
  140.  Before joining Robelle, I was a system manager at an HP 3000 site, where one
  141.  of my responsibilities was support of a third-party financial management
  142.  package.  Soon after we installed a new release of this package, we ran into
  143.  a rather nasty problem.  The package included a daily report to validate the
  144.  system before allowing anyone to sign on.  One morning, the report indicated
  145.  that a critical process (like an update to several logically-related
  146.  datasets), had not completed successfully.  This left the system in an
  147.  inconsistent state.
  148.  
  149.  Each time a critical process starts, a "critical" flag is incremented.  When
  150.  the process completes, the critical flag is decremented.  If everything
  151.  works, at the start of the day the value of the critical flag should be zero.
  152.  It wasn't.  However, nobody had encountered any problems during the previous
  153.  day:  no system failures, no disconnections while on-line, no program aborts.
  154.  
  155.  We called the software supplier for help.  They thought we must have missed
  156.  something, and advised us to recover the complete financial system to ensure
  157.  the consistency of the data.  YUCK! This meant restoring the databases from
  158.  the day-before-yesterday, re-applying the batch files, and re-doing any table
  159.  maintenance.  OK, I guess if we have to, we have to.  A few hours later we
  160.  started up the system, and all the idle data entry operators got back to
  161.  work.
  162.  
  163.  Well, you guessed it.  Two days later, the daily startup report showed the
  164.  same problem: a critical process had not completed successfully.  Again,
  165.  no-one reported any problems from the previous day.  We called the software
  166.  supplier, but no other site had reported anything like our mysterious
  167.  problem.  We were close to month-end and were facing an ugly choice: waste
  168.  another half-day in recovery, or carry on and hope for the best.
  169.  
  170.  We went through the complete recovery process.  Management supported us
  171.  again, but it was obvious that we had to find a way of dealing with the
  172.  problem before it happened again.
  173.  
  174.  The first step was to pin-point what critical process was failing.  Since we
  175.  didn't have access to the source code for any of the programs, this was going
  176.  to be tricky.  Most of the information in the system was stored in TurboIMAGE
  177.  databases, so we turned on transaction logging to record all changes to the
  178.  databases.  The next time a critical process did not complete correctly, we'd
  179.  have a record of it in the transaction logfile.
  180.  
  181.  Unfortunately, HP doesn't provide a way to display the contents of the
  182.  logfiles.  We called Robelle Consulting, and ordered a demo of Dbaudit, a
  183.  utility that validates and analyzes transaction logfiles.  When the problem
  184.  happened again, we were prepared.  We used Dbaudit to report each time the
  185.  critical flag was incremented and decremented, sorting the report so that the
  186.  updates for each DBOPEN were in order.  It was easy to go through the report
  187.  and check to make sure that the critical flag was properly incremented and
  188.  decremented each time the database was opened.  We quickly isolated the
  189.  offender.
  190.  
  191.  Dbaudit identified the program, the user running the program, the terminal
  192.  being used, and when it happened.  After taking a closer look with Dbaudit at
  193.  what the program was doing, and questioning the user, we found the answer to
  194.  our problem.  There was a bug in one of the Accounts Payable maintenance
  195.  programs.  Cancelling an on-line update, under certain circumstances, failed
  196.  to decrement the critical process flag properly.  We informed our Accounts
  197.  Payable staff of the problem, and outlined changes to their procedures as a
  198.  workaround.  I had a nice warm comfortable feeling when I called the software
  199.  supplier, knowing that I wasn't just guessing as to the cause of the problem
  200.  -- I was 100% certain of it.  They started working on the fix.  Case closed
  201.  (and we hadn't even bought Dbaudit yet).
  202.  
  203.  Since we still had weeks left in our free demo, I decided to apply Dbaudit to
  204.  another nagging problem with the Accounts Payable system.  The on-line
  205.  maintenance programs did not generate any audit trails.  This left a window
  206.  for mistakes to go undetected until it was too late.  The software supplier
  207.  had finally agreed to add the reports, but only as part of a new Purchase
  208.  Order system that was under development (a product that we were not planning
  209.  to buy).
  210.  
  211.  We still had transaction logging running, so I whipped up a job that would
  212.  run every night.  It executed a set of simple Dbaudit reports showing the
  213.  changes made that day to specific tables or by specific programs.  The
  214.  reports weren't beautiful, but they got the job done.  I sat down with the
  215.  accounting supervisors and explained the relationships between the TurboIMAGE
  216.  item names in the Dbaudit report, and the field names that they were familiar
  217.  with from the financial package reports and screens.
  218.  
  219.  The accountants were happy, the auditors were happy, and all I had left to do
  220.  was convince my boss to buy Dbaudit before the trial expired so that everyone
  221.  would stay happy.  And when the accountants were happy, and the auditors were
  222.  happy, my boss was happy.  It didn't take much convincing.
  223.  
  224.  
  225.                     Job Stream to Backup PCs Automatically
  226.  
  227.  Wade Wagner at Rodgers Instrument sent in the following interesting job
  228.  stream:
  229.     "Here is a copy of the jcl we use to back up our PC's using Qedit.  The
  230.     Use file Message.Pub prints a message on the PC screen to show that
  231.     backup completed okay."
  232.  
  233.       !job pcbackup,user.acct
  234.       !comment  Wade's backup
  235.       !file qedcrt;dev=76
  236.       !run qedit.pub.robelle
  237.       file backup = backup.wade
  238.       setjcw cierror,0
  239.       continue
  240.       reflect backup c:\*.* /S
  241.       use message.pub               {print message on PC}
  242.       set vis stop                  {reset Qedcrt file}
  243.       comment  Rockey's backup
  244.       file qedcrt;dev=58            {define second PC}
  245.       setjcw cierror,0
  246.       file backup=backup.rockey
  247.       continue
  248.       reflect backup c:\*.* /S      {add /C for full backup}
  249.       exit
  250.       !eoj
  251.  This entire job executes within Qedit.  The :Reflect Command is a special
  252.  Qedit command that executes a Reflection command on your PC.  This command
  253.  will work in batch if you do a :File Command for Qedcrt to specify which PC.
  254.  Should the backup fail for some reason, Qedit will set the Cierror Jcw.  The
  255.  Set Vis Stop Command allows you to switch to another PC.
  256.  Here is the Use file, message.pub:
  257.       if cierror = 0 then
  258.          reflect display " ^[h^[J"
  259.          reflect display " ^[A^[G"
  260.          reflect display " ^[A^[G"
  261.          reflect display " ^[G^[B"
  262.          reflect display "   *********************** ^[A^[G"
  263.          reflect display "   * Backup completed ok * ^[A^[G"
  264.          reflect display "   *********************** ^[A^[G"
  265.       endif
  266.  Remember, in order for this backup procedure to work:
  267.  *  The PC must be turned on.
  268.  *  Reflection must be running.
  269.  *  The Reflection baud rate must be the same as in the MPE configuration.
  270.  *  The PC must not be logged on to the HP 3000.
  271.  
  272.  
  273.                                  About Robelle
  274.  
  275.  Have You Talked to Jennifer Mollan Yet? If you have called our office at all
  276.  in the last six months, you may have talked with Jennifer Mollan.  She has
  277.  taken over most of the Customer Account functions at Robelle - filling
  278.  orders, keeping track of who has which products, what their addresses are,
  279.  and when their service expires.  Jen is working on a Business Certificate at
  280.  Kwantlen College and still finds time to go to the gym to use the
  281.  stair-climber and the hydra-gym weights, do ceramics, camp and fish.  She
  282.  likes watching local amateur baseball games when the weather is nice.  Jen
  283.  started at Robelle in September 1989 (her aunts, Kerry and Pat, are
  284.  Robellians also).
  285.  
  286.  We Have our 922, But No DTC!  Our new 922 machine has arrived and is running,
  287.  but with only the console and no NS software.  Wow, DAT cartridges are very
  288.  small.
  289.  
  290.  Another New Voice At Robelle.  In an attempt to cope with our ever-increasing
  291.  number of customers and new inquiries, we have hired Nicky Gunther to assist
  292.  our Sales Manager Marie Froese and fill in during summer holidays.  Nicky is
  293.  going into her fourth year at the University of British Columbia in
  294.  Marketing.  How did she know to call Robelle for a job?  She knew us from
  295.  hanging around the barn, riding her horse!
  296.  
  297.  Boston News.  Robelle will be present in force for the Interex Boston
  298.  Meeting, August 20-23.  Bob Green will be presenting a new paper, Improving
  299.  Software Quality, and technical support people will be available in the booth
  300.  to answer your questions.
  301.  Interex has set aside time in the program for us to present two tutorials on
  302.  Qedit and Suprtool.  Here are the tentative dates, times and subjects:
  303.      August 22nd   10:00 a.m.  New Qedit Features    Room A
  304.                     2:00 p.m.  New Suprtool Features Room B
  305.  
  306.  
  307.             Robelle Products:  Problems, Solutions, and Suggestions
  308.  
  309.  Suprtool  Version 3.2
  310.  
  311.  Dynamic Selection Criteria.  Suppose a file has two dates which you want to
  312.  use as Suprtool selection criteria.  You can't load the dates into a table,
  313.  because table lookups are for equality only, not for range checking.
  314.  Solution: turn the file into a complete IF command, then USE the altered
  315.  file.
  316.  Dates in file DATEFILE:
  317.     900301 900331
  318.  Use Qedit (your favorite text editor) to change the dates into an IF command:
  319.     :run qedit.pub.robelle
  320.     /text datefile
  321.     /set language job                        {80 bytes unnumbered}
  322.     /c 1 "if date-fld >= " first
  323.     /c 23 "and date-fld <= " first
  324.     /append " and xyz-flag = 'XX'" first     {add any other criteria}
  325.     /keep supruse
  326.     /exit
  327.  Now execute Suprtool, referring to the new SUPRUSE file:
  328.     :run suprtool.pub.robelle
  329.     >base mybase,5,readpass
  330.     >get myset
  331.     >use supruse
  332.     >out myout
  333.     >exit
  334.  
  335.  Patch for Wide USE Files.  Suprtool and Dbedit can abort when using a USE
  336.  file wider than 80 bytes.  The abort can be a bounds violation, stack
  337.  underflow, or STT violation, depending on the record length.  This is caused
  338.  by a too-small buffer.  A one-word patch will correct the problem.
  339.     :hello mgr.robelle,pub
  340.     :run patch.pub.sys
  341.     File? Suprtool
  342.     ?M,16,3651
  343.     035051,035201
  344.     ?E
  345.  Note: If Suprtool has been OCTCOMP'd (Object Code Translated), you will have
  346.  to patch the un-translated version of the program and re-OCTCOMP it.
  347.  
  348.  OUTPUT,LINK Bug.  The new Link output-option includes sort information in a
  349.  new self-describing file format.  This information is then used by Suprlink.
  350.  There are two problems with this new option:
  351.  1. If you extract one of the sort fields, the sort information written to the
  352.     output file will be wrong.
  353.  2. If you re-sort a file into itself using Output=Input, the new sort
  354.     information is not written to the file.
  355.  You can avoid both of these problems by using the Query output-option instead
  356.  of the Link output-option.  Another possibility is to use the Link
  357.  output-option, but specify the sort keys with Suprlink's BY clause, which
  358.  overrides the automatic sort information.
  359.  
  360.  Suprtool2 on MPE XL.  The instructions in the Suprtool 3.2 change notice were
  361.  incorrect.  The correct commands for adding the native-mode version of the
  362.  Suprtool2 interface to your own XL file are:
  363.       :linkedit
  364.       -xl xl.pub
  365.       -addxl from=nmrl.qlib.robelle;module=suprtool.asm
  366.       -exit
  367.       :run yourprog.pub;xl='xl.pub'
  368.  
  369.  
  370.  Qedit  Version 3.8.1/3.8.2
  371.  
  372.  Moving Columns in Qedit.  One of our Qedit users, Duane Smith, sent in the
  373.  following example that shows how to use the new Replace $Hold Command of
  374.  Qedit 3.8 to paste up two columns.
  375.       /lt @
  376.                 ....+....10...+....20...+....30...+....40...
  377.            1    *****************
  378.            2    *   Page One    *
  379.            3    *****************
  380.            4    *****************
  381.            5    *   Page Two    *
  382.            6    *****************
  383.       /holdq 4/6      {Hold the second page of text}
  384.       /deleteq 4/6    {Now delete those lines}
  385.       /set left 20    {Set your left margin to starting column}
  386.       /repq $hold 1   {Overlay from the Hold file}
  387.       /set left 1     {Don't forget to reset Left Margin}
  388.       /lt @
  389.                 ....+....10...+....20...+....30...+....40...
  390.            1    *****************  *****************
  391.            2    *   Page One    *  *   Page Two    *
  392.            3    *****************  *****************
  393.  
  394.  Sing Along With Qedit.
  395.  Q: How do you do an implied run of a program?
  396.  A: You type its name.  E.g., /FOO.
  397.  Q: What if its name is RUN?
  398.  A: You can't use implied run, you have to type /RUN RUN.
  399.  Q: How do you re-execute it with no changes?
  400.  A: /DO RUN RUN
  401.  
  402.  Visual Mode on MPE XL Console.  When is a DTC not a DTC? When you're running
  403.  Qedit Visual mode on the console on MPE XL 2.0.  Due to ongoing changes in
  404.  MPE XL, you may have to fool Qedit into thinking that the console is a DTC
  405.  terminal, even though the console is really on the T-Mux, not the DTC.
  406.  Workaround: do SET VIS DTC ON.  You can make this automatic by setting up a
  407.  command file that is invoked from your qeditmgr.pub.sys or qeditmgr.pub.
  408.  robelle.
  409.  
  410.  For example, qeditmgr.pub.robelle could contain the following line:
  411.  
  412.       qeditcmd.pub.robelle
  413.  
  414.  And qeditcmd.pub.robelle could be a Command File containing:
  415.  
  416.       if hpldevin = 20 then
  417.          /set vis dtc on
  418.       endif
  419.  
  420.  Xmit Pacing is Required on 2.0! On MPE XL it is essential that you enable
  421.  Xon/Xoff Transmit Pacing on your terminal.  If you don't and you use Visual
  422.  in Qedit, you may see Qedit go into a loop on MPE XL 2.0, printing
  423.  INSUFFICIENT SYSTEM RESOURCES (FSERR 68).  You will probably need to abort
  424.  the session, then reconfigure your terminal and log on again.
  425.  
  426.  
  427.  QLIB  Version 5.7
  428.  
  429.  COOKIE.  Version 1.7 was just released, which works around a bug in an
  430.  obscure feature of the MPE XL file system.  Some of you MPE XL fans may have
  431.  noticed that the fortune cookies were cycling too often.  That is, that the
  432.  same cookies would come up more frequently than you expected.  Finally we
  433.  have an explanation.  Cookie opens its data file for read-only access, but
  434.  uses the Fwritelabel intrinsic to update the file's user label with the
  435.  record number of the next cookie to show.  This is perfectly valid, though
  436.  not widely known.
  437.  
  438.  On MPE XL the cookies would advance as usual, until you restarted the system.
  439.  Then the cookies would restart from the beginning again.  The reason seems to
  440.  be that MPE XL would update the file's label, but would never flush the label
  441.  to disc.  As long as the file label stayed in memory, the cookies would
  442.  advance.  But when the system was restarted, the out-of-date disc copy would
  443.  be brought into memory again.  The fix was to call Fcontrol to put the file
  444.  into the serial write queue.  This tells the file system that it needs to
  445.  update the disc, even though it is open only for read access.  The fix was
  446.  one line.  This explanation is considerably longer.
  447.  
  448.  TAPEDIR.  We have heard that as of V-Delta-8, Tapedir needs to be Prep'ed
  449.  with an explicit Maxdata, otherwise an Fserr 74 results when opening the
  450.  printer file.  Workaround:  run Tapedir with Maxdata = 10000.  [Rick
  451.  Gilligan]
  452. *c1950a1000b5g2P*p-50Y
  453.  
  454.  
  455.  Fortune Cookie of the Month
  456.         [National Wanquirer]   Have you ever eavesdropped on an argument
  457.     between a bunch of old hackers? The first one will say something like,
  458.     "You know, when I started programming I had to enter my assembly
  459.     language programs using a line editor."
  460.         The next one says, "You had a line editor!  I had to enter my code
  461.     using switches on the front panel."
  462.         The next says, "You had a front panel!  I had to enter my assembly
  463.     code using a second-hand telegraph key."
  464.         Next: "You had an assembler!  I had to use a stopwatch with my
  465.     telegraph key, so I could time the clicks and enter my program in
  466.     binary."
  467.         "You had a stopwatch!  I used to beat time with my foot while I
  468.     cranked a generator with my left hand and keyed the program in with my
  469.     right hand."
  470.         "You had a generator!  When I started programming, there was no
  471.     electricity.  I just used this water wheel and a series of cams and
  472.     gears."
  473.         "You had cams and gears!  When I started all we had was this huge
  474.     abacus."
  475.         "You had an abacus!  All I had was some rocks and a bucket."
  476.         "You had a bucket!"
  477.