What's Up DOCumentation Robelle Consulting Ltd. 8648 Armstrong Rd., R.R.#6 Langley, B.C. Canada V3A 4P9 Telephone: (604) 888-3666 Fax: (604) 888-7731 Date: October 5, 1989 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, 1989 #8 What You Will Find in This News Memo: News Tidbits Technical Tips Robelle Prize Winners About Robelle Linking PowerHouse with QEDIT, Part III Robelle Products: Problems, Solutions, and Suggestions News Tidbits San Francisco Meeting. The INTEREX meeting in San Francisco was a huge success -- the crowds were incredible. Our booth was swamped with people the entire time -- many thanks to our dealers who volunteered their time to help answer questions in the booth. HP announced the 960 and a cheaper LaserJet. Robelle hosted a bay cruise party for 743 users who were lucky enough to get a ticket (our regrets to those who couldn't get on the boat; we tried to keep it a secret, but...). We announced the winner of the $2500 Robelle prize: see the article in this news memo. At the management roundtable, HP announced changes to licensing and support fees for multiple CPUs -- better check with your HP salesman for the details (will save some people money and cost other people money). HP says that the new NM Spooler will be part of FOS and not an extra-charge product. HP expects to ship multi-processing MPE XL and HPUX machines in 1990, but won't have a small MPE XL machine until 1991. New UK Dealer for Robelle. For ten years, various staff members at the London Business School have been our dealers in the UK and have done a fine job of promoting and supporting Robelle software there. Now the user base has grown to the point where Robelle software needs full-time attention in the UK. Accordingly, Clive Oldfield has consented to become the new Robelle dealer in the UK and devote all his efforts to our products. Clive will still be working with Gordon Miller at the London Business School, so we haven't lost LBS completely. Jeremy Smithers has found his other commitments too great to continue working on Robelle projects. We at Robelle would like to thank Jeremy for the great job he has done since taking over Robelle in the UK. Since the first Robelle sales in the UK, Clive has provided local technical support on our products, so most of the customers should know him well. For the past two years, he has been an independent consultant and developed software for the HP 3000 and the HP 9000. Clive's inauguration to computing was in 1967 at University College of London on an IBM 360/65 mainframe. He was lured to London Business School in 1971 as the sole systems programmer, assigned to install an Interdata minicomputer and develop a HASP Remote Job Entry system in Assembler. Ah, those were the days! For any sales or technical questions, contact Clive at: Clive Oldfield 91 Cumberland Road, London E13 8LH Telephone: 01 473 2558, or 01 262 5050 ext 201 (LBS) Fax: 01 724 7875 (LBS) Technical Tips Workstation Configurator Is Free, BUT... We reported a rumor that the Workstation Configurator (WSC) was now free, but when users tried to get it from Hewlett-Packard, they were often told that it cost money. We called the Response Center and found out that the rumor is true. To get the WSC for V-Delta-4 or later, call the Response Center and ask for Power-Patch WS0068. It is okay to tell them that all you want is the Workstation Configurator. They had planned to include it on the FOS tape, but it wouldn't fit! The product number of the Workstation Configurator is 30239 and the program requires three files that go into PUB.SYS. When you get the patch tape, restore three files into PUB.SYS and RENAME them: Program File: p00p239a => ttutil.pub.sys Catalog File: c00c239a => cattutil.pub.sys Forms File: v00v239a => vttutil.pub.sys Then run TTUTIL.PUB.SYS. According to the Response Center, there is no charge for the software or for support. However, you do need to purchase documentation. The following manuals are recommended: Workstation Configuration User Manual, 30239-90001 Point to Point Workstation Manual, 30000-90250 We ordered the patch tape, it did come, we RESTOREd and RENAMEd the three files listed above, then ran ttutil.pub.sys and we found we had the Workstation Configurator. Among other functions, this program allows you to define startup Escape sequences for your LaserJets. Robelle Prize Winners Gary Dietz and Kevin Kelly of Whitman College won the Robelle prize for the best new contribution to the HP 3000 library in the last year. The winning contribution, an electronic mail system, was announced by Robert Green, President of Robelle Consulting, and Isaac Blake, Chairman of the Library Committee. The Whitman Electronic Mail System was selected by Mr. Green from among ten programs chosen by the library committee. The award carries with it a $2500 prize, courtesy of Robelle. The winning entry is a fully-functional electronic messaging system for a single HP 3000, with many powerful features, including function keys for all tasks, built-in message editor (or link to external text editor), central directory of mail users, password control, logon mail check, distribution lists, reminders, saving and printing messages, and aliases. Some of the features are unusual in a contributed program: spelling check using HPSPELL or Boeing SPELL, split-screen mode for replying, an extensive on-line help, detailed documentation, an incredibly slick installation program. And the system is completely compatible with the Boeing Mail system, which many sites have already picked up from the Tech account. There were many fine programs in the contest, but this electronic mail system provided the most user value. Many sites have been put off E-mail by the cost and complexity -- now they can try E-mail at virtually no cost, and with a system that is extremely accessible. Whitman mail is a great way to get started. Later, if you need a multi-CPU network, file transfer or other specific features, you can purchase a supported product. The winning program was designed by Gary Dietz, Director of Computer Services at Whitman College in Walla Walla, Washington, and implemented by Kevin Kelly of his staff. The winner was announced at our Harbor Cruise party and Gary accepted the prize at an awards ceremony during the INTEREX conference. Long-time HP users will recall that Whitman College was the site of the first coordinated library release and maintained the library for several years. The college also contributed another program, an expanded version of Enforcer, that made it into the final ten contestants. Runner-Up Award for Fast Query Program David Hurst of Reliance Electric has been singled out as runner-up in the "best contribution" of the year contest for his program FQ, Fast Query. Bob Green explained the unexpected runner-up award this way: "There were so many good programs that I had a difficult time selecting a single winner. Finally, I decided to award another $1000 for a runner-up so that I could acknowledge how much I liked David Hurst's Fast Query program." FQ is a report writer for TurboIMAGE databases and MPE files. It uses MR NOBUF techniques to dramatically improve the performance of many reports. The syntax of report statements in FQ is copied from QUERY, but with many extensions (such as conditions on detail lines: d1,"Overdue Account",50,if overdueflag = 1). The data-access statements are like SUPRTOOL's (a Robelle product) and allow access to multiple datasets from multiple databases, plus reports from MPE files. As in SUPRTOOL, you can tell FQ that an MPE file has the same format as a dataset. The DEFINE command allows you to define the structure of a file or re-define the fields of a dataset. David Hurst was not able to attend this year's conference, but his award will be mailed to him. David also contributed another program, a rewrite of PASSUTIL, that made it to the final ten contenders for the contest. Both Programs in Release F0 The Whitman Mail system and Fast Query are in Release F0 of the contributed library, which is being distributed now. F0 contains the other eight finalists in the contest, plus many other useful new contributions. Installation members of INTEREX receive a copy of the library on magnetic tape as part of their yearly membership fee ($400 per year). About Robelle Bob Green to Speak at HP Factory. As part of a "Customer Quality Forum Series", HP has invited Bob Green of Robelle to address the lab, marketing, and support engineers in Cupertino. Topic: "Improving Software Quality" Date: Tuesday, November 7, 1989 Time: 9:00 - 11:00 AM Place: Oak Room Auditorium, Bldg. 48, HP Cupertino Site Linking PowerHouse with QEDIT, Part III [Last issue, we showed how to link QEDIT to QDD, QDESIGN, and QTP. This issue, we conclude by discussing invoking QEDIT from within PowerHouse modules, including ARCHITECT, tips for managing your source files, and linking QEDIT to Native-Mode PowerHouse.] The REVISE Command Added to PowerHouse in 5.06, the REVISE command has this basic syntax: REVISE filename This invokes the COGEDITR program with the BASICENTRY option to edit the file named and then compile the program after editing. (To execute it also, you would include GO in the source file.) You specify the COGEDITR program via a FILE equation: FILE COGEDITR=QEDIT.PUB.ROBELLE The default command, REVISE *, edits the "current" program in the scratch area. Unfortunately, the scratch area is, by default, cumulative. In other words, the scratch area does not erase itself when you USE a new file. Everything you have executed since you started is in the scratch area when you edit. Therefore, I recommend that you REVISE with an explicit filename. This option will work with QEDIT, but is not ideal, because QEDIT cannot be suspended. Instead, QEDIT must be re-created for each new file that you edit. This means waiting repeatedly while your UDCs are loaded into QEDIT for every run. I prefer to work from inside QEDIT, calling PowerHouse as I need it. This lets me suspend or activate PowerHouse, usually within a few seconds of instantly. ARCHITECT ARCHITECT is Cognos's workbench for the programmer/analyst. ARCHITECT is written in QUICK and provides screen menus for tasks such as maintaining the data dictionary, cross-referencing data elements with source modules, editing and testing PowerHouse modules, and invoking external utilities such as SPOOK or SUPRTOOL. ARCHITECT will also generate an application prototype (screens and reports) as well as automatic documentation. One of the choices on the ARCHITECT main menu allows you to edit a file, and you can use the Configuration screen to select QEDIT as your text editor. ARCHITECT allows you to specify the editor filename, a file equation for the source filename, and a run command with PARM=, INFO=, and an entry point. The :FILE equation appeared to work only for FILE EDTTEXT. The RUN command worked, but ARCHITECT won't hold onto a suspended QEDIT process, although it did properly "kill" excess processes. The best choice seems to be to use the BASICENTRY entry point with QEDIT, just as with EDITOR. Otherwise, if you have a lot of UDCs, re-creating a new QEDIT for each edit operation can be irritating due to the repeated waits. I suggest using SET UDC FILENAME to avoid searching COMMAND.PUB.SYS, and putting just the UDCs you really need in the file. Note that, in ARCHITECT, you must define the "current" USE file before you can invoke QEDIT to edit it. If you want to examine or edit a USE file that you found via the inquiry screen of the data dictionary cross-reference, you must jot down the name (or keep mumbling it to yourself), jump back to the main screen, and make it the current USE file. Then you can edit it. What Is the Format of PowerHouse Source Files? Many QEDIT sites use LANG=SPL or LANG=JOB in QEDIT for their PowerHouse source files. This works because PowerHouse strips off and ignores the line numbers. The maximum length of a source line is more than 80 columns, but the absolute maximum varies from module to module and release to release. PowerHouse identifiers are alphabetic with numerics including, by default, these special characters: - _ ' % # (dash, underbar, single quote, percent, cross-hatch). You can change the list of special characters allowed in identifiers by using option special characters "string" in the QDD dictionary source. Correcting Syntax Errors Correcting syntax errors in your PowerHouse code can be difficult when the source file is large, because PowerHouse prints only the source line and the error message. It does not print the line number. You must search through your source code for the exact match to the source code, and keep your fingers crossed that there are no duplicate lines. Conditional Compile Parameters PowerHouse, like COBOL and other compilers, allows conditional compilation. You may have pieces of source code, possibly even alternatives, that are included in the executable module only if certain "parameters" are True at compile time. This feature allows you to have one source module that handles several incompatible situations, such as one module that runs on both HP and DEC. @if test heading ... @elseif prod display "production" @endif The if, elseif, and endif commands must start in column one of the source file. In this example, test and prod are the CC parameters. By default they will be False. You set them to True when you RUN PowerHouse and specify them in the INFO= string: Run QUIZ; info="CC=(TEST)" The CC parameters remain set for the entire RUN of PowerHouse. They cannot be changed, and QEDIT can hold PowerHouse suspended forever, so you may wonder how to switch from "test" to "prod". One solution is to :KILL your suspended PowerHouse programs, then invoke the UDC again with a different CC= value. Another solution is to have separate UDCs for each CC= value, and invoke PowerHouse a second time. Warning About Numbered JOB Streams If you compile PowerHouse modules in batch, you should ensure that all of your job stream files are LANG=JOB, not LANG=SPL; that is, they should be "unnumbered" files. In most cases, having sequence numbers in a PowerHouse batch job will work fine, but if your PowerHouse source program contains embedded PowerHouse commands and/or MPE commands, the sequence number can be treated as part of the command. This leads to syntax errors. For example, !job test,user.acct 00001000 !quiz $stdinx 00002000 :file abc=x1 00003000 access abc link to... 00004000 ... MPE reads each line of the job and strips the line numbers from its commands. QUIZ gets its commands from $stdin, which have line numbers in columns 73 through 80. When QUIZ encounters a line with a colon in column 1, it sends it directly to the COMMAND intrinsic. This is what the intrinsic receives: :file abc=x1 00003000 MPE chokes on the line number, giving back an error message such as Encountered unexpected, extraneous special character, and doesn't execute the command. This was a problem in QUIZ 5.01F, but may have been fixed since then. Suspending QEDIT Inside PowerHouse On both MPE and MPE XL, Cognos lets you run regular MPE programs from within PowerHouse and, if the programs suspend, PowerHouse has an option to hold onto them. The advantage of holding a suspended son process is that subsequent invocations can be much faster. Since most Robelle tools, including QEDIT, suspend when invoked from another program, it is useful to know the PowerHouse syntax for this capability: >:comment $cognos suspend >:run qedit.pub.robelle This special comment in QUIZ says that the "next" run command will be held if the program should suspend. MPE XL and PowerHouse Compatibility-Mode (CM) PowerHouse is exactly the same on MPE XL as it is on MPE V, which is no surprise. This includes the names and locations of the UDC files. Native-Mode (NM) PowerHouse is a complete re-implementation, with some differences. The NM UDCs are in PHNMUDC (assumes files are all in CURRENT group) and DDNMUDC (files not moved to CURRENT), and the same UDC now works with or without HP's DICTIONARY/3000. The location of both files is in the DD503D group. There is no discrimination between QDD and QDDR for NM PowerHouse, since QDDR runs only in Compatibility Mode. The SUSPEND option is ON by default in the NM version of PowerHouse. The REVISE command, to edit a source file using your favorite editor, will be available in version 5.09. Several users report that NM PowerHouse still reads QEDIT files. So far, the only reported problem with NM PowerHouse and QEDIT is one involving the UDCs; they are coded using an unnecessary "keyword" parameter, which can be removed. We have revised these UDCs and distribute them as the file phnmudc.catalog.robelle on our tapes. As an example of the changes, here is the revised QUIZ NM UDC: QUIZ source,INFO=" ", VERS=CURRENT comment NM PowerHouse, modified by Robelle for QEDIT Use file qsource=!source SETJCW CIERROR 0 CONTINUE SETPOWERHOUSE ,!VERS IF CIERROR = 0 THEN CONTINUE RUN QUIZ.!VERS.COGNOS2;INFO="auto=qsource suspend !INFO" ENDIF setpowerhouse true **** Robelle Products: Problems, Solutions, and Suggestions SUPRTOOL Version 3.1.1 Flattening an SD file. Once SUPRTOOL has created a file in its OUTPUT,QUERY format, it always treats this file as an SD (Self-Describing) file. If you need to convert this file back to a non-SD disc file, here's the procedure: Example: convert SD file FOO into flat file BAR :run suprtool.pub.robelle >in foo >:file bar;code=0 >set userlabels off >out bar >xeq QEDIT Version 3.7 and 3.7.1 SET VIS BELL. When editing job streams with bells in them in visual mode, the lines with bells will be shown with a ?, indicating that the line contains unprintable characters and cannot be edited in visual mode. To get around this, Qedit allows you to specify a replacement character to represent bells in visual mode. The trick is to choose a character (I use º) that is typed as Extend-char-G (or Alt-Z G using Reflection). [Mike Shumko] /set vis bell "º" Data Files Treated as Numbered Files. Sometimes you will try to List or Text a data file, and Qedit will appear to go crazy. The reason may be that the data file contains digits in the last eight columns of the record, so Qedit assumes that these digits are the record line numbers. The solution is to remember to List or Text these files using the UNN option. For example, the file is a list of the following ten-digit part numbers: 0004001007 0004001010 0004002059 /list thefile 4001.007 00 The file is interpreted as a 4001.01 00 two-character file with 4002.059 00 eight-digit line numbers. /list thefile,unn 1 0004001007 2 0004001010 3 0004002059 Am I Using ;TEMP Correctly? If you have a permanent file named XYZZY and do the following commands, QEDIT will leave your file XYZZY open: /file xyzzy;dev=disc;temp /list xyzzy The file is still open by QEDIT and each subsequent LIST command leaves another dangling FOPEN. What's going on? QEDIT opens XYZZY with the "either OLD temporary or OLD permanent" option of FOPEN. The ";TEMP" option on the File command does not override this aspect of FOPEN. Instead, it forces any FCLOSE on XYZZY to save it as a temporary file. But since it is already a permanent file, the FCLOSE fails. There is no way to get around this in QEDIT. What you probably meant to do was file xyzzy=xyzzy,oldtemp;dev=disc;temp which would have forced QEDIT to look only for a temporary file and ignore the permanent file with the same name. This problem will occur with any program that opens a file as either OLD temporary or OLD permanent. QZMODIFY Response Time on MPE XL. QZMODIFY operates by doing single-character reads to the terminal. The DTC cannot keep up with these single-character reads as fast as people can type. Possible workarounds include running QEDIT in the B queue to get better response from the CPU, or OCTing QEDIT. We don't think that these will really help, though, since the problem is not with the CPU but with the DTC. Native Mode probably won't help either, but we are going to keep looking for a solution. People have been complaining about QZMODIFY for as long as it has existed. It works well only in specific instances, and is bad for almost everything else. The requirements for success are 1) that your CPU have plenty of spare power to service the individual read requests, and 2) that you be operating over a vanilla datacomm hookup, with no networks, fancy modems, multiplexers, etc. The DTC violates point 2, because it is, in effect, a network. Networks typically have slower turnaround than a direct-connect hookup because of the character buffering and packetizing they do. Usually they are optimized for large transfers, and are at their worst for tiny reads. XPRESS Version 2.6 The XPRESS Experience. "Continually pressing the RETURN key ought to speed a program up, but never does. My favorite feature of XPRESS is that pressing the same function key twice does make it go faster! Pressing f2 once lists the messages waiting in my IN Basket -- pressing f2 again causes XPRESS to display those messages in order. No need to enter message numbers at all, and f2 works immediately, no matter where I am in XPRESS at the moment. Likewise with f3 for the OUT Basket: once prompts you for the subject and text of a new message, while twice prompts for the subject of a new edited message, sending you automatically into your favorite text editor for composing the text (double f3 is in the newest XPRESS--think of this as a sneak preview of version 2.6)." [Bob Green]