What's Up DOCumentation Robelle Consulting Ltd. Unit 201, 15399-102A Ave. Surrey, B.C. Canada V3R 7K1 Phone: (604) 582-1700 Fax: (604) 582-1799 Email: support@robelle.com Date: July 19, 1993 From: Robert M. Green, CEO David J. Greer, President Michael Shumko, Editor To: Users of Robelle Software Re: News of the HP 3000, 1993 #4 What You Will Find in This News Memo: News Tidbits Price Increase for Additional CPUs Suprtool 3.5 Release Announcement Calendar of Events Technical Tips Saving Disc Space (Again) Shameless Plugs Dept. Robelle Product Training HPSUSANs: Frequently Asked Questions Robelle Products: Problems, Solutions, and Suggestions News Tidbits European Travels. David Greer recently returned from a visit to Holland and England. In Holland, he gave Suprtool and Qedit training at Medianet, one of the very first sites in Holland to purchase an HP 3000. Thanks to Marius Schild of SAMCO for hosting David. The 1993 Interex European User Group Meeting was in Birmingham, England. The show was oriented toward open systems, although in reality this mostly meant HP-UX. Thanks to Clive Oldfield and Gordon Miller for organizing the Robelle booth -- all we wished for was more traffic. There were some exciting new products at the show. We were demonstrating pre-release copies of Qedit/UX (call us if you would like to try it). With all of our research into HP-UX, it was neat to see Reflection X from Walker Richer & Quinn in pre-release form. It was amazing to run Qedit/UX in an hpterm window of Reflection X that was running under Microsoft Windows. Minneapolis Meeting a Success. Bob Green attended the MINNRUG meeting in Minneapolis this June and reports it was a great success. He gave his "warning signs" talk as the keynote address and presented six hours of training tutorials on Qedit and Suprtool. Bob also found time to attend a session on HP 3000 product strategy by Steve Young from HP Cupertino. Among the many things that Steve discussed (such as "worry-free business critical computing"), was the fact that most HP software products can be purchased in granularity to match the needs of the user. This means you can buy a 2-user license for Pascal/iX to run on an HP 3000 with a 32-user system license. This flexibility does not extend to the database products (i.e., IMAGE/SQL and ALLBASE), which must be purchased at the same user-license level as the system license. He also advised anyone who has been planning an upgrade to get new quotes for system license fees -- the prices were readjusted on June 1st to not be so much of a shock for certain classes of sites. Book Review: Advanced Programming in the UNIX Environment, by Richard Stevens, Addison-Wesley, 1992. If you are trying to write commercial quality software for HP-UX, you must get this book. It is jam-packed with readable and illuminating programming examples for Unix. Suppose you want your program to be aware of the type of terminal that is running it. If you look up "terminal" in the indexes of the three reference manuals for HP-UX, you'll find references to ttytype, tty, ttyname and terminfo. You have to read the brief and obscure "man" pages for all of these programs and routines and you still won't have any idea of how to use the information. If you look in Stevens' book, you find an index reference to pages 345-349 for "terminal identification", which contains the C source code for ttyname and isatty, clearly explained and with output from sample runs. As well, Stevens spells out the historical background and the implications you should watch out for. Here's an example: POSIX.1 provides a run-time function that we can call to determine the name of the controlling terminal ... Since most Unix systems use /dev/tty as the name of the controlling terminal, this function is intended to aid portability to other operating systems ... Two functions that are more interesting for a Unix system are isatty, which returns true if a file descriptor refers to a terminal device, and ttyname, which returns the pathname of the terminal device that is open on a file descriptor ... The isatty function is trivial to implement as we show in Program 11.4. We just try one of the terminal-specific functions (that doesn't change anything if it succeeds) and look at the return value. Price Increase for Additional CPUs Effective January 1, 1994, we are changing the discount on additional CPU surcharges from 75% to 50% of the first-time license fee. The new prices for additional copies of our products will be as follows: US Canada Other Qedit $2,000 $2,400 Contact Suprtool $2,000 $2,400 your local Xpress $2,500 $3,000 distributor Over the past ten years, Hewlett-Packard has been selling HP 3000s to many first-time customers. These new HP customers were also a large source of first-time license sales for Robelle, and gave us the opportunity to offer a generous discount on additional CPU sales. However, markets evolve, and like HP, most of our sales are to existing clients like yourself rather than to new customers. Consequently, while we will continue offering you the benefit of a sizeable discount, it is necessary to change it from the present level. We are providing you with six months' advance notice of the new discount prices to allow you time to budget your future HP purchases accordingly. Our first-time license fees and maintenance charges remain the same. And remember: there are still no fees for upgrading from a Classic HP 3000 to MPE/iX. If you plan to purchase a new machine to replace an existing one, it will not involve any extra costs. Please call Jennifer Mollan, our Customer Accounts Representative, if you wish to discuss the status of your account, or any other related issues. Suprtool 3.5 Release Announcement Suprtool Has Even More Super Speed Robelle Consulting has again enhanced Suprtool, its powerful utility for extracting data on the HP 3000. The 1993 release, version 3.5, takes advantage of MPE/iX features to achieve significant improvements in performance and capability. MPE/iX Speed Enhancements * Using prefetch technology on MPE/iX, Suprtool/iX is 10% faster at reading files and datasets, and 20-40% faster when sorting. As well, Speed Demon/iX now boasts 15-30% faster speeds at reading datasets. * Following changes to the MPE/iX 4.0 file system, Suprtool was rewritten to read KSAM/XL files 15 times faster (CPU and Wall time). * The new IMAGE critical-item update feature also introduced in MPE/iX 4.0 speeds up Dbedit's Change and Modify commands. Integrated MPE/iX Capabilities * Suprtool now takes advantage of third-party indexing in MPE/iX 4.0, enabling users to easily integrate OMNIDEX or SUPERDEX databases. * Suprtool also accepts IEEE floating point numbers, which are used extensively within Cognos data structures. More New Functions * Decimal point support means that users can tell Suprtool how many decimal places there are in a numeric item. This makes entering constants more natural (and less error-prone). All formatting commands in Suprtool will now format fields with the number of specified decimal places. * Users can now put relative dates into the output record with the Extract command, left- or right-justify numeric fields with the List command, and have Suprtool automatically check reports from the new (and faster) HowMessy. A complete description of all new features is in the change notice which accompanies update tapes. All Suprtool users who have service coverage receive an update tape automatically. The update tape also contains the latest user manual which can be printed out or viewed as on-line help. For a free demo or more information, please contact Robelle Consulting Ltd. Calendar of Events September 1993*The 1993 North American Interex conference is being held September 20-24 at the new Moscone Center in San Francisco. We will be giving a half dozen one-hour tutorials on various aspects of Qedit and Suprtool. Bob Green and David Greer will be talking about the future of Qedit and Suprtool. This is a great chance to cast your votes for enhancements to your favorite tools. Technical Tips MPE/iX 4.5 Warning. We ran into a bug in MPE/iX 4.5 Store-Restore which caused us some grief. Using native-mode Store to copy some files in the Robelle account from one computer to another, the creator name of some of the files was changed. All the files in this account are supposed to have the same creator, "Mgr". Here are the details of what happened, and how you can prevent the problem. We logged on as Manager.Sys and used the Store command to copy some files to tape. :hello manager.sys :file t;dev=tape :store @.@.robelle;*t We logged on the same way on the other computer and restored the files: :hello manager.sys :file t;dev=tape :restore *t;@.@.robelle This produced a series of messages saying some files had a creator which didn't exist in the Robelle account. The messages suggested adding the Create=Creator option to the Restore command. NOT RESTORED: SPECIFIED CREATOR DOES NOT EXIST IN SPECIFIED ACCOUNT. 'CREATE=CREATOR' REQUIRED. This is where we made our mistake. Instead of suspecting that something was wrong, we just followed the suggestion and re-did the restore (it was late, we were tired, okay?) The result, which we discovered a few days later, was that some of our files were restored with the "Mgr" creator, and others with the "Manager" creator. When we sent these files to customers, they could not restore any of the files with a Manager creator, since the Robelle account has only a Mgr user, not a Manager user. Luckily, we caught and corrected the problem before too many tapes had been sent. We believe the name Manager was assigned because we happened to be logged on as Manager.Sys to restore the files. We suspect that if we had been logged on as Operator.Sys, some of the files would have been restored with the Operator creator name instead. The bug is only in the native-mode Restore, not the compatibility-mode Transport Restore. If we had used the Transport option of Store to create the tape on the first machine, the files would have had the proper creators. The moral of the story: pay attention to what you are doing, and don't blindly follow instructions suggested by software - no matter how tired you are. Saving Disc Space (Again) Last issue we told you about the various job streams that we supply in the Purgejob group of Robelle, to help you remove obsolete files. One job bears a bit more mention. Cleanup.Purgejob.Robelle is a job whose function is to purge all the pre-installation files in the Robelle account. "Pre-installation files?" you ask. When we supply a new version of software to you, the files for both native-mode (NM) and compatibility-mode (CM) are included on the tape. Both types of files are restored, then the installation job copies either the CM files or the NM files to the production program files. After the installation is complete, you end up with three copies of the program files: the original CM program, the original NM program, and the final program that you run (e.g., SuprCM, SuprNM, and Suprtool). This method of distribution and installation allows us to send you just one tape regardless of the type of machine you have. It's easy for us, and it's convenient for you if you have machines of both classes. The same tape can be installed on both types of machines (assuming you have licensed the machines, of course). The Cleanup.Purgejob.Robelle job stream gets rid of the two extra copies of the program files whose names end in CM or NM. You end up with only the production program files, which will be in either CM or NM format, as appropriate for your machine. The benefit is that you save a lot of disc space. The down side though, is that if you upgrade your Classic HP 3000 to a new HPPA machine, you will have to re-install the software from the original distribution tape, because the NM files will be gone. For this reason, we recommend that you keep your current software tapes. You can send older tapes back to us or your Robelle distributor, but always hold onto the current tape. You never know when you might have to re-install. Shameless Plugs Dept. "Qedit is wonderful. I live in it all of the time. At home I have three of my Reflection function keys defined as `dial the office', `hello', and `run Qedit'." [Howard Robinson, Cardkey Systems] "Xpress is so easy to use I can train someone to use it in five minutes." [Joel Stewart, Norcal Mutual Insurance Company] Robelle Product Training We are currently working on our training schedule for the last half of this year and would like to hear from you if you are interested in product training for either Qedit or Suprtool. We offer private training at your own company, for up to 25 individuals at a time. New users will increase their knowledge which of course enables them to increase their productivity. We can target specific segments of the program if you only require training on certain topics. For more information regarding training, please call Rosemary Van Poelgeest, our Training Coordinator, at (604) 582-1700. HPSUSANs: Frequently Asked Questions Who Is This H.P. Susan Person? Hpsusan is the name of the variable that holds the unique serial number for your MPE/iX machine (i.e., showvar hpsusan). MPE V systems have a serial number, but don't have the Hpsusan variable. You may have received a letter from us recently, asking you to help bring your Robelle customer record up to date, including your Hpsusan numbers. We are planning to incorporate serial-number checking into our products, thus ensuring that if anyone walks off with a copy of your Robelle account, it won't run on their machine. We have taken a number of steps to minimize the inconvenience to our customers, including: 1) disaster-recovery procedures, and 2) a single tape for multiple CPUs. When a disaster strikes, you need to run all your software on a backup system in a hurry. When you use Suprtool or Qedit on a backup system, it will tell you it doesn't recognize the computer and suggest you read the file Disaster.Pub.Robelle. This file has instructions on how to get the software running immediately. You then have ten days to call us so we can install a more permanent fix over the telephone. If you want to review the procedures now, look at the Disaster.Pub.Robelle file; it should be on your system. Our method of checking Hpsusan numbers allows us to encode a list of all your computers in a single copy of the software on a single tape. We did this so you would only have to keep track of one tape per product, not a separate tape for each machine. If you upgrade your site, we can validate new machines over the telephone; there is no need to wait for a new product tape. Robelle Products: Problems, Solutions, and Suggestions Suprtool Version 3.5 Item One. Using Suprlink, it is easy to link two files together, creating a new Output-file that combines data from both files. For example, you could create a transaction file combined with some headers; the Input-file would be the transactions, and the Link-file would be the headers. Suprlink can do an implied record selection, dropping input records that do not have a match in the Link-file. It can also do an optional match, so that all input records are copied to the Output-file, even if there is no matching link record. Just about the only thing that Suprlink does not do is copy link records to the Output-file when there is no corresponding input record. However, using the common technique of combining output from multiple Suprtool and Suprlink tasks into one Output-file, we can achieve the desired result: getting all input and link records into the Output-file, combining where there are matches. Example: Suppose we have a file of 1992 clients, and a file of 1993 clients (which has a different layout), and we want a combined file that looks like this: --------- 1992 data --------- ----- 1993 data ----- key-fld fld-a fld-b fld-c fld-d fld-x fld-y fld-z CLI101 10 xxx 10 10 0 CLI102 0 0 0 abc 234 def CLI103 25 yyy 25 25 xxx 123 yyy Client 101 exists only in the 1992 file, client 102 exists only in the 1993 file, and client 103 exists in both. When a client is missing from one of the files, the output records show blanks or zeros, as appropriate. Assume the files have these fields, with one record per key value: ------ File92 ------ ------ File93 ------ fld-a I2 fld-x X8 key-fld X10 fld-y I2 fld-b X6 key-fld X10 fld-c P10 fld-z X4 fld-d I2 The first Suprlink pass is the obvious one: +input File92 +link File93 optional +output File9293 +xeq This creates a file called File9293 with these fields: fld-a I2 key-fld X10 fld-b X6 fld-c P10 fld-d I2 fld-x X8 fld-y I2 fld-z X4 The next step is to append all of the File93 records that were skipped, to the end of File9293. The trick is to Define the fields correctly, and to Extract them in the proper sequence. >table keys-92,key-fld,file,file92 >input file93 >if not $lookup(keys-92,key-fld) >define fld-a,1,integer,4 >define fld-b,1,byte,6 >define fld-c,1,packed,5 >define fld-d,1,integer,4 >extract fld-a=0 >extract key-fld >extract fld-b=" " >extract fld-c=0 >extract fld-d=0 >extract fld-x >extract fld-y >extract fld-z >output file9293, append >xeq Finally we sort all the records into key sequence, and rearrange the field sequence to be in the desired order for the report. >input file9293 >sort key-fld >extract key-fld >extract fld-a, fld-b, fld-c, fld-d >extract fld-x, fld-y, fld-z >output final >xeq Xpress Version 2.9 The Janitor. When you run Xpress for the first time each day, the janitor comes by and asks if you want to empty the Waste Basket. After you say Yes and the previous day's entries are deleted, you are ready to start filling it up again. But wait. Have you ever noticed that after the janitor empties the Waste Basket there are sometimes a few entries in it? That's because after emptying the Waste Basket, Xpress looks for expired messages in your Bring-Forward file, Filing Cabinet, or Bulletin Board. Any expired messages will be put into your Waste Basket, where you have all day to decide what you want to do with them. Xpress tells you when this has happened. I recommend you go immediately to your Waste Basket and deal with the messages. You may want to re-post some of them to the Filing Cabinet or Bring-Forward, to keep them a while longer. You should do this before the Waste Basket fills up with so many other messages that these ones get lost. [Mike Shumko] The Xpress Experience. "One of my favorite experiences with Xpress was the time that I sent a fax to Walker Richer and Quinn, asking a question about Reflection. I sent it using Xpress and MCI Mail, and included my MCI Mail return address. They sent their response via an e-mail message right into my Xpress In Basket. That was so cool!" [Joe User (aka Mike Shumko)] Qedit and Xpress Four out of five Xpress users also have Qedit, so it's reasonable to assume that a lot of you use Qedit as your message editor within Xpress. You can have Qedit automatically go into full-screen mode for you in Xpress. Just use the Xpress Config program to configure Qedit to have the following command string: open !;visual If you are editing an existing message, you will see approximately the first 20 lines of text. If you are editing a new message, Qedit will show you a screen with about 20 blank lines. After editing the message and returning to Xpress, any trailing blank lines will still be in your message, and be sent as part of it. You can, of course, delete the blank lines before exiting from Qedit back to Xpress, but you may occasionally forget. Here is a simple Qedit command file called DELBLANK which deletes trailing blank lines from a file. You invoke it by adding the name of the command file to the end of the Xpress editor command line, e.g., open !;visual;delblank.cmd.ops /l "~"(pat) last if qeditcount <> 0 then /zzq * setjcw cierror 0 continue /findupq "~"(pattern nomatch) if cierror = 900 then /zzq first else /zzq *+1 endif /dq zz endif