May 15, 1996
What You Will Find in This News Memo:
One of the users started passing a bad password when he changed his Suprtool batch job by moving the password from the Base command to the next line.
The original Base command looked like this:
base mybase,5,fooHe changed it to this:
base mybase,5,? fooThe actual database password was FOO, all in capital letters. In the original statement, the password is correct (FOO) because Suprtool upshifts the complete Base command. In the altered statement, the password is incorrect (foo) because the second line is not upshifted. When the user tried to open the database with an incorrect password, he encountered the IMAGE bug. Thanks to Cindy at DISC technical support for helping with this one.
With the newest HP-UX release, Suprtool/UX can access Oracle views, in addition to reading and writing data files with fixed-length records. Suprtool/UX now allows users to select and sort data from Oracle, and to link multiple tables into a single file for subsequent reporting or processing.
On both platforms, the new STExport module allows users to prepare data for export from their HP host to virtually any other application or operating platform, without having to write a custom program.
With Suprtool/UX, users get the best of many worlds. Oracle users benefit from the familiar SQL syntax for Oracle selections, while users migrating from MPE can use the same commands in HP-UX as in Suprtool/MPE. Users can choose between SQL or Suprtool Sort commands, using the one that gives the best performance. For example, by using Suprtool's Sort command instead of SQL's Select By clause, users can reduce their sort times by up to 75%. Because Suprtool sorts data up to four times faster than Oracle/SQL, CPU resources are freed up for other applications. As a result, users can get more work done in the same amount of time.
With STExport, users are now able to prepare data in formats that can be imported into applications such as spreadsheets, MS Access, and Oracle on such platforms as PCs and UNIX. Numeric data conversion gives users the flexibility to specify the target data-type (e.g., packed to real, binary to display) for programs that do not understand the data in its native format. EBCDIC/ASCII data conversion aids migration of data to IBM mainframes. New data values can be created from existing data using the new arithmetic functions. Furthermore, STExport offers users numerous formatting options. For example, users can customize date formats, decide whether to use a field delimiter, choose the actual field delimiter character, and remove trailing blanks from alpha strings.
Suprtool 3.8 is being shipped to all users who have an active support contract. Robelle charges the same price for all models of HP hosts, from the smallest Classic to the largest HP-PA processor. This one-price-fits-all policy means there are no upgrade fees between models. The optional Oracle/UX access module is available separately.
Throughout the world, thousands of MPE users have come to depend on Suprtool's reliability, speed, and flexibility for fast access to data in IMAGE/SQL databases, KSAM files, and regular disc files.
We have completed distribution to all Suprtool users in Canada and the United States. Our overseas dealers are now distributing Suprtool in their regions.
NECRUG Conference '96: Finding Solutions: Tying It Together;
Bally's Park Place in Atlantic City
Mike Shumko will give free Qedit and Suprtool training.
ORERUG Annual Conference; Gleneden Beach, Oregon
Bob Green will present his new Publishing A Book On The World Wide Web paper, along with both Qedit and Suprtool tutorials.
Midnight Lights International HP User Conference; aboard the
luxurious M/S Symphony cruise ship departing from Helsinki
David Greer will present his popular Client/Server, the Internet, and WWW paper and two tutorials. Contact the Finnish User Group (FINUG) to register.
HP WORLD '96 Conference and Expo; Anaheim,
This promises to be an excellent conference, with thousands of HP users sharing their experience, and hundreds of vendors showing off their latest products.
Bob Green presents his new paper, Publishing A Book On The World Wide Web: A Guide for Novices, which chronicles his experiences of putting the latest SMUG Book on the Web. Neil Armstrong's new paper, Intro to HP-UX for MPE Users, is a valuable lesson for MPE users who are planning to migrate to HP-UX.
As in past years, Robelle will be presenting many hours of free product training. This year's tutorials include the Qedit Master Class with Bob Green, where you get to ask questions of the author of Qedit and influence future Qedit directions; Suprtool Master Class with David Greer, where you get the inside story on Suprtool's latest capabilities, including Oracle and Allbase access; Migrating Data From MPE to the World, where Mike Shumko covers the details of Suprtool's newest module, STExport; Speeding Up Quiz Using Suprtool, with Hans Hendriks; and Qedit's Forgotten Commands, where Hans Hendriks takes you down memory lane. How Messy Is My Database in 1996?, presented by David Greer of Robelle and Alfredo Rego of Adager, promises to be standing-room-only. David will show how HowMessy can point out structural inefficiencies in your IMAGE/SQL databases, while Alfredo demonstrates how Adager can restore their performance.
Suprtool seems to be great for our purposes. We are the second largest private telephone company in Finland having some 150,000 customers. Our business applications, including call information handling and billing, are built using Cognos PowerHouse. We use Suprtool mainly to process the call information data for billing, reporting, and statistics. There are approximately 50 million records per billing period. A typical Quiz/QTP job that took 2 hours on our 987/200 is down to 20 minutes using Suprtool. Even with the most complex selection criteria Suprtool is 3 times faster. [Arvi Orell, Tampereen Puhelinosuuskunta Office]
WinHelp is easy to install. If you have the latest printed manual, the installation diskette should be in a pocket at the back of the manual. If you can't find the diskette, you can download the installation file from your HP 3000 or HP 9000 host system. See the installation notes in the regular on-line Help for details: >help install.
The first step of the instructions, where you stream the Robelle.Pub.Sys job, says that a second job will be launched by the first, and that you should wait for the second job to complete. There is now only one job, so you only need wait for it to complete before going to the next step. You also do not need to do the altacct command shown in the first step.Year 2000 testing of Suprtool and have discovered that Suprtool does not detect what is clearly an invalid situation.
Suppose you have a numeric date field in a yymmdd format, and you have a batch job that uses Suprtool to select all the records that have a date more than, say, four years in the future.
!run suprtool.pub.robelle >base db,5,password >item expire-date,date,yymmdd >get dataset >if expire-date > $date(*+4/*/*) >out myfile >exitThis job has been working fine for years. But now it has started selecting the wrong records, possibly selecting just about all the records in the dataset! This happens because of the way that Suprtool interprets $date (or $today). Suprtool resolves the $date parameter into a constant, then treats the command just as if you had entered the constant yourself. For example, if today is May 15, 1996, Suprtool would convert $date(*+4/*/*) into $date(2000/5/15), then it would format the constant to fit the defined date format. In this case the resulting command would be
>if expire-date > 000515This command would select just about all the records in the dataset, which is likely not the intended result. For this reason, we have decided that situations like this example should be treated as an error by Suprtool. That is, when Suprtool tries to force 2000 into two digits, it will produce an error message and stop the task.
We believe that this is the "correct" action to take, but we understand that this may cause some compatibility concerns for some users. We need to hear from them.
>get dataset >update >extract j2-date = j2-date + 19000000 >xeqThis would work for J2, K2, and P10 fields, but would not work for X6, Z6, or P8 fields, which do not hold enough digits. Don't forget to update your programs so that they recognize the century digits in the data.
The general syntax is EXTRACT target-field = source-field. The target and source fields can be existing TurboIMAGE items in the currently opened dataset (Get or Chain), items in a self-describing file, or Defined fields.
Character fields can be shortened or lengthened. If the target field is shorter than the source field, Suprtool fills the target field and drops the remaining characters from the source field. If the target field is longer, Suprtool pads the remaining positions with spaces.
Any non-character type field is considered numeric. Suprtool converts the source field to the target field type.
Assume that you have the following datasets:
order-header customer-num X6 order-num X6 display total-qty I1 2-byte integer total-sales P8 packed paid-status X2 paid-amt I2 4-byte integer sales-history customer-num Z6 display order-num-hist I2 4-byte integer paid-amt I2 4-byte integer total-qty I1 2-byte integerTo include a converted field in the output file, you just extract it. In this example, the order-num is a 4-byte integer:
>get order-header >define order-num-disp,order-num,display >define order-num-int,1,4,integer >if paid-amt = 0 and paid-status = "N" >extract order-num-int = order-num-disp >output notpaid,link >xeqIf you want to update a field with the value of another field in the same dataset, use the Update command before the Extract command.
>get order-header >if paid-amt = 0 and paid-status = "Y" >update >extract paid-amt = total-sales >xeqIf you want to create new records in a different dataset, you can combine the Extract and Put commands. The Extract command must have all the fields of the target dataset in both the right format and sequence.
>get order-header >define order-num-disp,order-num,display >define order-num-int,1,4,integer >if paid-status = "Y" >extract customer-num >extract order-num-int = order-num-disp >extract paid-amt = total-sales >extract total-qty >put sales-history >xeqWhen using the Define command to create different types of fields for the output file, the starting position is not important. It is the correct length and type that is important. The position in the output record is determined by the sequence of fields in the Extract command.
Truncation errors can occur when Suprtool converts from nonfloating-point to floating-point. The accuracy of arithmetic computations is limited to approximately sixteen digits. Suprtool may truncate four-word integers (quad), or large packed-decimal or display numbers when they are converted to floating-point. Suprtool does not produce any error or warning in this case.
When the target of an extract conversion is a packed- or display-type field, Suprtool always converts positive values to a neutral packed- or display-value. To make sure that the result of a positive expression remains a positive value, use the $signed function:
>extract packed-field = $signed(int-field))
Random permanent workfiles are the answer to both of these situations. You can force Qedit to always use them by adding set work random on to your Qeditmgr configuration file, or you can use the Info parameter on the Run command without the Parm parameter.
:run qedit.pub.robelle;info="filename" :run qedit.pub.robelle;info="-p 3" :run qedit.pub.robelle;info="-c visual filename"There is one drawback to this solution: these random workfiles get purged when you exit Qedit. The temporary Qeditscr workfiles, however, do not get purged until you end your MPE session, so your workfile is available if you rerun Qedit.