From:
To: Users of Robelle Software
Re: News of the HP 3000 and of HP-UX, March 1997
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.
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.
When we were first designing QWIN, we evaluated the following methods for doing client/server
processing:
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:
http://www.robelle.com/products/qeditwin.html
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.
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.
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.)
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.
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.
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.
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.
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
http://www.robelle.com/support/examples.html
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.
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.
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.
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.
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.
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.
SigAllbase
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)
SigWeb
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
BOF/Unix
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.
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
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!
<FORM METHOD="POST" ACTION="/cgi-bin/sx_orders.pl">
<input type="radio" name="tablename" value="inventory">Inventory
<INPUT TYPE="submit" VALUE="Send Request">
</FORM>
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 sx_orders.pl 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!
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:
:run qedit.pub.robelle
/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:
:run qedit.pub.robelle
/t fixfile
13982 lines in file
/set keep var on
/keep foo
13982 lines saved
/exit
END OF PROGRAM
:build varfile;rec=-200,1,v,ascii;disc=123456
:fcopy from=foo;to=varfile
HP31900A.05.02 FILE COPIER (C) HEWLETT-PACKARD CO. 1990
*200*WARNING: FROMFILE RECSIZE IS 1276 BYTES, TOFILE RECSIZE IS 200 BYTES.
CONTINUE OPERATION (Y OR N) ?y
EOF FOUND IN FROMFILE AFTER RECORD 13981
13982 RECORDS PROCESSED *** 0 ERRORS
END OF SUBSYSTEM
: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
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.
Every subsequent year is counted as 7 years.
So...20 people years is 16 + (19*7) dog years, or 149 dog years. Woof!