One of the nice things about writing this Test Drive column is that I often get the opportunity to evaluate new products for the 3000 market. Invariably, some of the products are unique, provide a much needed capability and have a real chance to be successful. INFOWIN/iX is one of those products.
What is INFOWIN/iX?
INFOWIN/iX can give a face lift to terminal/host applications on the HP
3000 by adding a versatile pop-up window capability. It operates equally
well with character mode or block mode (VPLUS) applications, serial or
network connections, and terminals or PCs running terminal emulators. In
addition to supporting simple message and radio button pop-up windows,
INFOWIN/iX can also be used to provide detailed HELP on any field in the
form of a multi-page pop-up window.
It can also retrieve information from an IMAGE database, KSAM, or MPE flat file, sort it and present it to the user as a pick list in a pop-up window. The user can then review, select, or print from the window. When selected, the value is returned to the application, where it can, for example, be inserted into a field on the screen.
INFOWIN/iX supports five types of pop-up window operations: PRINT, MESSAGE, SELECT, TEXT and DATA.
The INFOWIN/iX PRINT function brings up a window that allows you to select a printer and print characteristics. It then performs the equivalent of a PSCREEN to the selected printer, with one important extra: it also prints the function key labels.
The MESSAGE facility accepts text from your application and displays it in the form of a pop-up window overlaid on top of the current screen (Figure 2 contains an example of a pop-up message overlaid on top of a text message).
After the user reads the message, the window is cleared and the portion of the screen that was covered is restored. This feature is useful for brief HELP or ERROR messages.
SELECT allows you to implement a pop-up window with selectable radio buttons (See figure 3).
The tab or arrow keys can be used to highlight the desired "button." The RETURN key selects the highlighted button and the value is returned to the application program for action. SELECT text and button labels can be stored in an INFOWIN/iX database or dynamically passed at run time.
TEXT is stored by the INFOMAIN program in an INFOWIN/iX defined database along with coordinates for positioning and sizing of the window. You set this up ahead of time. Each text window is uniquely identified by a process identifier and an entry number from 1 to 9999. Typically, the process identifier relates to an application program or screen, and the entry number relates to a specific field on a screen. When you enter the text through the INFOMAIN program, you enter it into the window as it will appear when displayed. Figure 1 provides an example of a multi-page text window. This feature is particularly useful for adding detailed HELP to an application.
The DATA window (pick list) function is by far the most complex and powerful feature of INFOWIN/iX. Again, as with TEXT data, you define the size and location of your window with the INFOMAIN program. You also specify the database, KSAM file or MPE file where the pick list data exists. In the case of IMAGE databases and KSAM files, you also define the key. If the data is numeric or represents a date, you can define an edit mask for the display. With INFOWIN/iX you can even define computed items (both numeric and string). INFOWIN/iX is so powerful that, in most cases, the developer will not need to add any special code to generate even complex multi-page pick list windows.
Installation
INFOWIN/iX uses the standard approach of:
Documentation
INFOWIN/iX is a new product from a small organization. As usual under these
circumstances, the documentation takes the minimalist approach, providing
basic definitions, a few screen shots and some COBOL code snippets. More
examples are needed, such as how to use the pick list feature, the most
complex part of the product. It would also help if the source for a
complete, working program was included with the product.
Test Drive Experience
To use the SELECT (radio button), MESSAGE and PRINT screen features, you
need only add basic code to your programs. To use the TEXT data and pick
list (DATA) features, you also need to create and populate a database with
pop-up window definitions and the text data to be displayed or the
calculation rules and data source for the pick lists. The database can be
site, application or even program-specific. The program INFOMAIN maintains
the INFOWIN/iX databases (and, by the way, uses most of the pop-up window
features as part of its user interface). The actual code that handles the
screens is contained in an XL that you reference. The product was designed
to work with COBOL and, in fact, has not been used with any other language.
It includes three files, one a working storage area and the second a
procedure division, both of which should be added to your copy libraries
and included in your programs. The third file is an NMOBJ file that
contains a subprogram that provides the initial entry point for the main
INFOWIN routine (This appears necessary only if you are using COBOL -- see
below). This file must be added to an RL or XL that your systems regularly
use.
Since I try to avoid COBOL at all costs, at least for interactive screen-oriented programs -- no flames please, it's just a personal preference -- I had to blaze new trails if I was going to test the product. Making the exercise more exciting, the best test programs I had were SPL programs running in compatibility mode! I figured if it can work here, it can probably work with any language.
I was able to successfully use INFOWIN/iX from my compatibility mode SPL program by calling the INFOWIN procedure (switching to native mode in the process) from the INFOXL.PUB.INFOWIN XL with the HPSWTONMNAME CM intrinsic. Of course, I had to also convert the COBOL working storage area to SPL (as far as the INFOWIN procedure is concerned, this is just a byte array passed by reference) and the INFO-CALL-WINDOW COBOL procedure to an SPL procedure. (No more than a passing knowledge of COBOL is necessary.) In discussing my plan with the developer, we determined that the NMOBJ module is necessary only when using COBOL. The bottom line is that INFOWIN/iX should work with any language that can call an XL procedure and pass by reference a storage area.
Conclusion
INFOWIN/iX is well worth considering if you have VPLUS or character-mode
applications that you want to enhance with pop-up window support. Once you
get past the minimal documentation, you will find the product easy to use
and performs quite impressively. At HP WORLD '96 in Anaheim, HP committed
to adding a form of pop-up window support to VPLUS. INFOWIN/iX has greater
capabilities, works equally well with character mode applications, and is
available now.
John Burke is a longtime HP 3000 columnist and contributing editor to the 3000 NewsWire, editing our net.digest column. John has 18 years experience on the HP 3000, works as systems manager for Construction Computer Center, and can be reached at tcdn96a@prodigy.com.
INFOWIN/iX runs only on MPE/iX systems. It is currently only validated to work with COBOL. However, it should work with any language that can call an XL procedure and pass by reference a storage area. Silton is interested in talking to anyone willing to create (for an appropriate discount) the interface (storage definitions, call sequences and examples that can be incorporated into the product) to other languages.
The full product is priced at $3,000. A version supporting only message and radio button pop-up windows is priced at $500. A demonstration copy is available upon request.