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: September 8, 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 #7 What You Will Find in This News Memo: News Tidbits Ten Programs Compete for $2500 Award Technical Tips About Robelle Linking PowerHouse with QEDIT, Part II Robelle Products: Problems, Solutions, and Suggestions News Tidbits 700/92 Firmware Lockup. A user site recently had a firmware lockup on a 700/92 terminal. The screen displayed `Port 1 Error 1', the keyboard did not respond, and switching the machine off and on did not change the situation. A call to HP resulted in having them hold down the `d' key (for `default') while powering up the terminal. The terminal then resumed normal operation. Another fix would be to remove the battery from the terminal. This operation apparently requires thirteen paper clips to hold some piece in alignment while the battery is removed and re-inserted. Not for the faint of heart. Another weird thing has been happening on their 700/92. After a power fail, the RETURN key is sometimes stuck ON. They'll come in to work and see columns of colons marching off the top of the screen. Little-Known Forms of Address. Senator: Your Platitude Representative: Your Ineptitude Earl: Your Earliness Basketball player: Your Altitude Viscount: Your Viscosity Duke of Earl: Oh wo-wo-o yi-yi-yi-i-i :SHOWOUT # Does Not Work on MPE XL. We mentioned that SHOWOUT # would show the spoofles for all jobs and sessions, but that is only true for MPE V, not MPE XL. Ten Programs Compete for $2500 Award INTEREX and ROBELLE held a contest this year for the best new contribution to the HP 3000 library. Robelle Consulting Ltd. is putting up a prize of $2500 for the winner, who will be selected by Bob Green, President of Robelle, from among ten finalist programs selected by the INTEREX library committee. The criterion for success in this contest is: "most incremental value to the HP 3000 installed base." Factors that will be considered in determining the winner include "new functionality provided by the program, generality of appeal, reliability, quality of documentation, and installation ease." These are the ten contributions that made the cut: CURVPLOT Plots x,y data on graphics terminals and plotters. by Jobst Brandt, Hewlett-Packard Labs FQ Fast-Query report writer. by David Hurst, Reliance Electric Company LIBUTIL Stores many MPE files in one file (i.e., a library). by Mats Halvarsson, Sweden MAIL Electronic mail system. by Gary Dietz and Kevin Kelly of Whitman College, Washington FORMPEEK "Peek" into VPLUS forms files and fast forms files. by Otis Whitehurst, Vermont Housing Finance Agency NULLITEM Finds and fixes IMAGE (i.e., binary zero). by Charles Glenn, Germantown, Maryland ENFORCER Forces password changes and validates access to ports. by Gary Dietz and Kevin Kelly of Whitman College, Washington PASSUTIL Ages user passwords and forces password changes. by David Hurst, Reliance Electric Company (rewrite) SPELLCK Spelling checker with dictionary. by Brent Davis, E-Systems, Salt Lake City HPFUTIL File inquire/update utility for MPE/KSAM/IMAGE. by John Archer, General Tire Co., Akron, Ohio These are all high-quality programs and will be extremely valuable to many HP 3000 users. Release F0 of the contributed library, which is being distributed now, contains all ten finalists, plus many other 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). The winner will be announced on Monday night during the Robelle "harbor cruise" party and the award will be presented Thursday, just before the Hewlett-Packard Management Roundtable. Technical Tips Invalid Numeric Digits. Recent issues of the Oklahoma Users Group Newsletter have contained entertaining articles on writing a program to find invalid packed-decimal (COMP-3) fields. First Colin Schmidt published a COBOL program to check fields, then David Kingsella took the program apart in print and put it back together, and Colin replied to the criticisms. Finally, David Kingsella noted "Having done all of that, I turned to page 8-18 of the new COBOL-II Reference Manual and discovered that you can use the `IF NUMERIC' class test on a packed numeric field, thus eliminating our need to code a subroutine to accomplish this feat." We must remember to read our user manuals more often. Linking PowerHouse with QEDIT, Part II Last issue we discussed how PowerHouse is accessed on the HP 3000 and how best to access the QUIZ module from QEDIT. This issue we go on to QDD, QDESIGN, QUICK, and QTP. The QUIZ UDC last issue would be better if it had a FILE equation for the source file, as shown below in the UDCs for QDD, QDESIGN, and QTP. "No Data Dictionary": QSCHEMA and QDD When you run any PowerHouse tool, it expects to find a data dictionary (i.e., the QSCHEMAC file or DICT/3000). You create a binary QSCHEMAC file (code is 640) from a source file using the QDD program. In this example, schema is the dictionary source file: :run qedit.pub.robelle /set udc phudc.catalog.robelle /open schema /QDD * Here is the QDD UDC from PHUDC, modified for QEDIT: QDD source,info=" ",vers=current comment PowerHouse 5.01 file qsource=!source file coghelp=coghelp.!vers.cognos file coghlib=coghlib.!vers.cognos file cogmpe=cogmpe.!vers.cognos run qdd.!vers.cognos;info="auto=qsource udc=$catalog & suspend !info" reset qsource reset cogsort reset coghelp reset cogmpe **** When running other PowerHouse modules, there are three ways to point to the data dictionary: 1. :FILE QSCHEMAC = xxxx You could add this MPE command to each UDC. But because this method is not portable to non-HP computers, Cognos may be phasing :FILE commands out over time. We suggest method 2 or 3 instead. 2. :RUN quiz;INFO = "DICT=xxxx" This method works on all platforms and makes sense when you have only one dictionary. If you are planning to do more than one application, you will probably end up with several dictionaries, since that simplifies maintenance. In this case, use method 3. 3. >SET DICT xxxx This command appears in the source code of each PowerHouse program. This is the best method when you can't point to a unique dictionary in the UDC. Quick QUICK, the PowerHouse screen-handler, is composed of two programs: QDESIGN to translate a screen-layout source file into a binary screen file, and QUICK to execute the screen file. Only the original source file can be a QEDIT file, so there is no need to add AUTO=!SOURCE to the QUICK UDC, only to the QDESIGN UDC. Once you have compiled a screen, the GO command in QDESIGN will invoke QUICK to test it. Here are the UDCs for QDESIGN and QUICK, modified for use inside QEDIT (the changes are underlined): QDESIGN source,info=" ", vers=current comment UDC to compile Quick 5.01 screens comment The source file may be a QEDIT file. file qsource=!source file quick=quick.!vers.cognos file qshow=qshow.!vers.cognos file qcoblib=qcoblib.!vers.cognos file coghelp=coghelp.!vers.cognos file coghlib=coghlib.!vers.cognos file cogmpe=cogmpe.!vers.cognos run qdesign.!vers.cognos;info="auto=qsource udc=$catalog & suspend !info" reset qsource reset quick reset qshow reset qcoblib reset coghelp reset coghlib reset cogmpe **** QUICK info=" ",vers=current comment UDC to execute a 5.01 Quick screen or application comment There are no QEDIT input files here! file cogmpe=cogmpe.!vers.cognos run quick.!vers.cognos;info="udc=$catalog suspend !info" reset cogmpe **** These UDCs are from version 5.01. For 5.06, an extra FILE equation is needed to specify QEDIT as the COGEDITR. Remember, QUICK accepts compiled screens, which have a file code of 641. It does not accept raw screens in QEDIT format. QUICK also accepts run-time parameter files, called "QKGO files". These are binary files with the code 650; they tell QUICK which screen to start with and what options to use. These cannot be QEDIT files either, although they can be passed in as targets of the AUTO= parameter in the QUICK UDC. QTP QTP is the volume transaction processor of PowerHouse. The language is like QUIZ, but supports updates also. Here is the QTP UDC from PHUDC, modified for use from QEDIT: QTP source,info=" ",vers=current comment PowerHouse 5.01, accepts QEDIT source file file qsource=!source 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 qtp.!vers.cognos;info="auto=qsource udc=$catalog & suspend !info" reset qsource reset qshow reset qcoblib reset cogsort reset coghelp reset coghlib reset cogmpe *** [Next issue: Native-Mode PowerHouse and other useful tips.] Robelle Products: Problems, Solutions, and Suggestions New Versions of MPE Reminder. When you receive a new version of MPE from HP, you get new versions of the HP compilers and of the system SL. You may need to `re-qedify' your compilers or re-install Speed Demon or SUPRTOOL2 into the system SL. Qedifying the Compilers. If you compile Qedit files (filecode = 111) or compile the currently-texted file (:compile *), you will need to re-qedify the HP compilers. This is done by streaming one of two jobs. Which one needs to be streamed depends on where you keep the qedified compilers. If :LISTF @.Q.ROBELLE shows some compilers (e.g., COBOLII, SPL, FTN, etc.), then stream QEDITJ1A.JOB.ROBELLE (isolated installation). If the :LISTF shows only QEDIFY and QPUSL, then stream QEDITJ1.JOB.ROBELLE (integrated installation). See the QEDIT Installation Manual for details on integrated versus isolated. This doesn't apply to Native Mode compilers on MPE XL. NM compilers cannot be qedified. Speed Demon. If programs suddenly start giving unresolved external references for SPDEDBINIT, SPDESCAN, SPDESHUT, SPDEERROR, or SPDEEXPLAIN, you need to re-install Speed Demon into the system SL. Stream DEMON.JOB.ROBELLE. SUPRTOOL2. If programs start getting unresolved external references for SUPRTOOL2, stream SUPR2JOB.JOB.ROBELLE. This re-installs SUPRTOOL2 into the system SL. New Cold Load Tapes. If you use QEDITJ1, DEMON, or SUPR2JOB jobs, you will have to create a new cold load tape. This is because these jobs make changes to the system SL, changes that would be lost with the next cold load, unless the changes are saved on a new cold load tape. You don't have to make the cold load tape right away; you can wait until the users have gone home. And if you stream more than one of these jobs, you can wait until after the last one to make the cold load tape. SUPRTOOL Version 3.1.1 and 3.1.2 Adjust Batch Jobs for Holidays. In automating production batch jobs, it would be very nice to know, at the MPE command level, whether today is a holiday (or yesterday or tomorrow). You can do if hpday = 1 then to check for Sunday, but you can't do if hpday = holiday then. Everyone has his own schedule of holidays. Here is how we cope with this problem in our backup job, using SUPRTOOL to compare yesterday's date to a list of holidays for the year: !comment Occasionally the backup is not run. This is usually !comment because of holidays, when nobody is in the office. !comment There is a file, SKIPDAYS.STREAMS.PROD, which !comment contains a list of dates in YYMMDD Ascii format. !comment Because the backup runs after midnight, it checks if !comment YESTERDAY's date is in the file. If it is, the JCW !comment SKIPTODAY is set to 1 (done using the SUPRTOOLOUTCOUNT !comment JCW, which has how many records SUPRTOOL selected). ! run suprtool.pub.robelle input skipdays.streams.prod; out $null define skipdate,1,6 item skipdate,date,yymmdd if skipdate = $today(-1) exit ! setjcw skiptoday = suprtooloutcount !if skiptoday > 0 then ! tellop YESTERDAY WAS A HOLIDAY. ! tellop NO PARTIAL BACKUP TODAY. !else ! comment Insert the BACKUP commands here: ! comment STORE, etc. !endif The skipdays file is a regular 80-byte file with records in the following format: ----+----1----+----2----+----3----+----4 890102 Monday after New Years day 890327 Easter Monday 890522 Victoria Day (Canada) 890603 Canada Day 890807 Civic Holiday (B.C.) 890904 Labour Day 891009 Thanksgiving (Canada) 891225 Christmas Day 891226 Boxing Day (Canada) QEDIT Version 3.7 and 3.7.1 :REFLECT Commands from Batch Mode. The :REFLECT pseudo-MPE command in Qedit allows you to execute Reflection commands from UDCs, command files, and use files. This is also supposed to work from a batch job, but does not. A pre-release version of Qedit is available which corrects this problem. FTN A.02.00 Patch. A user has passed on this patch to fix a problem where the Qedified Fortran 77 compiler goes into a loop. It appears to this user as if HP has fixed the temporary file problem in this release: :hello manager.sys :run patch.pub.sys File? FTN.PUB.SYS ?M,32,10132 051404,140050 DBAUDIT Version 1.9 Pagelength Is Wrong. Version 1.9 of DBAUDIT has a bug that causes page breaks to occur at the wrong place. This problem has been fixed in version 1.9.1 of DBAUDIT. Here are two workarounds to the problem in 1.9: Set Pagenumbers Off Drop page breaks in the "Body", or :Run Auditold.Pub.Robelle Use version 1.8 of DBAUDIT. Version 1.8 is very similar to version 1.9, except that it is missing the new EXTRACT command. Since EXTRACT is used to generate standard MPE files, rather than reports, you can use version 1.9 for EXTRACT. If this causes you any grief, contact our office about getting a copy of DBAUDIT 1.9.1. QLIB Version 5.2 A frequent question in technical support is "Does such and such from the QLIB work on MPE XL?" Here is the current status: MPE-Only XL-Only Either MPE cmswitch x cookie x dbcheck2 x deskqed x equater x filerpt x howmessy x netxfer x nicepmap x prose x pscreen x qcopy x qhelp x routines x select x sue x tapedir x tdbcheck x *c1950a250b10g2P Fortune Cookie of the Month Don't ever let a machine know you're in a hurry.