From:
To: Users of Robelle Software
Re: News of the HP 3000 and of HP-UX, 1997 #5
[Paul Gobes]
The late August weather was perfect in the windy city. On Sunday, the opening day of the conference, an air show entertained the Navy Pier troops with jets screaming overhead. On Monday night at an HP 3000 25th anniversary party hosted by Hewlett-Packard, George Stachnik of HP took over Orly Larsen’s tradition of singing a song written for the event. George sang The Ballad of MPE, which described, in three-part harmony, HP 3000’s history from 1972 to the present. A number of long-time HP 3000 supporters were wearing silver lapel pins embossed with the words "MPE Forever." They had received the pins in the mail the week before the conference from an anonymous source. So far nobody has publicly claimed responsibility for this bit of MPE boosterism.
The hot topics this year were ODBC for IMAGE, Year 2000, and HP’s apparent renewed commitment to the HP 3000 platform.
A 32-bit ODBC driver for IMAGE/SQL called ODBCLink is already available from M.B. Foster Associates, with HP’s version scheduled for inclusion in MPE/iX 5.5 Express release 3 by the end of the year. Minisoft also has a 32-bit ODBC driver. DISC provides an ODBC driver to connect to Omnidex indexed databases. Computing Solutions was showing their Linkway ODBC driver.
Year 2000 readiness was a big issue for many users, and there was no shortage of solutions proposed. Talks and papers outlined a number of approaches, and a number of vendors were claiming that their products are Year 2000 ready. Allegro and SolutionSoft each offered new products that will allow programs to "think" the system date is any desired date, making for easy testing of Year 2000 readiness without actually changing the system date.
A common "complaint" from attendees was that there were too many good talks and papers being presented simultaneously, making it very difficult to choose among them. This may be one reason why a few vendors were disappointed with the low volume of people visiting their booths.
We at Robelle had no such complaint. Our new Qedit for Windows client/server editor and SmartDate Year 2000 products were very popular draws. At one point people were lined up six deep to get a look at the Qedit for Windows client demo stations, where we were connected over the Internet to our HP-UX and HP 3000 servers in Canada and Anguilla. The Internet connection was sometimes a bit slow, but Qedit for Windows came through like a champ, even when the connection was so bad that a normal terminal connection was too slow to be useable.
Robelle collaborated with Adager and DISC to show how the HP 3000 can be used for data warehousing, eliminating the need to move data from the HP 3000 to another database or platform. First we used Suprtool to load the data warehouse from operational data, then we used Adager to create the warehouse in a star or snowflake schema, and finally DISC’s new ODBC driver was used to extract the data quickly using any popular PC-based reporting tool.
Robelle technical staff presented a number of tutorials and papers on a variety of topics. Two of these were chosen by Interex to be in the Top 20 of HP World ’97. These twenty sessions were videotaped and will be collected on a multimedia CD-ROM set with full-motion video, sound, slide show, and full transcript and text retrieval. Interex should be releasing the CD-ROM package in a few weeks. The two Robelle sessions in the top twenty are Neil Armstrong’s HP-UX For MPE Users, and David Greer’s tutorial co-presented with Adager’s Alfredo Rego, HowMessy Is My Database? All the Robelle presentations are available for downloading from our Web site .
Next year’s conference will be in San Diego on August 2-6, 1998.
[Mike Shumko]
Over the past few months, some of you have visited the Robelle Web site to request a quotation for Qedit for Windows (QWIN) . Everyone who asked for a quotation was entered into the QWIN prize draw, which took place on August 14th. And the lucky winner is... drumroll, please...
Mr. Pat Hale, 3M Corporation (Aberdeen, SD)Pat will receive the Qedit for Windows HP-UX server module and two client licenses. Congratulations Pat!
Are Demos Available Yet?
This continues to be the most frequently asked question we’re hearing these days. After HP World, we went right into beta release of Qedit for Windows and by the time you receive this newsletter, the beta sites will be well underway with their testing. Our technical staff will be working overtime to keep up with beta feedback, and we anticipate full product release in November.
The sales department is keeping track of everyone who has requested a demo of Qedit for Windows, so don’t worry--as soon as regular demos are ready to ship, we will contact you.
[Nicky Gunther]
"What has become clear to WRQ, in discussions with Microsoft, is that in future versions of Windows 95 and NT, it will make TCP/IP a fully integrated and protected component of the base operating system environment. Because of this change, WRQ believes that while it is still possible to add value to the Microsoft kernel, it is now in the best interest of our customers to use what Microsoft provides in order to minimize risk and ensure a stable operating system."
WRQ added that they will continue to provide a 16-bit Windows TCP/IP stack and additional licenses for existing 32-bit stack customers who do not plan to move off Windows 95 soon. For those customers using the WRQ Windows 95 stack who plan to deploy Windows 98, or Winsock 2 dependent applications, we recommend you contact WRQ Tech Support for assistance with a smooth migration.
[Paul Gobes]
[Rosemary Van Poelgeest]
The B-Tree feature is implemented by creating a native-mode KSAM file in the POSIX domain. The file is created with the same name as the master dataset, but it has an .idx extension. If you implement B-Trees you should not store a database with the ;transport option because the B-Tree index file will not be stored.
Index maintenance is done through three new Dbutil commands:
Addindex database for [ All | Setname | Setnum ] RebuildIndex database for [ All | Setname | Setnum ] DropIndex database for [ All | Setname | Setnum ]A nice feature of the B-Tree implementation is that you can build the indexes without affecting any of your applications. Once you build your indexes Dbfind mode-1 will not take advantage of the B-Tree until you change a setting within Dbutil. In order to choose the B-Tree you must set BTreeMode1 to On. Although this setting is turned on at the root level, you can also change the setting programmatically via a Dbcontrol call.
Suprtool Support for B-Trees
Suprtool version 4.0.11 has been enhanced to take advantage of these B-Trees via the Chain command. Suprtool will also show any B-Trees that it can use through the Form command.
The Chain command has been enhanced to allow partial key retrieval for X and U items on the master dataset and implicitly on any associated detail dataset. For example,
>base cd.db.data,5,reader >chain a-songs,song-title="w@" >list >xeq Warning: Using DBGET for the input records >GET A-SONGS (289) >OUT $NULL (0) SONG-TITLE = we only come out at night >GET A-SONGS (56) >OUT $NULL (1) SONG-TITLE = where boys fear to tread IN=2, OUT=2. CPU-Sec=1. Wall-Sec=1.As mentioned, we can search a detail dataset by using the implicit B-Tree or by the search item that has a B-Tree attached to the associated master.
>chain d-songs,song-title="w@" >list >xeq Warning: Using DBGET for the input records >GET D-SONGS (37) >OUT $NULL (0) CD-NO = 2 CD-TITLE = Mellon Collie ARTIST = Smashing Pumpkins SONG-NO = 10 SONG-TITLE = we only come out at night >GET D-SONGS (28) >OUT $NULL (1) CD-NO = 2 CD-TITLE = Mellon Collie ARTIST = Smashing Pumpkins SONG-NO = 1 SONG-TITLE = where boys fear to tread IN=2, OUT=2. CPU-Sec=1. Wall-Sec=1.Form Command
The Form Command has been enhanced to show whether or not you have B-Trees that the Suprtool Chain command can use. Currently the Chain command will only use those B-Trees that have a type of X or U. The Form command will not show B-Trees that it cannot use, even if the B-Tree does exist.
The Form command will also report if a B-Tree is damaged and what the wildcard character is set to. The wildcard character is the character that may be used in order to invoke a partial key retrieval.
>form sets Database: CD.DB.DATA BtreeMode1 = ON Wildcard character : @ Set Item Entry Load Entry Sets: Num Type Count Capacity Count Factor Length B/F M-ARTIST 1 M i 2 211 3 1 % 75 4 A-SONGS 2 A i 1 307 41 13 % 20 16 A-CD-TITLE 3 A i 1 211 3 1 % 20 16 D-SONGS 4 D 6 1004 41 4 % 78 4 >form m-artist Database: CD.DB.DATA BtreeMode1 = ON Wildcard character : @ M-ARTIST Master Indexed Set# 1 Entry: Offset ARTIST X30 1 <<Search Field >> NOTES 2X60 31 Capacity: 211 (4) Entries: 3 Bytes: 150 >form d-songs Database: CD.DB.DATA BtreeMode1 = ON Wildcard character : @ D-SONGS Detail Set# 4 Entry: Offset CD-NO J2 1 CD-TITLE X40 5 (!A-CD-TITLE) <<Indexed >> SUB-TITLE X40 45 ARTIST X30 85 (M-ARTIST) <<Indexed >> SONG-NO J1 115 SONG-TITLE X40 117 (A-SONGS) <<Indexed >> Capacity: 1004 (4) Entries: 41 Highwater: 41 Bytes: 156[Neil Armstrong]
[Excerpt from "The Manager’s Intelligence Report"]
Recently I started editing on the Robelle servers, many thousands of miles away, instead of on my local servers. I use Reflection and a VT-MGR connection over the Internet. Early in the morning when I start work, the Internet is not very busy. I get about the same response time from a Qedit Visual screen in Reflection as a Qedit for Windows connection. However, about 11 A.M. in Anguilla the people on the US West Coast get to work and the Internet slows down. Eventually Reflection becomes almost unusable because the echo time for each character stretches into many seconds.
However, even at the slowest speed, I can still get a lot of programming done in Qedit for Windows. This is amazing, yet the reasons are quite simple. In a terminal session, each exchange of packets with the host system handles only one character when you are typing. In a QWIN editing session, all the user interface is done locally by the PC program and is not tied directly to the response of the network or the host server.
When Qedit for Windows does exchange packets, they contain a complete edit transaction (such as Delete 10 lines, Insert 5 new lines, Get 20 lines). Much more information is transmitted in each packet, so much less network bandwidth is used to provide a comfortable response time. Lines retrieved by Qedit for Windows are retained in a cache and can be repeatedly displayed without bothering the host; you don’t have to wait while the entire file is downloaded or uploaded.
Very neat for the very remote programmer.
[Bob Green]
Griffin Webster of Robelle’s Anguilla office was asked to find an automated test tool for Windows applications. He evaluated two products: Vermont HighTest and Microsoft/Rational Visual Test.
The criteria for selecting a tool included:
Both products were capable of doing the basic recording of test scripts and playing them back automatically against a new version of the software. Our results put Visual Test clearly ahead of Vermont HighTest in creating and managing tests, although it does cost three times as much ($600 versus $200). Visual Test comes with a run-time version that can be installed on any PC to execute tests, but not record or modify them. We considered this a very useful feature because we would like to run the tests on as many client platforms as possible.
[Excerpt from Bob Green’s paper "Converting Qedit to the Client/Server Model"]
If your connection is lost, however, scratch files still remain in the system. If you use the Text command on the file after losing the connection, you will get an "Error: In Use" message. To force a crash recovery, use the Open command instead of Text.
We recommend that System Administrators periodically delete scratch files that are older than about 10 days.
[Francois Desrochers]
One approach, in use at Redwood Health Services in Santa Rosa, CA, is to forget about Numrecs, and just use two Suprtool passes. The first pass selects the records without sorting them, putting the selected records into a file, then the second pass sorts the file. By default, the sort scratch file in the second pass is built exactly large enough for the number of records being read.
:run suprtool.pub.robelle >base mybase >get bigdataset >if {...selection criteria...} >output myfile >xeq >input myfile >sort key-field >output=input >xeqThe resulting file, myfile, has the selected records in the desired sequence.
[Mike Shumko]
The problem arises when you want both operations to occur together. SmartDate only allows one a time. The solution is to use the RobelleCutoffYear JCW to accomplish both tasks. Here is some sample COBOL code to find the days between December 28, 1999 and January 6, 2000.
move "281299" to from-datex6 move "060100" to to-datex6 move 0101 to rdt-from-type. move 01 to rdt-to-type. call "RDTCONVERT" using from-datex6 to-datex6 rdt-control if rdt-status of rdt-control = 0 then move rdt-aux-result to days-between display "Days between are : ", days-between.Don’t forget to set the JCW before running the program, otherwise you will get an error.
: setjcw RobelleCutoffYear 50Use this example to assume a century of 20xx for all dates that hold a value of less than 50 in the last two digits of the year.
[Paul Gobes]