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 Fax: (604) 888-7731 Date: July 23, 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 #6 What You Will Find in This News Memo: News Tidbits DBAUDIT Builds EXTRACT Files Technical Tips About Robelle Linking PowerHouse with QEDIT, Part I Robelle Products: Problems, Solutions, and Suggestions News Tidbits No Free MPE XL Performance Tools. Mike Anderson of HP Response Center Atlanta called to say that the tools mentioned in our last news memo were not available from the response center, except during HP performance consulting. Sorry for the wrong information -- you will have to purchase HP GLANCE or PROBE XL to see what is going on in your MPE XL machines. DAT Backup. HP and SONY are working together to apply the new Digital Audio Tape technology to computer backup. The goals are slow write, faster scan, and very high storage capacity (1.3 gigabytes in a cartridge the size of a regular music cassette). Rumor says HP will release a low-end MPE XL machine next year that uses DAT for system backup. The Truth About MPE XL Disc Files. Eugene has written a new paper for the San Francisco Interex conference that is about the internals of MPE XL disc files. How they differ from MPE V files, how disc space is allocated, and much more. Highly recommended. Cognos Rumor. According to the June 1st issue of DATAMATION, "Cognos Corp. is quietly working on a successor to its PowerHouse fourth-generation language using object-oriented programming technology. The company is developing the next generation package using an object-oriented language called Eiffel from Interactive Software Engineering, Inc. of Goleta, California. Cognos chose an object paradigm to enable users to extend applications, as well as smooth interfaces to a variety of data bases and file systems. A development official declines to say when initial release of the product is expected." UK Users Meeting. The UK users met in Brighton July 9-12 and our cub reporter was there: IEEE Reals. HP has added a new "E" data type to IMAGE to distinguish IEEE reals from Classic 3000 reals (R type), but is holding up release until they figure out how to ensure backward RESTORE compatibility to the Classic machines. VPLUS Replacement. HP has struck a deal with a third party for a screen designer that will work on both UNIX and MPE XL -- look for an announcement in September. DTC. There will be a lower-cost DTC soon. With MPE XL 2.0 at the end of 1989, the DTC will allow you to switch between different Spectrum systems, but you will need to buy a new LAN manager product. UNIX + MPE XL. MPE XL will be POSIX-compliant within two years. POSIX is an industry-standard version of UNIX. The POSIX intrinsics will not sit on top of the MPE intrinsics, but beside them. Bye-Bye Portables. HP is going out of the Laptop PC business to focus on desktops. The LS/12 (a Zenith with HP label) has not been updated to match the most recent Zenith offering and will be gone in six months. Open Systems Foundation. HPUX will support OSF/Motif before the end of 1989 and OSF/1 before the end of 1990. Look for MPE XL somewhat later. Tape Reel Management. HP is adding hooks to MPE (XL and V) so that large customers and third parties can build tools to manage tapes. This goes into Beta Test this autumn and anyone who is interested in writing tape tools should contact HP for details. GSA Seminars. Gilles Schipper is giving his seminars "TurboIMAGE 3000 Advanced Techniques" on October 3/4, and "Effective HP 3000 System Management" on October 5/6. Place: Toronto. For more information, call (416) 889-3000. DBAUDIT Builds EXTRACT Files DBAUDIT is intended to help system managers keep tabs on HP 3000 database transactions through use of IMAGE logfiles. You can use it to monitor a specific user, a troublesome dataset, a dial-in terminal port, or a suspect application program, and see just what changes are being made to your databases. Because transaction dumps can be sorted by up to five keys, including dataset field values, you can use them as audit reports instead of writing custom programs. DBAUDIT provides informative, readable summary reports of database activity, organized by program, user, dataset, and logon device. Using these reports, you can pinpoint performance bottlenecks in your database applications. At Robelle Consulting Ltd., we continue to improve our products, releasing a new, enhanced version each year. Highlights of the changes to DBAUDIT for version 1.9: * EXTRACT command copies transactions into MPE files. This allows you to put accidentally deleted records back into the database or feed transactions into custom reports. * Commands may be continued using & at the end of the line. * FORM command È la QUERY, including FORM SETS. * SET command to delete portions of the report's summary statistics. * PAUSE and DISPLAY commands to annotate USE files. 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. All users of DBAUDIT covered by service will receive an update tape automatically (allow six weeks for delivery outside North America). DBAUDIT is fully compatible with MPE XL and the logfiles generated by Turbo IMAGE/XL. Technical Tips How to Get MPE XL Variables into QEDIT Commands? Put the QEDIT commands into a Command File with the MPE XL variable name preceded by an exclamation mark (!filename). Don't forget to put a slash in front of each QEDIT command. Then invoke the Command File by typing its name: option nolist comment cmd file to invoke QEDIT command with variable /text !my_file_name Saving Function Keys on MPE XL. There are a number of ways to save the values of the user function keys. One method that we use is as follows: do an FCONTROL 31 to put the terminal into VPLUS mode and an FCONTROL 41 to specify Unedited mode with RS as the terminating character. Then FWRITE an Escape sequence to put the terminal into block mode, display the user key menu, up the cursor, and do a block transfer (Esc "&s1d1g0H", Esc "&k1a1B", Esc "j", Esc "&a0c0R", Esc "d"). The terminal will wait for a DC1 to trigger the transfer. You issue a big FREAD of 2000 bytes and should receive back the Escape sequences that define each key, separated by CR/LF, and ending with an RS character. FWRITE Esc "k" to remove the user key menu and Esc "&k0a0B" to go back to line mode, then call FCONTROL 30 to get out of VPLUS mode and FCONTROL 41 with a PARM of 0 to disable Unedited mode. When you need to reset the function keys, write out the buffer that you captured. This method will not work on MPE XL, because the DTC version of VPLUS does not use handshaking (you must set G and H to 1 to inhibit waiting for DC1s, Esc "&s1d1g1H"). When you press ENTER the terminal sends data immediately, whether the CPU is ready for it or not. The DTC is responsible for saving this information in a "typeahead" buffer until the CPU asks for it. When you call FCONTROL 31 to turn on VPLUS mode, typeahead is not enabled in the DTC until after the first read. If you save the function keys first, the terminal may send the key values before the DTC has received the read request from MPE XL. Result: the terminal may hang in the user key menu or your program may receive only some of the Escape sequences. Solution: insert a zero-length FREAD to ready the DTC. Randy Medd of Telamon notes that VPLUS itself does a zero-length FREAD immediately after calling FCONTROL 31. Note: this "typeahead" is unrelated to the new TYPEAHEAD feature of MPE XL 1.2. How To List ALL Spoofles? Without being the console, you can print the spoofles for all jobs and sessions in one command: :showout # How to Detect the DTC? If you have an MPE XL machine, you probably realize by now that the DTC (Distributed Terminal Controller) is quite different from the ATP that you had on your Classic 3000. So different that you may need to put special code in some programs, special code that works only on the DTC. A quick and dirty way to decide if you are running with a DTC is to check for the system function THISCPU: if it returns a value greater than 15 you are running on a Spectrum CPU. However, your user could still be connected to an old ATP and be DS'ed over to the Spectrum. How to tell? There is a little-known intrinsic, FDEVICECONTROL, which will give you this information on MPE XL 1.2 or later: procedure CheckDtc (DtcStatus); integer DtcStatus; !16-bit Integer, Half Word on MPE XL ! Returns 0 for pre-DTC, 1 for DTC begin integer buf ,stdin ,errnum ; intrinsic fdevicecontrol,fopen,fclose; integer procedure thiscpu; option external; DtcStatus := 0; !false, must be ATP or ADCC buf := 0; if thiscpu >= 16 then DtcStatus := 1; !run on SpectrumCpu stdin := fopen(,[3/4,1/1,2/1]); if = then begin fdevicecontrol(stdin,Buf,1,192,28,1,errnum); if = then DtcStatus := if 6<=buf<=7 then 1 else 0; fclose(stdin,0,0); end; end; !CheckDtc About Robelle Big Party September 11th. Join us Monday night for an evening celebration cruise extraordinaire aboard the Hornblower Yacht "The San Francisco". Enjoy music and great food in one of the most beautiful settings in the world! To get your ticket (limit of two per person), stop by the Robelle Booth Monday, September 11th during show hours. With your ticket in hand (a must to get on the bus), meet at 6:45 pm sharp in front of the San Francisco Hilton (Ellis Street), or the Renaissance Ramada (Cyril Magnin Street). Buses will take us to the yacht for our three-hour cruise from those two locations only. Hang onto your ticket until you are firmly planted on deck: the number of guests allowed on board is finite. After the cruise, the buses return to the San Francisco Hilton and Renaissance Ramada Hotels. We look forward to seeing you at the meeting and hope you can join us for a wonderful evening. Robelle Presentations. In San Francisco, we will be giving seminars on our products. These are shortened versions of our successful tutorials. We do not have the dates at present, but we hope to give an hour tutorial each on QEDIT, SUPRTOOL, and DBAUDIT, plus an entertaining talk on Electronic Mail. Bob Green is speaking to the BCRUG on September 20th, and will be giving a SUPRTOOL tutorial to the Cognos Multiview Users Group meeting in Ottawa on October 18th. On November 7th, Bob will be giving a talk on "Improving Software Quality" to HP people in the Oak room of the Cupertino site. QEDIT and SUPRTOOL Tutorials in Toronto. Due to popular demand, we have arranged to send Bob Green to Toronto in October to present the QEDIT and SUPRTOOL tutorials. Date: Oct 16/17. Contact GSA at (416) 889-3000 for more information. Linking PowerHouse with QEDIT, Part I PowerHouse is a fourth-generation language for HP, DEC and Data General computers, as well as IBM PC-ATs and compatibles; it was developed and marketed by Cognos of Ottawa, Canada. The primary modules are the QUIZ report writer, QUICK screen handler, and the QTP transaction processor. QEDIT is Robelle's full-screen text editor for HP 3000 computers. Among Robelle customers, PowerHouse is a favorite development tool, second (barely) to COBOL. It is possible to link QEDIT and PowerHouse to make a powerful, convenient development environment, but we have found that many of our users do not have access to the information on how to accomplish this. Accordingly, we spent a day at a Cognos office tracking down all the components of PowerHouse, trying them with QEDIT, and adjusting the User-Defined Commands to streamline and optimize the linkage between Robelle and Cognos products. PowerHouse, QUIZ, QUICK, and QTP are Trademarks of Cognos Corp. Types of PowerHouse Sites Minimalist: run-time version of QUIZ with a compiled dictionary. Dedicated applications, bundled in by VAR. QUIZ Only: QDD generates a run-time QSCHEMAC data dictionary from a source file, QSHOW reports on the data dictionary, QUTIL builds databases, and QUIZ prints reports. Full PowerHouse: above, plus QDESIGN (designs screens), QUICK (executes screens), and QTP (batch transaction processor). This is the norm. Graphics Option: above, plus a special version of QUIZ that can do graph commands. Architect: helps you design your dictionary and application. Menu front-end. Automatic prototyper and documenter. Any of these sites could be supplied with the QDDR option, the Cognos interface to HP DICTIONARY/3000 (not available for ARCHITECT). Where Does PowerHouse Live? Each new version of PowerHouse is distributed in its own group, such as DD501F or PH506C, in the COGNOS account. You are expected to put the new version into production by copying the files into the CURRENT.COGNOS group. Cognos provides a program for this copy function. However, some users leave the software in the distribution group. Where Are the UDC Files? UDCs are User-Defined Commands; they combine a large number of command steps into one simple command, making it convenient to access tools such as PowerHouse. There are at least two sets of UDC files for PowerHouse. By default, each set looks in a different group of the COGNOS account: PHUDC assumes production software is in the CURRENT group DDUDC assumes production software is in the DD501F group In addition, most PowerHouse modules have an option to link to HP's DICTIONARY/3000. This Cognos option is called QDDR. When you have this option, you must choose between these two alternative UDC files: PHRUDC assumes production software is in the CURRENT group DDRUDC assumes production software is in the DDR501F group For PowerHouse 5.01, these UDC files are found in the DD501F or DDR501F groups. PowerHouse 5.06 does not discriminate between QDD and QDDR; the UDC files are PH506UDC (assuming software is left in PH506C) and PHUDC (assumes software is copied to CURRENT), and they are both found in the PH506C group. As a QEDIT user, you should look at the file phudc.catalog.robelle for sample PowerHouse UDCs that work well inside QEDIT. These UDCs are designed for PowerHouse version 5.01, without QDDR, and assume the CURRENT group. Program Filenames When PowerHouse is shipped as a production version, the name of the Quiz program is always the file QUIZ, regardless of whether it is in the PH506C group or the CURRENT group. When PowerHouse is shipped as a beta-test version, the name of the Quiz program would be QUIZ in a group like PH506B (the B is for beta). File Equations PowerHouse currently supports FILE equations to specify names of program modules, dictionary files, and help files. For example, here are two FILE equations that work with QUIZ 5.01: FILE QSHOW=qshow.current.cognos {program file} FILE QCOBLIB=qcoblib.current.cognos Old filenames usually remain the same, or go away. Sometimes new names are added. In version 5.01, these names were also valid: FILE COGMPE = xxx {program to execute MPE commands} FILE COGSORT = xxx {program to sort with more stack space} FILE COGHELP = xxx {help program} FILE COGHLIB = xxx {help data file} In version 5.06, Cognos added COGEDITR to define a text editor for the REVISE command: FILE COGEDITR = QEDIT.PUB.ROBELLE Because FILE equations are not available on non-HP computers, Cognos may, in future, replace the use of FILE equations with other ways of specifying filenames (e.g., INFO=string or Variables in MPE XL). Summary of UDC Changes QEDIT users should usually make three changes to the PowerHouse UDCs to make them work better from within QEDIT. First, add a new parameter source for the source filename. QUIZ source,info=" ",vers=current The default UDCs always prompt you for the source filename. This change allows you to do quiz * to invoke QUIZ on the current workfile. Second, add these options to the INFO= string: auto=!source suspend udc=$catalog AUTO= causes PowerHouse to process the !source file parameter without prompting you. Note: AUTO= can also be used to invoke a "compiled" binary file. :quiz source >build binary >exit :quiz binary Typically, this is used for menu options from QUICK screens. SUSPEND causes PowerHouse to suspend when it returns to QEDIT instead of terminating. By default, PowerHouse always terminates completely, forcing you to re-RUN and re-initialize each module each time you need to use it. With SUSPEND, QEDIT can "HOLD" the module until you need it. You will find it much faster to get back into the PowerHouse module on subsequent requests. The UDC=$CATALOG option causes PowerHouse to respect your UDCs. Third, add this file equation to select QEDIT for the REVISE command (5.06 or later): file cogeditr=qedit.pub.robelle QUIZ QUIZ is the original PowerHouse module and the one you are most likely to have on your system. It is a report writer and can read source files that are in QEDIT format, as can all of the PowerHouse modules. The most convenient way to use QUIZ is to live in QEDIT, edit your QUIZ programs, then invoke QUIZ to compile and test the reports. You invoke QUIZ using the UDC that you modified, as above, for use from within QEDIT. When you exit from QUIZ, you are returned to QEDIT where you can correct your source program. The first time you use QUIZ, QEDIT will ask if you want to "hold" onto it. Answer "YES". :run qedit.pub.robelle /set udc phudc.catalog.robelle /open source /visual /quiz * {* = current source module} {QUIZ compiles and executes your report, then exits} QUIZ.CURRENT.COGNOS is still alive. Okay to HOLD [no]? YES Here is the UDC from the PHUDC file for QUIZ 5.01 modified for QEDIT: QUIZ source,info=" ",vers=current comment version 5.01, modified for QEDIT source file file qshow=qshow.!vers.cognos file qcoblib=qcoblib.!vers.cognos file cogsort=cogsort.!vers.cognos file coghelp=coghelp.!vers.cognos file coghlib=coghlib.!vers.cognos file cogmpe=cogmpe.!vers.cognos run quiz.!vers.cognos;info="auto=!source udc=$catalog & suspend !info" reset qshow reset qcoblib reset cogsort reset coghelp reset coghlib reset cogmpe *** There are three other UDCs in the PHUDC file for other versions of QUIZ. These have also been modified for use in QEDIT: QUIZP privileged-mode QUIZ, faster serial reads GRAPHICS QUIZ with graphics commands GRAPHP priv-mode version of graphics QUIZ If you are using QDDR, you will need to transfer these changes to the file PHRUDC. [Next Month: QDD, QUICK, and the other PowerHouse modules] Robelle Products: Problems, Solutions, and Suggestions MPE XL Compatibility All Robelle programs run on MPE XL in Compatibility Mode. All programs may be Object Code Translated (OCT'd) for additional performance. (OCT chokes on Qedit 3.7. Call the office for Qedit 3.7.1 if required.) QEDIT Version 3.7 and 3.7.1 Using R9 to Insert Blank Space. When entering a lot of new text in VISUAL, it is tiresome to keep pressing INS LINE for each new line. To insert a block of 10 blank lines for the next paragraph, press INS LINE, CURSOR LEFT twice, type "R9", and press ENTER. This will replicate nine copies of the blank line after itself (as well as updating the paragraph you just finished entering). Repeat after each paragraph. Posting Changes and % Commands. When using the MPEX-Hooked version of QEDIT, % commands are intercepted by the Hook and executed. As a result, QEDIT never has a chance to post to the disc the changes to your current file, and the % command may process an out-of-date file. Solution: disable this feature of the Hook and use SET EXTPROG in QEDIT instead. Luckily, VESOFT has provided such an option, which retains the other nice features of Hooked programs, such as super-redo. The command is: %hook qedit.pub.robelle;nopercent DBAUDIT Version 1.9 Recovering Lost Lambs. You can repair accidental deletions of records with DBAUDIT's EXTRACT command (new in 1.9) and the SUPRTOOL program. First, create an MPE file with the lost records from the logfile. If you know the program, user, or device responsible for the loss, you can select it specifically, thus restricting the amount of output to just your desired records. :run dbaudit.pub.robelle >input log001.dblogold.sys >extract database,setname,exfname {define extract file} >list calls delete {only DELETE transactions} >list fields fields {only the IMAGE data fields} >select program query.pub.sys >xeq >exit :run suprtool.pub.robelle >base basename,1 >input exfname=setname >put setname >xeq >exit *c1950a200b5g2P*p-50Y Fortune Cookie of the Month Tractor Feed - A mechanism which allows your printer, and its co-conspirator, your computer, to waste virtually infinite amounts of paper.