Previous Issue Index Next Issue

What's Up, DOCumentation? 1997 # 2


March 1997


To: Users of Robelle Software

Re: News of the HP 3000 and of HP-UX, March 1997

What You Will Find in This News Memo:

Robelle is 149 Years Old, in Dog Years

In the previous issue of What's Up DOCumentation? we announced that this is our 20th anniversary year. Over the years we've built a reputation for providing reliable software with excellent support, documentation, and service. This is not so much an indication of product longevity, as it is a testimonial to a process of continual improvement.

In the next few issues of our newsletter we'll share with you some of the lessons we have learned, and how we have implemented them.

Technical Support, the Robelle Way

We believe we cannot claim to sell quality software products unless we have implemented systems that enable our customers to make the best use of our products. That is why a significant portion of our effort involves providing ongoing service to our customer base. This effort takes two forms: In addition to the wide range of experience available through our technical support consultants, our staff constantly upgrades their skills through training programs that cover new technologies (RDBMSs, Networking, Windows NT, the WWW, etc.). This training often enables us to assist our customers with problems relating to other software products and environments.

Our technical support infrastructure is built around accessibility to and interaction between technical resources within the company. Every tricky call is logged in our support database, and it is immediately circulated to all the technical people within the company. If we cannot provide an immediate answer to the question, the database entries determine the priority of R&D's ongoing work for bug fixes and enhancements.

We believe an iterative process of ongoing improvement has been the major contributor to our reputation as a reliable and responsive provider of quality software. Hans Hendriks

Up To Table of Contents

Qedit for Windows

Creating A Client/Server Editor

Qedit for Windows is our upcoming Microsoft Windows editor that lets you edit local, MPE/iX, and HP-UX files from a single MS Windows program. Qedit for Windows (QWIN) currently consists of a Windows editing client and an MPE/iX or HP-UX editing server. The two work together to edit your host files for you.

When we were first designing QWIN, we evaluated the following methods for doing client/server processing:

  • Download the entire host file to the PC. Edit the file locally on the PC. When you are finished with your changes, upload the entire file to the host.
  • Download the entire host file to the PC. Edit the file locally, but only upload the changes to the host.
  • Create a smart scheme that interacts between the client and the host. Download only the parts of the file that need to be visible on the client. Upload changes to the host as the changes are made. The third approach is much more difficult to implement, but it has many advantages over the first two schemes:
    • You can start editing as soon as you open the file. No waiting for a complete file to download.
    • Network traffic is minimized. This makes editing over a modem a pleasure. Congested networks are not overwhelmed by the extra network traffic of a client/server editor.
    • Changes made locally in the MS Windows client are reflected on the host immediately. If the connection is lost or the local PC fails (due to a power failure, MS Windows aborting, or some other reason), the changes are still available on the host.
    • The caching code that is required for editing host files can also be used for editing local files. This allows the MS Windows editor to edit files that are much larger than the amount of physical memory in the PC. The result is excellent performance.
    Like host-based "Classic" Qedit, Qedit for Windows provides excellent performance. We achieve this performance by using a dynamic scheme to transfer only the minimum amount of data needed by the client program. When you open a file with QWIN, only a screenful of data is sent from the host to the client. This allows you to start editing immediately. When you cut and paste data from one host file to another on the same host, the cut-and-paste is done entirely on the host, without having to send the lines to QWIN and back again.

    QWIN is a true Microsoft Windows application, incorporating all the features of the Windows GUI that you want in an editor. QWIN is not a port of "Classic" Qedit's Visual mode from Qedit/3000 or Screen mode from Qedit/UX. QWIN is totally new, developed especially for MS Windows users.

    For more information, visit our Qedit for Windows Web site:

    David Greer

    Up To Table of Contents

    SmartDate: The Robelle Smart Date and Time Library

    SmartDate is a library of routines that programmers can call to do date conversion, arithmetic, editing, and manipulation. Not only can SmartDate convert and edit dates in a variety of formats, it is fully compatible with year 2000 dates.

    SmartDate can convert a date from one format to another, while providing editing capabilities during the conversion. For example, you can use it to apply a cutoff year to dates that do not include the century. SmartDate routines are callable from 3GL and 4GL, such as COBOL, FORTRAN, C, Pascal, Quick, and Transact.

    SmartDate routines have been in Robelle's internal products for years. These tried-and-true, fully-debugged routines are sure to save you time and money.

    Up To Table of Contents

    What's Up @ Robelle

    ABC's of Suprtool and Beyond

    Although Suprtool can be simple to use, knowing its full capabilities can help you create better solutions for your data problems. In a one- or two-day training course, we can show you how Suprtool can increase your efficiency and teach you better techniques to handle your data. We can bring the course to you, or you can come to our office just outside Vancouver, B.C. in Canada.

    This training course will teach you just about everything there is to know about Suprtool: preparing data for importing into other databases or applications on almost any platform, speeding up 3GL and 4GL applications and reports, linking multiple datasets, creating dynamic HTML pages, handling year 2000 issues, and much more.

    Up To Table of Contents

    Robelle Calendar of Events

    IOUW Conference

    Stop by and say hello to François Desrochers and Nicky Gunther at Robelle’s vendor booth during International Oracle Users Week, which will be held April 27 - May 1, 1997 in Dallas, Texas.

    A Visit to IPROF

    Since the conference's inception, Robelle has attended the annual Cupertino Interex PROgrammer's Forum, also known as IPROF. This year Neil Armstrong made presentations at a uple of the Special Interest Group (SIG) meetings. From an HP 3000 programmer's viewpoint, IPROF is probably the best conference to attend because it is an opportunity to network with peers, to talk one-on-one with HP 3000 Lab people, and to influence R&D directions.

    Surprisingly, attendance at the conference was down this year. It may have been due to rceptions that information can be retrieved easier and more cost-effectively through the nternet than in person. Or perhaps travel budgets were tight. Although the Internet is a great source of information, talking face-to-face with your peers about their experiences can give you valuable insights to your own projects.

    One cool thing that every attendee got this year was a swap tape, which contained complete versions of shareware, such as the Apache Web server, Perl for the HP 3000, and lots of software demos from different vendors. The following description of IPROF is based on Neil's report on the conference. (Note: Neil couldn't get to all of the talks because two different sets of presentations were held simultaneously.)


    Neil introduced Suprtool and announced that Suprtool now supports Allbase databases. He discussed and explained the implementation (Open, Select and Form commands), and mentioned sort performance. He also described some other 4.0 enhancements and the ability to generate HTML from data, which prompted several questions from the audience. SigCS (Client/Server)

    As a result of mentioning the HTML feature in STExport during his SigAllbase talk, Neil was invited to SigCS, where he explained the HTML feature of STExport. There were several uestions and good discussions. He ended by holding up the IPROF freeware tape and mentioning that you can create dynamic Web pages with Perl, Apache and Suprtool. From all accounts, we are the first member of the HP community to offer HTML capability.


    Neil suspects that because those who attended SigWeb had already been to SigAllbase and SigCS, this talk seemed a bit flat with little interaction. At the beginning of the meeting Rick Gilligan from Case asked the following questions:

    How many people do not have an e-mail address 0 people
    How many people do not have Web access 0 people
    How many people do not have a Web page 13 people

    Of the 13 people without Web pages, most were planning to create one. Most of the people also wanted to learn how to create dynamic Web pages.


    BOF(Birds Of a Feather)/Unix turned into a discussion of the Gnu compilers on MPE and POSIX Smoothing, which is the tighter integration of MPE and POSIX. A new SigPos/iX was formed. See HP3000-L for more information.

    SigJava Hosted by Mike Yawn and Gavin Scott

    Mike Yawn and his team are very close to getting the Java Virtual Machine (VM) 1.1 ported. GSY is also heavily involved on a Java port for the HP 9000. Mike plans to leverage forward some of their work.

    The way threads work on MPE/iX currently limits the number of allowable connections to the Java VM to 35. The Java workspace is a fixed size of 5 MB. If you want to learn about Java, Mike considers Java in a Nutshell by O'Reilly the best book. In terms of Internet/Interoperability, it is interesting that some of the big news about the HP 3000 involves one or two people projects.

    • Java - Mike Yawn; a two person project
    • Samba/iX - Lars Appel; a one person project
    • TurboIMAGE scalability - makes sure the performance of accessing TurboIMAGE database can keep up with hardware speed
    • Year 2000 Support New intrinsics to handle dates and conversions. Bradmark is coming out with a new IMAGE to Sybase gateway. Gnu C++ compiler support from HP was a big topic during SigMPE. Look for some endorsement from HP to have Orbit do the technical support.
    • General Issues MPE/iX and related subsystems, CI Commands (DATE parameters), CI Variables, PLUS
    • FTP enhancements - ability to transfer all MPE/iX file types, hash command tracks progress
    • Support for larger networks - multiple default gateways, unlimited number of other gateways and default network routes
    • Customer Delight - The focus appears to be what customers have been asking for. Some enhancements are being worked on, others are completed:
      • Multiple independent job queues
      • Altjob w/HIPRI option
      • LISTF, access
      • New OS date manipulation intrinsics
      • VPLUS scrollable picklist
      • New string functions in Allbase/SQL (UPPER,LOWER,POSITION,TRIM)
      • HPCobol II and Transact enhancements
    1997 1998 and Beyond
    New Products 9 GB disk drive, fast/wide DLT tape support, EMC Symmetrix 3430 fiber channel disk arrays (higher throughput disk I/O and disk drives can be 10 km away from CPU), DLT library, improved media management
    Planned OS Releases 1997: MPE/iX 5.5 Express releasesIMAGE/SQL enhancementsVPLUS enhancements (scrollable picklists)32-bit ODBC 1998: MPE/iX 6.0Year 2000 safe NT interoperablilty (Samba iX)Improved system limitsPerformance tuning

    Up To Table of Contents

    Robelle Products: Problems, Solutions and Suggestions

    Dynamic Duo: Suprtool and the Web

    You've got a Web server running on an HP-UX or MPE/iX machine. Your users are clamoring to get their data and reports from their Intranet. You remember hearing, "If it's on paper it's dead", so you need to come up with a solution that is dynamic, easy to maintain and implement, cost effective, and alluring. You may already have all the parts to your solution!

    The Common Gateway Interface (CGI) feature of your Web server allows you to execute custom programs or scripts, and to dynamically display Web pages. These custom programs and scripts can be written in almost any programming language. Perl is probably the most commonly used language, but you can use C or C++, COBOL, SPL, FORTRAN etc. Form1

    We don't necessarily need Java, ActiveX or any other client-based solutions; we only need Suprtool and some software that came with your HP-UX box. If you are running an HP 3000, you will have to go out and get some freeware, such as Perl and the Apache Web server. You'll also have to learn a little more about HTML (Hyper Text Markup Language) to do some form processing.

    We've put together a few examples on our Web pages to show you how Suprtool can run from a Perl script on an HP-UX machine accessing an Allbase database. Because the sample scripts are a few hundred lines long, we decided to leave them on our Web site for you to browse. The URL to check out is

    Here's a synopsis of how the example works. An input form is declared as part of the HTML document This form contains the definitions of radio buttons, text fields, etc., whose values will get sent to the server together with the name of the script that will process the data.

      <FORM METHOD="POST" ACTION="/cgi-bin/">
      <input type="radio" name="tablename" 	value="inventory">Inventory
      <INPUT TYPE="submit" VALUE="Send Request">
    Pressing the submit button causes the values of all the input tags to be sent from the client to the server, and then to the Perl script as arguments. (The Perl compiler has some great built-in string manipulation routines!) The input data is edited, and the script containing the Suprtool Run/Call/Extract is invoked. In our example, Suprtool opens an Allbase database and dumps a table to a self-describing file. With the simple command HTML TABLE, STExport converts the file into HTML. The Perl script then checks the Suprtool return codes and sets the browser location to the output file, which displays the script's output. Voila! Form 2

    There is a lot more you can do with CGI scripting and Suprtool. You can pass parameters to extract information out of different tables or sets in your database, specify the sort sequence, and vary the selection criteria. And that's not all. All of the things that you have been using Suprtool for on your IMAGE, KSAM and flat file data can now be output n a Web browser. Users can view their reports on the Web, perhaps saving on paper. And you won't even have to write a user interface. François Desrochers and Ken Robertson

    Up To Table of Contents

    Fixing a File by Un-Fixing It

    A Qedit user called with an interesting problem. He had a large data file that was used as input to a program. The input records had many trailing blanks, so he thought he could save a lot of disc space by converting the file to variable-length records instead of fixed-length records. His first attempt at converting the file was not successful. He had used FCOPY to convert the file from fixed- to variable-length, but the file didn't take any less space. It seems that FCOPY did not strip the trailing blanks.
    :listf fixfile,2
    ACCOUNT=  DEV         GROUP=  MIKE
    FILENAME  CODE  ------------LOGICAL RECORD-----------  ----SPACE----
                      SIZE  TYP        EOF      LIMIT R/B  SECTORS #X MX
    FIXFILE           200B  FA       13982      13982  20    10928 33 32
    :build varfile;rec=-200,1,v,ascii;disc=123456
    :fcopy from=fixfile;to=varfile
    :listf varfile,2
    ACCOUNT=  DEV         GROUP=  MIKE
    FILENAME  CODE  ------------LOGICAL RECORD-----------  ----SPACE----
                      SIZE  TYP        EOF      LIMIT R/B  SECTORS #X MX
    VARFILE           200B  FA       13982     123456   1    12288  9  *
    Because the customer had Qedit, we used Qedit to convert the file from fixed- to variable-length:
    /t fixfile; set keep var on; keep varfile; exit
    13982 lines in file
    13982 lines saved
    :listf varfile,2
    ACCOUNT=  DEV         GROUP=  MIKE
    FILENAME  CODE  ------------LOGICAL RECORD-----------  ----SPACE----
                      SIZE  TYP        EOF      LIMIT R/B  SECTORS #X MX
    VARFILE          1276B  VA       13982        514   1     2576  8  8
    Qedit stripped the trailing blanks from each record. The file was now significantly smaller than the original file. But the user's application program choked on the file because the file label no longer described the file as a 200-byte file. Qedit assigned its own record length and blocking factor, which the user has no control over. The third attempt was successful, combining both Qedit and FCOPY:
    /t fixfile
    13982 lines in file
    /set keep var on
    /keep foo
    13982 lines saved
    :build varfile;rec=-200,1,v,ascii;disc=123456
    :fcopy from=foo;to=varfile
    :listf varfile,2
    ACCOUNT=  DEV         GROUP=  MIKE
    FILENAME  CODE  ------------LOGICAL RECORD-----------  ----SPACE----
                      SIZE  TYP        EOF      LIMIT R/B  SECTORS #X MX
    VARFILE           200B  VA       13982     123456   1     4096  5  *
    Ta-dah. The variable file was now significantly smaller than the original fixed file, while still retaining the original record length and blocking factor. n Mike Shumko

    Up To Table of Contents

    How to Calculate your Age in Dog Years!

    How the heck did we get come up with the figure of 149 dog years for Robelle's age? I bet that that is the burning question on everybody's dogs' lips.

    Here's the algorithm as supplied by Ken's veterinarian. (Yes, Ken is overdue for his distemper shot...)

    The first dog year is worth 16 people years.
    Every subsequent year is counted as 7 years.
    So...20 people years is 16 + (19*7) dog years, or 149 dog years. Woof!

    Up To Table of Contents

    Previous Issue Index Next Issue