Previous Issue Index Next Issue

What's Up, DOCumentation? 1999 # 3


July 1999


To: Users of Robelle Software

Re: News of the HP 3000 and of HP-UX, 1999 #3

What You Will Find in This News Memo:

HP World '99

Robelle at HP World ’99

Free Training and T-shirts

We look forward to seeing you in San Francisco this year at the HP World ’99 Conference and Expo, which will be held at the Moscone Center on August 15 - 20.

Once again, Robelle will be conducting short training sessions in our booth (#1815), immediately on the right as you enter the main exhibit hall. Each session will last approximately 15 minutes, followed by plenty of opportunity to ask the presenter questions.

Attendees of our in-booth training sessions will receive a free T-shirt. For a schedule of topics and times, see the enclosed information sheet or visit the Robelle@HPWorld ’99 Web page (

Win a Great Prize

When you stop by the Robelle booth, make sure you get a ticket for our prize draw on Wednesday, August 18th at 1:30 p.m. We have three great prizes to give away:

  1. First prize is the Dragon Naturally Speaking Mobile software, featuring continuous speech recognition;

  2. Second prize is a Canon Laser Scanner (FB 620P) featuring high quality scanning and simple set up; and

  3. Third prize is Print Master Platinum software, which includes over 150,000 images and 25,000 photos.

[Marie Reimer]

Up to Table of Contents

Qedit logoNewly Integrated Tools Offer MPE Users Complete Windows Solution

Robelle is pleased to announce that our Qedit for Windows client/server editor is now integrated with Bradmark Technologies’ MPE Command Center. The combination of MPE Command Center and Qedit for Windows provides MPE users with a complete Windows-based solution to handle everything from system administration and file system management to text and data file editing and source code development. No longer do HP 3000 IT staff need to learn the intricacies of the MPE environment—MPE Command Center and Qedit for Windows bring an unprecedented ease-of-use to HP 3000 administration and programming.

Robelle and Bradmark have agreed to a joint demo distribution program, whereby both companies will provide each other’s software on their demos. The two client/server products are highly compatible for those customers seeking a Windows-based solution for administrative and programming work on the HP 3000. Commencing mid-August, Qedit for Windows will be the default editor for MPE Command Center demos. Likewise, all Qedit for Windows MPE demos will include Bradmark’s Command Center, giving demo users the option to look at both products.

If you’re attending HP World this year, you can view both Qedit for Windows and MPE Command Center at the Robelle booth (#1815). Similarly, Bradmark will be demonstrating the integration of the two products at booth #1401.

About MPE Command Center:

MPE Command Center is comprised of the MPE Command Console and the WinMPE command interface. The Command Console allows IS Administrators to monitor all their systems enterprise-wide from a single Windows NT server or workstation, either locally or remotely. The WinMPE command interface provides a Windows GUI for managing accounts, groups, users, and files via drag-and-drop functionality. More details at

About Qedit for Windows:

Qedit for Windows is Robelle’s client/server editor, which edits host HP 3000 and HP-UX files as well as PC and PC network files from a Windows-based GUI. Qedit for Windows is highly scaleable in its ability to handle both small and very large files and in its performance across both local office networks and remote connections. For more information, see

[Nicky Gunther]

Up to Table of Contents

Suprtool logoSuprtool Training

Next Course

The next Suprtool training class will be held on September 9 - 10 in Albany, Oregon at the offices of Lund Performance Solutions. The instructor will be Mike Shumko.

This two-day class is $800 per person. To sign up, contact Robelle at 1-888-762-3553 or send e-mail to

New Certified Trainer

Robelle has recently certified a second Suprtool trainer. Jeff Kubler specializes in performance consulting and capacity planning for HP 3000 and HP 9000 sites. He can be contacted at Kubler Consulting (541) 745-7457.

For more information about Suprtool training, visit

Up to Table of Contents

HP’s New Secure Web Console

We recently purchased a new HP 9000 server. Designed for ISP and enterprise applications, it is an A180 with a "pizza box" format that can stack up to 20 servers on a single rack. As it is unlikely that sites would want to maintain a set of 20 consoles, the machine comes equipped for both a serial and a "Web Console."

At the back of the CPU, there is an external SCSI port, a serial console port, and two network ports (one 10/100 for general network traffic, the other with a pre-set IP number for Web console duties). After ensuring that the IP number doesn’t conflict with other devices on a network, the network cable is plugged in, and the port can be accessed by typing its IP number on the URL line of any Java-enabled Web browser. This fires up a set of configuration screens that accept a new IP number, permitted users/passwords, as well as datacomm and network configurations (such as server and console names). Thereafter, typing the console’s name in the URL line of a browser brings up a login screen (assuming the name and IP address has been added to the DNS configuration).

After supplying a login name and password, a new page allows the selection of "Access Console," which invokes a Java script that creates a terminal emulator window:

web console

Selecting In/Out "detaches" the terminal part of the window, so that it can be maximized for legibility. Using password encryption, the remote Web server allows up to four (4) operators in different locations to manage a server via any Java-enabled Web browser. It also allows remote restarting of a server that is down. It works remarkably well, although the terminal functions use different key combinations that may take a bit of getting used to (Ins Line = CTRL-F1, Enter=F12, etc.).

This is a nice feature, which I expect to see in more HP servers in the future.

[Hans Hendriks]

Up to Table of Contents

Notice to Robelle Customers on HP-UX 9.x, 10.01 and 10.10

Since HP dropped support for HP-UX 9.x, we have put in motion a project to move our primary R&D to a new system running HP-UX 10.20. This gives us later versions of HP-UX development tools to work with, as well as Y2K compliance. However, it also means future versions of Qedit and Suprtool for HP-UX will be compiled with the HP-UX 10.20 libraries. As a result, future versions of our products will no longer be compatible with HP-UX 9.x, 10.01 and 10.10.

After conducting an informal poll of our customers and distributors, we found that this should affect only very few of our users.

Although we will retain binary copies of the current versions of our software for older versions of HP-UX (for those customers who may need to run the software on older systems), these versions of our products will no longer be enhanced.

[Hans Hendriks]

Up to Table of Contents

The Y2K Corner

Y2K Gotcha!

One of the gotcha’s that I ran into during our Y2K conversions involved the !HPYEAR variable. This variable, which currently holds the numeric value 99, is used in a number of command files that build up a date field. For example,

setvar upddd "!hpdate"
if !hpdate < 10 then
   setvar upddd "0" + str("!hpdate",1,1)
setvar updmm "!hpmonth"
if !hpmonth < 10 then
   setvar updmm "0" + str("!hpmonth",1,1)
setvar upddate "!hpyear" + "!updmm" + "!upddd"

This example generates a 6-digit date variable called Upddate (e.g., 990715). Next year, however, when the !HPYEAR variable holds the numeric value 0, all occurrences of the above code will generate a 5-digit date (e.g., 00715).

We already pad day and month values of less than 10 so that they have a 2-digit format. But we had a number of command files that did not pad the year. For those situations, an alternative solution would be to replace the HPYEAR variable with the HPYYYY variable, which resolves to a 4-digit year (e.g., 1999 or 2000).

[Robyn Rennie]

Suprtool logoSuprtool and the Y2K Problem in a Nutshell

As most programmers know, the two main problems with dates that have 2-digit years can be summarized as follows:

  1. Selecting dates using relational operators (e.g. <, <=, >= or >) may not find the correct records. For example,
  2. >if  history-date <=  "010101"

    will not find any dates from the 1900s, such as 991231, 631122 or 411207.

  3. Sorting records based on dates that span the century puts 21st century dates before 20th century dates.
before sort             after sort by date

Record 1 980704 Record 3 000101 Record 2 991231 Record 4 031031 Record 3 000101 Record 1 980704 Record 4 031031 Record 2 991231

Both problems can be solved by using the new $stddate function that comes with Suprtool version 4.2.

If you still have dates with 2-digit years, please check out our extensive Web pages at

[Paul Gobes]

Robelle Increases Service Level for Y2K

We have been working for some months on a strategy for helping our customers through the much-anticipated Y2K period. One aspect of our Y2K planning has been to determine the staffing levels that we will need around year-end.

We expect an increase in call volume in the first week of December when people encounter the "+30 day" processing, as well as the last week of December with "+7" days. After a busy first week or two in January, we expect it will start to slow down. Robelle Technical support people will be working extra shifts for full 24-hours-per-day and 7 days-per-week coverage, as required. Additional people will also be on call during these peak days.

Knowing that you will already have a lot of things to think about at year-end, we just want to assure you that Robelle will be here to help you if you need us.

[Kerry Lathwell]

Up to Table of Contents

MPE/iX 6.0 Now Bundles Java

More and more useful Internet tools are now being bundled with MPE/iX. One such tool is Java, the popular programming language that is increasingly being used in production environments. With MPE/iX 6.0, Java can now be installed with one additional step in the installation process. See the Java/iX Installation Instructions in the MPE/iX 6.0 Release 6.0 System Software Maintenance Manual for details.

Writing Your First Java Program

If you have installed Java, you might want to try writing a sample program. The following example shows you how to write a "Hello World!" program in Java. First, type these lines into your favorite text editor:

public class HelloWorld
public static void main(String[] args)
      System.out.println("Hello World!");

Note that capitalization in Java is significant, so everything must be spelled exactly as shown above. In Java, there are close associations between file names and the class names used in the source code. Save your program as the file name:


You can compile and run your Java programs from the CI prompt. But because Java is case-sensitive, including file names, we suggest that you compile and run your program from the POSIX shell. To compile this class from the shell, enter

javac HelloWorld.Java

After a successful compilation, the class HelloWorld is created in the file:


To run this sample program, enter

Java HelloWorld

and it should print

Hello World!

Note that we did not include ".class" in the name of the class that we specified to Java. In fact, if "HelloWorld.class" had been specified, it would have resulted in the error "Can’t find class HelloWorld.class."

More about Java

It is exciting to see such a modern programming language as Java become available as part of MPE/iX. For more information about Java on the HP 3000, visit

[David Greer]

Up to Table of Contents

Setting Up Your Own Intranet May Be Easier Than You Think

You may not want to connect your HP 3000 to the whole Internet, but there are many good reasons for starting a Web server and allowing your users to access local company information through a Web browser on their desktop PCs.

Here at Robelle we use our intranet for both administrative and project management purposes.

Our internal Web site offers access to numerous resources: R&D and MIS projects, meeting agendas, weekly status reports, internal procedures manuals, service rosters, company artwork library, style guides, PC COE configurations, FAQs on commonly used software, department statistics and activity notes, reports of interesting business trips, etc.

Managing projects was the reason why the WWW was first invented by CERN in Switzerland. It lets various members of a team see and update a project, which is especially useful if your team is as spread out as ours (we have project members in Vancouver, Surrey, Alberta, Montreal, Anguilla and the United States). It’s a great way to collect design notes, modifications, schedules, checklists and have all the members update the status of a project.

Installing a Web server on your HP 3000 is easier than you may think. It took me less than 30 minutes to get the Apache server up and running on one of our HP 3000s.

The following steps describe the general process:

  1. Create the Apache accounting structure.
  2. Download the Apache binary and directory structure.
  3. Uncompress the downloaded file.
  4. Modify the configuration file to name your HP 3000 server.
  5. Modify the time zone in the server job stream.
  6. Stream the server job stream.

That’s it!

You can get more detailed instructions at the Jazz Web page:

Your server Web pages will be stored in the POSIX namespace. But don’t worry—both Qedit and Suprtool can easily handle these files.

[Paul Gobes]

Up to Table of Contents

Qedit logoIdentifying Nonprinting Characters

The following question came to us from the support mailbox:

I have a QEDIT file that is displaying a "?" at the beginning of some lines. I understand that this indicates that the line contains nonprintable characters. How can I get QEDIT to display the data so that I can determine what the data is?

The best way to display the data is by using QZMODIFY as follows:

  1. The Visual screen with an unknown character in the line will resemble the following:

        Start of file  1 QED21739.PAUL.ACCOUNT "Z"(U) Hint: Type ?f7 for Help
                    ^ unknown character
    //  ....+....1....+....2....+....3....+....4....+....5....+....6....+....
  2. Press F8 to exit Visual mode.

  3. Set modify to QZMODIFY.
/set mod qz
Qzmodify: use Control-Q in the Modify Command for Help.
  1. Now modify the line in question.

Qedit will display the line, but the cursor will not be underneath the line, it will be on the line.

Press the spacebar until the cursor is directly on top of the line with the mystery period, then press Control-W followed by a question mark (?).

1     sadlkfjslkdj.flkfjkl

Qedit will then display the data:

ASCII character code = #25 , %000031, $0019

In this case, the character was a decimal 25 = octal 31 = hex 19. Press the Return key to get out of modify mode.

1     sadlkfjslkdj.flkfjkl

If you need to change this character, then use Set Decimal On and single quotation marks to isolate the decimal 25. For example,

/set dec on
/c '25  "#"  1
1     sadlkfjslkdj#flkfjkl
1 line changed

[Paul Gobes]

Up to Table of Contents

Suprtool logoNew $Days Function in Suprtool

Suprtool 4.2.50, available now as a pre-release, has a new $days function that converts any valid date to a number. At first glance this might not seem useful, but this function addresses a number of enhancement requests from users that want to select records based on the number of days between two dates. The canonical case would involve selecting records in which one date is within (or not within) n days of another date.

Example #1: Selecting records in which the delivery was more than a week after the order

get       order-dataset
item      order-date,date,mmddyy
item      deliv-date,date,mmddyy
if        $days(deliv-date) - $days(order-date) > 7

The $days function converts each date to a number. If a date is not 100% valid, then the number generated by $days will be zero. In the example above, what is the deliv-date when the item has not yet been delivered? It’s probably blank or zero, or has a special flag value, none of which are valid date values. The resulting calculation would be "zero minus $days(order-date)," which would yield a large negative number that would not qualify for selection. On the other hand, if records have a valid deliv-date but an invalid order-date, they would be selected. It’s up to you to build the logic that will account for all cases. Hint: You can use the $invalid function to look for invalid dates. For example,

If not $invalid(deliv-date) and not $invalid(order-date) and &
       $days(deliv-date) - $days(order-date) > 7

Example #2: Extracting the number of days between two dates

get      order-dataset
item     order-date,date,mmddyy
item     deliv-date,date,mmddyy
define   difference,1,8,display
extract  difference=$days(delivdate)-$days(order-date)

The difference field will have the number of days between the order-date and the deliv-date. Where the two dates are the same, the difference will be zero. If there are any cases in which the deliv-date is before the order-date (possibly the result of a data entry error), the difference will be a negative number of days.

Example #3: Extracting the "age" of records

The $days function operates on fields in the input record. Therefore, to get the "age" of a record (defined as the difference between today’s date and a date stored in the record), you need to get today’s date into the record. As the following example demonstrates, this is easily accomplished in two passes:

Pass #1: Adds today’s date to the order records

get       order-dataset
item      order-date,date,mmddyy
define    todays-date,1,8,display
item      todays-date,date,ccyymmdd
extract   order-date
extract   todays-date = $today
extract   other fields as needed
output    foo,temp,link

Pass #2: Extracts the "age" of the orders

input     foo
define    age,1,8,display
extract   age = $days(todays-date) - $days(order-date)

This pre-release of Suprtool, version 4.2.50, is the first enhancement release since the 4.2 push distribution earlier this year. Customers with support can get a pre-release by contacting Robelle or their distributor.

Information on current and upcoming releases of Suprtool can be found on the Web at

[Mike Shumko]

Up to Table of Contents

Suprtool logoNew Range Selection of Non-Collating Dates

For many years you have had the ability to select records based on today’s date. For example, to select all orders within the last thirty days:

get order-dataset
item order-date,date,yymmdd
if order-date > $today(-30)

If the format of the date field is non-collating, (i.e., it does not lend itself naturally to greater-than and less-than comparisons, such as dates that start with day or month), then you can use the $stddate function introduced in Suprtool 4.2:

get order-dataset
item order-date,date,mmddyy
if $stddate(order-date) > $today(-30)

[Mike Shumko]

Up to Table of Contents