What's Up DOCumentation Robelle Consulting Ltd. 8648 Armstrong Rd., R.R.#6 Langley, B.C. Canada V3A 4P9 Telephone: (604) 888-3666 Telex: 04-352848 Date: April 30, 1988 From: Robert M. Green, President David J. Greer, Research & Development Michael C. Shumko, Customer Support To: Users of Robelle Software Re: News of the HP 3000, 1988 #3 What You Will Find in This News Memo: News Tidbits New XPRESS 2.5 Supports PCs Technical Tips Faster SUPRTOOL, Plus Speed Demon "Must See" Features of Reflection Marie Froese, A Short Biography Book Review: Taming the HP 3000 About Robelle Squeezing the Last Bit From Your HP 3000 Part Five: Compile Your Fourth-Generation Applications Robelle Products: Problems, Solutions, and Suggestions News Tidbits Robelle and the Series 900s. We have tested all of our products on MPE XL and they worked properly. Most of this testing was done in compatibility mode, but we have also developed a native-mode interface to SUPRTOOL for user programs that invoke SUPRTOOL via a subroutine. We have not yet committed to a conversion of our products into native mode. We are waiting until we can measure the performance in native mode and compare it with compatibility mode. Our decision to convert will depend on a conviction that big gains are to be made and the availability of a suitable compiler for the development effort. If you plan to go to a Migration Center, you are encouraged to take your Robelle account with you. You can then test your software with whatever version of our software you currently have. Do not expect the Migration Center to provide you with third-party software. If you think you're not running the most recent versions of our software, feel free to give us a call. The current versions will work on MPE XL. However, we continue to make incremental improvements to better support MPE XL. I suggest that two weeks before delivery of your Series 900, you call our office and request the latest pre-release versions of each product. There are no formal steps required for you to use our products on the Series 900s. We would appreciate being notified when you get MPE XL, so that we can give you suitable support. Our MPE XL pricing policy is as follows: 1.There is no extra charge for moving the software from any other HP 3000 model to the Series 900 line. Robelle does not vary the price for its products on the basis of CPU size. 2.There is no change in the yearly maintenance fee. The Series 900 will be supported the same as any other model of the HP 3000. 3.For a six-month period, commencing upon delivery of your Series 900 machine, you may use your licensed Robelle products on both the Series 900 machine and your existing HP 3000 system, without extra charge. After six months, if you still need to run the products on both systems, you need to pay the standard CPU surcharge for the products. This surcharge is 20% of the current list price. New XPRESS 2.5 Supports PCs We recently started shipping copies of a major new release of our XPRESS Electronic Mail product. This revised product, called XPRESS 2.5, includes additional programs to allow remote PC users to link into XPRESS mail on the HP 3000, as well as enhancements for increased convenience and multi-CPU capability. The highlights of the new XPRESS mail are: * Messages are now identified by a relative number one or two digits long. * Bulletin Board messages can be sent to any group on any machine. * Pressing a function key twice causes XPRESS to read the messages in the corresponding basket. * You can now transfer a user and his Bring-Forward and Filing Cabinet messages between machines. * We include Pony XPRESS, a prototype version of XPRESS for personal computers. Pony XPRESS allows a PC user to read and compose mail on the PC, without being connected to the HP 3000, then automatically exchange mail messages with XPRESS. If you haven't yet convinced yourself of the benefits of electronic mail, just call for your free demo. We think you'll like what you see. And at $3000, it's a bargain compared to HP DESK. Technical Tips When is a broken chain not a broken chain? Some programmers have questioned the wisdom of locking database entries before reading them. It's true, the IMAGE manual states in no uncertain terms that locking is not required for reading. But if you don't lock your detail entries before reading the chain, another process could update or delete one or more entries in the chain while you're reading them. If you read an entry, and another process deletes the next entry in the same chain before you read it, you will get IMAGE error condition #18 - BROKEN CHAIN. You can't just add code to ignore the error, because you might be ignoring genuine database corruption. Migrating From DEBUG to the System Debugger. One of the nicest features of MPE XL is the new System Debugger. The WON (window-on) command is WONderful: it allows you to define windows into your program data that are updated at each breakpoint. However, the System Debugger commands are slightly different from the DEBUG commands that we know and hate. Not different enough to be new, but different enough that you keep making mistakes. Here is a translation table from old DEBUG to new System Debugger. Function: MPE XL MPE V (Debug) Permanent breakpoint: ?b 13.30 ?b 13.30:@ One-time breakpoint: ?b 13.30,-1 ?b 13.30 Global breakpoint (this is a killer):?b 13.30:@ Break at proc entry point: ?b ?procname Resume program execution: ?c ?r Dump CM data (DB+15 for 20 words): ?ddb 15,20 ?d 15,20 Dump CM data (Q+5 for 10 words): ?dq+5,10 ?dq+5,10 Dump CM data (S-3 for 4, hex): ?ds-3,4,h ?ds-3,4,h Dump formats: H,D,A,O H,I,A,O Dump CM code: ?dc p+0,10 ?dp,10,c Trace stack markers: ?tr ?t Faster SUPRTOOL, Plus Speed Demon SUPRTOOL version 3.0 has hit the streets. SUPRTOOL is our HP 3000 utility that selects records from an IMAGE, KSAM, or MPE file, rearranges, sorts, prints, and totals them, then writes the records to another IMAGE, KSAM, or MPE file. Besides its famous high-speed serial scan, SUPRTOOL now includes a CHAIN command to retrieve directly IMAGE records for specified key-values. SUPRTOOL's DBEDIT sub-system allows convenient, interactive editing of databases, and the new Speed Demon intrinsics let a user program improve the speed of serial DBGET calls by a factor of five. Version 3.0 adds many new features, including: * The EXTRACT command and $LOOKUP function are much faster than in version 2.9. * Date selection with the IF command is more flexible, allowing selection by specific or generic dates. * SUPRTOOL now supports reading via search paths with the CHAIN command. * SUPRTOOL includes Speed Demon, a high-speed DBGET Mode-2 replacement intrinsic. * The ASK MANMAN date format and YYMM dates are supported. * The SUPRTOOL2 interface now returns totals from the TOTAL command. * SUPRTOOL has been tested on MPE XL and includes switch stubs for the SUPRTOOL2 interface and Speed Demon. As always, the User Manual and on-line help have been updated to reflect these improvements, and are available on the same tape as the program files. SUPRTOOL version 3.0 has already been released to all SUPRTOOL users who are currently on service. (If you think you're entitled to an update but haven't received it yet, give us a call.) Overseas users should receive their updates within 8 weeks. If you'd like to take a look at this amazing new incarnation of an old friend, just call and ask for your free demo. "Must See" Features of Reflection Reflection from Walker Richer & Quinn is such a good HP terminal emulator for the PC that most people don't learn the ways in which it is much better than a real HP terminal. Here are our favorite Reflection enhancements: 1. Type-ahead. When Type-Ahead is on, Reflection lets you keep typing even after you hit Return. When the 3000 is ready for the next input line, Reflection sends what you already typed. This works with VPLUS screens too. Type-Ahead is wonderful when the system is slow. To enable Type-Ahead, press Alt-C (hold down ALT while pressing C), then f3 (terminal page 1), f1 (next choice) to set the type-ahead answer to "YES", and finally f5 (activate configuration). 2. Bigger Memory - MUCH BIGGER. An ordinary HP terminal has two, three, or maybe eight pages of display memory. Reflection allows virtually unlimited pages of memory. Just press Alt-C (config keys), f7 (Global Config), and cursor down to "Amount of display memory (K)". Now type 99 and press f5 (Activate Config). Use CTRL plus the cursor keys to scroll up and down (unlike HP terminals, the IBM PC does not allow Shift plus the cursor keys). 3. Wider memory - Scrolling left and right. Reflection allows you to configure display memory as wide as you please, so that you can scroll left and right to view wide listings (using CTRL plus the cursor left and right keys). To adjust the columns of display width, press Alt-C (config keys), f4 (terminal page 2), cursor down to the "Right Margin" field. Then type 200 for 200 columns and press f5 (Activate Config). 4. Hot key to DOS with Alt-RSH. You can leave your HP session temporarily and go to DOS by pressing the ALT key plus the right-hand SHIFT key. Your session is still logged on and running, but you can interact with DOS and even run another DOS program. If you get any messages that ring the Bell, Reflection beeps at you. To return to your session, press Alt-RSH again. You can switch back and forth between MPE and DOS as many times as you like. (This feature is not implemented on the HP 150 version of Reflection.) 5. Alt-H for Keystroke Help screen. To find out the IBM PC keystroke for any Reflection function, press Alt-H. For example, the IBM PC does not have a block-mode Enter key (it may have a key labelled Enter, but that is really the Return key!). Alt-H shows that the Enter key is the "+" key on the numeric keypad. (Hint: if you don't have that key, use SHIFT-f10.) 6. Destructive backspace. To erase as you backspace, press Alt-C, f3 (terminal page 1), and cursor down to Destructive Bkspace. Press f1 for next choice to set the answer to "YES". VEMODIFY addicts should avoid this. 7. Unlimited color choices. Reflection allows you to select any color for any display enhancement on the screen, but configuring them is an art with the current version of Reflection. Press Alt-C (config keys), f6 (enhancmt config), and f2 for non-blinking (this doubles the number of color choices). You are now looking at a screen listing the 16 display enhancements and showing their current colors. Start by changing only the Normal Screen (top row) and the LABELS (cursor down to "J"); few programs use more than four of the enhancements. Each enhancement has a foreground color and background color, and each color is defined as a four-digit binary number (0 100). Use f1 (NEXT CHOICE) to reverse one digit of a color, then cursor right to the next digit. The 16 possible color numbers are listed on the left. Finally, press f5 (activate config) and check the results. 8. Saving your customized Reflection. So far, your customized changes to Reflection are only temporary. To make them permanent, save them by pressing Alt-C (config keys), f1 (datacomm config), and f6 (save to disk). Then press ENTER to confirm the default config-file name. Congratulations. You now have a superb "HP terminal". If you have any experience programming or writing UDCs (user-defined commands), you should next take a hard look at Reflection's Command Language. It allows you to program the terminal to do many things for you automatically, such as logging on, transferring files, etc. By the way, the file EXAMPLES.CMD on the Reflection diskette contains excellent samples of command files. You can access EXAMPLES.CMD by pressing ALT-Y, then typing in the Command Line, "type examples.cmd". Here's a chance to use your new large-size display memory: read the file by scrolling through it with CTRL-cursor keys. Marie Froese, A Short Biography This month, we feature one of our sporadic book reviews, the contributor of this one being the newest member of our team: Marie Froese (pronounced "froze"). Marie joined us nearly two years ago on a part-time basis, ostensibly to supplement her meagre income as a substitute teacher (elementary school level) and horse-tack salesman. The interest and enthusiasm she applied to each of those part-time endeavors accompanied her to Robelle, where, after an initial six-month trial, she became a full-time institution. Next to Mike Shumko, our technical support department, Marie is our strongest and most vocal customer advocate. Her duties include fielding telephone calls, demo- and order-processing (with the seemingly endless details those chores entail), and representing Robelle in its vendor booths, which she also organizes and sets up (she will be at BARUG, SCRUG, Goteborg, and Orlando this year). The only time her enthusiasm has flagged has been on those days when she has worked so hard that there is little time or energy remaining for riding her two horses, swimming, skiing, or visiting friends. Her present at-home projects are to learn enough about Pascal to program in it comfortably, and to learn enough about the HP 3000 and Robelle's software to handle some of our technical support calls. She will succeed. [Annabelle Green] Book Review: Taming the HP 3000 If you are like me, a relative newcomer to the HP 3000, wanting to learn more about system operations but lost in the depths of computer jargon, here is a book for you. It's called "Taming the HP 3000: Over 101 Ways to Monitor, Manage, and Maximize System Performance on the Hewlett-Packard HP3000, Volume I", by Robert Lund. He explains how to monitor and improve system performance in a way that is both easy to read and understand. The text is sprinkled with cartoons, and includes several hands-on exercises. It is obvious that Robert Lund has done his homework, and that he has lots of experience with performance management for the 3000. Topics range from "Load Balancing Techniques" to "Taking Your System's Pulse", technical information illuminated by a humorous but thorough approach. You can obtain your own copy by writing to: Performance Press, P.O. Box 151 Albany, Oregon 97321. Phone (503) 327-3800. The cost is $29.95 US plus $4.95 US for shipping and handling. [Marie Froese] About Robelle Sweden. We look forward to seeing you at the HP 3000 Users Group meeting in Sweden, May 29th to June 3rd. We are sponsoring a Fishing Party on Wednesday night along with Ole Nord AB. Since there are limited tickets for the fishing tour (there is only one really good boat for hire!), we are offering ticket booklets to the Liseberg Amusement Park for everyone else. Returning Tapes to Robelle. Unlike some other software companies, we do not want any tapes back. Please don't return any tapes to Robelle. We may refuse used tapes requiring customs clearance. U.S. Customers Only: If you just can't bear to throw tapes away, send them to John Beckett at Southern College in Tennessee. John does our U.S. tape duplication and distribution. He will re-use any Robelle tapes you send him, as long as they're in good condition. Customer Support Hours. Robelle's Customer Support Department (that's Mike) is open weekdays from 8 AM to 4 PM Pacific time. Call during these hours to get your call answered by a real human being. Outside of these hours and on weekends just leave your message with our friendly answering machine. Please leave your phone number. Squeezing the Last Bit From Your HP 3000 Part Five: Compile Your Fourth-Generation Applications We have done an informal survey of large HP shops to find out how the successful ones avoid topping out the HP 3000 line. Over and over, users recommended that we Compile Fourth-Generation Applications. Problem. Interpreted Transact, and other 4GLs, consume too much CPU time. Solution. Compile Transact source using the Fastran compiler. When Cathy Vanderburgh was at Macmillan Blodel, she wrote up her experiences with Fastran as Riding Herd on a CPU Hog: "We recently developed a Transact system which included a large (15,000 lines) and complex (10 screens) data-entry program. After installation, the response times for the program varied from slow when the machine (an HP3000/64 with MPE IV) was lightly loaded to abysmal when the machine was heavily in use. Yet none of the other users on the system were experiencing similar problems at any time. We ran OPT/3000 to observe the execution of the program. The CPU time needed to interpret the IP code plus the complexity of the program was causing the MPE scheduler to class the process as a `CPU hog' and to penalize it by dropping its execution priority. The only way to improve the response time would be to reduce the excessive CPU usage. Fortunately, this story has a happy ending. We discovered a piece of software called Fastran, a product of Performance Software Group, that compiles Transact source code into an executable program. On evaluation, we found that a Fastran version of the program used 1/4 to 1/3 of the CPU of the original Transact program, enough of a drop to bring the response back to an acceptable level. The user now enjoys(?) the same response patterns as everyone else on the machine. And the moral of the story? Without Fastran, of course, the author of the original program would now be busily re-writing it in COBOL. Plenty of programmers have discovered the hard way the functional limits of tools like Transact." At Canadian National Railways, where a large on-line application is written in Transact, compiling the application with Fastran led to a CPU reduction of over 60%, and a stack size reduction of 25%. Single-user elapsed run times did not improve much, but as more users were added, the reduced CPU requirements produced shorter elapsed run times. These numbers are for an I/O bound application where most of the time is spent in the database intrinsics and the file system; on CPU-intensive tasks the reduction can be considerably greater. At Kitsap County they use Fastran over Transact wherever possible because the programs run faster. However, they have found a few cases that Fastran cannot handle. If a program needs extensive table handling, they choose COBOL over Transact. Dexter Shoes runs a large manufacturing and distribution operation on a network of six Series 40s. Their entire application was coded from scratch in Transact. They report that this gives them the ability to respond to user suggestions in days instead of months. The reason they can get away with only Series 40s, instead of Series 68s or 70s, is that they compile the programs with Fastran. Larry Kemp of HP Bellevue has found Fastran about 25% slower than COBOL and 50 to 98% faster than Transact (an eight-hour job reduced to eight minutes was the best he ever saw!). An alternative 4GL that he found to give excellent performance is Protos; it generates a COBOL program for execution. And, finally, no one says you can't rewrite your most frequently used program in COBOL (use system logging to find out which program it is). Robelle Products: Problems, Solutions, and Suggestions SUPRTOOL Version 3.0 Quick Reference Guide. We have produced a Quick Reference Guide for SUPRTOOL Version 3.0 and sent five copies to each North American user who is on support. Don't hesitate to call if you need additional cards. V-MIT Compatibility. The 3.0 Change Notice carefully neglected to mention whether the new SUPRTOOL is compatible with V-MIT. The answer is "Yes, mostly". There is a known problem with remote database access security over NS on V-Delta-2, also described as the "NS C Patch". See below for workarounds. C/D Patch to NS/3000 and V-Delta-2. If you install this patch to NS/3000 or upgrade to V-Delta-2, you will no longer be able to access a remote database using SUPRTOOL's NOBUF/MR methods. There are three workarounds to this problem. The first is to use >set privmode off when you :run suprtool and access a remote database. This forces SUPRTOOL to use DBGET (with the expected speed implications), but the user should be able to use existing procedures and job streams. We would not recommend adding >set privmode off to the suprmgr file, as this would slow all SUPRTOOL extracts. The >set privmode off command must come before the >base command. The second workaround is to run SUPRTOOL on the same machine as the database and send the output file back to the original HP 3000. An added advantage of this method is that only selected database records have to be passed across the NS connection. A third solution is to ensure that the REMOTE HELLO logs on as a user with PM capability (e.g., MANAGER.SYS), and has access to the database. Where this is not feasible, the user will need to install SUPRTOOL on the target machine. HP says they will not remove the feature. We are looking for a customer who seriously thinks that HP's added security is a mistake, and who is willing to complain to his SE and try to get the problem escalated. This customer has to be willing to bug HP for information about the internal mechanisms of NS and remote database access. We will work with this customer to get the problem resolved. So far, few people in North America have been affected by this patch. We suspect that few users have installed the patch, but the patch is included in V-Delta-2, so we do expect the problem to become more frequent during the next few months. Switch Stubs in XLs. Our instructions for using the SUPRTOOL2 switch stub suggest copying the switch stub into your program when it is linked. While this works, it means that any changes to the SUPRTOOL2 switch stub will force you to recompile all native-mode programs that use the switch stub. A better method is to specify the switch stub at run-time: :cob74xl testsrc :purge testprog :link from=$oldpass;to=testprog;cap=ph :save testprog :run testprog;xl=cmswitch.qlib.robelle You can include multiple xl-files on the run command by separating them with commas. QEDIT Version 3.6 SAVE is sometimes just the opposite. Adding the SAVE option to a file command actually prevents QEDIT from keeping a file. Instead it saves the original file. E.g.: /t foo QEDITSCR 54 lines in file /file foo;save /keep foo FOO.PUB.TECHSUP,OLD 72B FA of records=54 Purge existing file [no]?yes Fclose Err: Duplicate FOO.PUB.TECHSUP,NEW 72B FA of records=54 DUPLICATE PERMANENT FILE NAME (FSERR 100) / The reason is that the SAVE option on the file command prevents QEDIT's purge of the file. The purge is done via FCLOSE with DELETE disposition, but the file command overrides the FCLOSE. Then the keep fails because the original file still exists when it shouldn't. Workaround: don't do that. XPRESS Version 2.5 Delete / Rename User Bug. There is a bug in the MAINT code which deletes and renames users. After the delete or rename, there may still be a few M-FILE-FOLDER or D-USER-NO entries left. These will cause a problem only if you subsequently try to add a new user with the same name or number as the old user. These inconsistencies are not detected by MAINT's database health-checker. If you run into this problem, you may use QUERY or SUPRTOOL to remove the leftover entries. Example using SUPRTOOL: User 45, MIKE SHUMKO, was deleted incompletely. To fix: >base mail.maildb.robelle >get m-file-folder >if user-name == "MIKE SHUMKO@" {pattern match} >delete >xeq >get d-user-no >if user-no = "0045" >delete >xeq QLIB Version 4.7 DESKQED. This is a new program which allows HP DESK users to edit messages using QEDIT. Call if you need it. SUE. The currently-distributed version of SOO is called SUE.QLIB.ROBELLE. This SUE should run on any version of MPE (except MPE XL). To avoid any confusion or nasty surprises, you should purge any older versions of SOO@.QLIB.ROBELLE.