Shawn M. Gordon
MIS Manager at Talin Tire Inc.


After seeing ad’s for DataExpress for I don’t know how long, I finally decided to give them a call in early December to see what their software was all about. DataExpress is a report writer that also combines PC downloading capability that is very similar to that offered in SheetMate by Hillary Software (which I also reviewed). This means it will convert your reports into the native format of what you are downloading to, such as Lotus, WordPerfect, dBase, etc.. This is a nice combination, the only PC download option that I have seen on other report writers is the ability to create a comma delimited report, which is no big trick.

Several years ago I reviewed various end user report writers for a company that I was working for. It ended up being a tight race between EasyReporter from SpeedWare Corp. and VisImage from Vital Soft. We ended up getting EasyReporter for various reasons. At the time I was unaware of DataExpress so this is my first look at it. Since I am painfully aware of what most other report writers are capable of (at least in ’89) I should be reasonably qualified to perform a decent review.

The software was tested on an HP3000 series 70 with 12 meg of main memory, 3 gig of disk space and 60 on line users. I am running MPE V platform 2P and I used Probe from SSI to measure system performance. Now on to the review.


Of course the first thing to do is to run the user program. The software use’s a character mode interface as opposed to a V/Plus type block mode (thank goodness). Help is available at all levels, you can get a short summary by typing a single ? and detailed help by typing ??. I actually used this method to put my first report together in about 1 minute without reading the manual at all. I have to say that this boded well for the rest of the review.

The first thing to learn is that DataExpress refer’s to reports as ‘procedures’, so the main menu has five options;

1: DISPLAY procedure catalog

2: RUN an existing procedure

3: CREATE a new procedure

4: MAINTAIN an existing procedure


The function keys are all loaded with the menu choices, so you can either
use the function keys or enter the menu option.

Choosing option 1 will allow display all the procedures ‘reports’ that are in the selected catalog. You can have catalog’s stored in many groups and accounts if you wish, but the catalog name is always “DX0ECAT”. Once you have selected the catalog you can select the procedure you wish to see by either entering the name or using wild cards. You can also just hit return to list all the stored procedures in the current catalog.

Listing procedures just displays the name, description, type, access, and create date. Make sure you write down the name of the one you want to play with because I was unable to find a method of selecting from a list of stored procedures when I selected option 2 to RUN a procedure. It would have been nice to maybe reverse the order of how it worked so that you could display and select a procedure and then pick to RUN or MAINTAIN it.

Option 3 (CREATE) is where DataExpress really starts to shine. The wide range of dictionary support is amazing. I will just display the menu so you can get the idea yourself;

1: Use DataCatalog definitions

2: Use HP DICTIONARY definitions

3: Use PowerHouse QSCHEMAC definitions

4: Use HP IMAGE root file definitions

5: Use FILE definitions
A: ENTER your own file definitions
B: Use File-Definition (FD) file
C: Use Self-Describing (SD) file (QUERY)
D: Use PowerHouse subfile
E: Use DataExpress subfile


As you can see, there is an enormous capability to interface to just about any type of data descriptor that you could want. In my first report attempt I pointed the software at a QUERY SD file, and it worked perfectly, I was very impressed. Ok, so let’s create a little report to see how difficult it is, first I would like to mention that I found dealing with my large data base and larger QDD dictionary was a bit cumbersome due to the fact that I had no control over how the member entries were displayed. With about entries in each it was tedious paging through the member’s to find the records I was concerned with. It would have been nice to have an option to display both record layouts and items within a record in sorted order.

The software will display all entries in the selected input file that you have access to. If you aren’t going after a dictionary or root file then this will obviously be a limited list. You select record layouts by choosing the number of the selection that DataExpress assigns to it. You can separate your selections by commas, or use a / to get an inclusive range, i.e., 5/12, or specify ‘ALL’ to select all records. This logic is identical in the item selection phase as well.

You can create computation fields, edit fields, add fields and files etc…
A neat feature in the computational fields is it’s ability to concatenate character strings by ‘adding’ them together. The only confusing thing here is you have to use the number assigned to the field in the computation instead of the field name. So when you look at the computation it can be a little confusing.

You then get to select your output fields using the same type of logic used for selecting input fields. You can then specify sort fields, and summarization fields. If you select fields to prompt information for they will be prompted for at execution time.

There is a clever way to do exception reporting by specifying a negative linkage. So you could report everything in record 1 that wasn’t in record 2.

Once you have run the report you will be asked if you would like to save your procedure it so you can run again later. If you respond yes and no catalog exists in your current location, the software will build one for you. It’s nice of them to handle that automatically for you.

There is a staggering number of output formats that can be specified, I will just display the menu as I did for the input options. All the formats should be pretty self-explanatory.

Output file format options
1: Report Listing 11: Visicalc 21: SD ASCII file
2: DataExpress subfile 12: Multiplan 22: BINARY file (MPE)
3: HPListKeeper 13: dBase PRN format 23: ASCII file (MPE)
4: HPWord 14: R:Base 24: EBCDIC file (IBM)
5: HPDeskManager 15: WordPerfect 4.2 25: KSAM file
6: HPEasyChart 16: WordPerfect 5.0 26: KSAM SD file
7: HPDraw 17: PowerHouse subfile 27: SYLK format (Excel)
8: HP DSG 18: SPSS-X file 28: Lotus WK1 format
9: Lotus PRN format 19: DIF file 29: dBase DBF format
10: Lotus WKS format 20: SD BINARY file 30: Graphics

Did I mention that you can also generate graphs? Well you can, I didn’t have the necessary equipment to view them so I didn’t generate any.

There is a pretty comprehensive Administrator function that can be used to control who run’s what and get’s access to what data. The layout of the config tables is a little archaic, I understand this is going to change completely under their next major release (the product is being re-written from SPL to C). They are also working with WRQ to use their PPL so that DataExpress will run under MS Windows. That should be pretty nifty.

Usability (also installation)

Although the installation consisted of the standard restore of a job to PUB.SYS and then streaming it, I was disappointed that I was unable to locate the installation instructions anywhere in the package that was sent to me. I looked at the beginning of the manual, the table of contents and the index at the end. Since most install’s are the same I finally just took a chance and did a restore of @.PUB.SYS. Since the file list that was included with the tape showed that there was a file in PUB.SYS on the tape it seemed like a reasonable chance to take.

I did appreciate the fact that they didn’t install NM versions of their software on my system with the CM stuff. Since NM programs are so much larger it is a huge waste of disk space to install both on my 70. The software used slightly over 18k sectors of disk space which seemed entirely reasonable to me. I also liked the fact that the software saved and restored your function keys for you. Always a nice touch.


The software ran just fine, I did find that it was fairly easy to accidently loose a report that you were working on. It wasn’t always intuitive when you generated a report of how to switch to a different output format. If you were lucky you could recover what you were doing by saving the DXSAVE temp file that is generated when you put a procedure together. I never experienced the software working incorrectly or aborting.


Well they aren’t doing any tricks to improve performance like MR NOBUF reads or anything, so performance is about the same as writing a program for yourself. The software seemed to use a fair amount of intelligence when having to access joined data sets, and gave you a lot of control over how you might want to have the access work.

I found that the menu interface had a few quirks, such as going back to many levels when I only wanted to go back one, and the display got messed up periodically due to the way they are handling the escape sequences. Nothing major, but a bit of a nuisance all the same.

Supportability (including Doc)

The documentation that is included is a hefty 1.5 inches thick. It is well written and well layed out. My first support call was answered within one hour which seemed reasonable to me. My questions were always quickly answered and my bug reports were quickly logged. I wasn’t brushed off when I reported the bugs either, which seems to happen with the larger companies sometimes.


I would have to say that in general the software gives you a fair amount of power, while requiring a fairly minimal setup. While the software is menu driven and has help at every level, it also mixes in rather obscure codes to control linkages and formatting. Deciding on how to prompt for that type of information is never easy, and I can’t say if MBFA chose the best method or not. I just found it to be a bit cumbersome.

The Omnidex interface is nice, and once the third party indexing interface from HP becomes more widely installed they shouldn’t have any trouble with supporting Superdex as well. What I would like to see is an agreement between them and someone like RunningMate, Magic Software or Robelle to use their MR NOBUF file read routines and fast sort algorithms. This would give you an enormous performance boost when doing any sort of serial read. Currently it’s as fast as anything that you would write in a conventional language.

I wouldn’t recommend it as an end-user report writer per se, but if you have user’s that need information off the 3000 on their PC’s then this would be a good application for you to put procedures together for them and let them execute them when they were needed.

In closing I would like to mention that a new version should have been available for at least a few months by the time you read this. There is supposed to be quit a few improvements and upgrades in the new release.

At-a-Glance box

DataExpress version A.01.72-7
M.B.Foster & Associates
50 Water St.
P.O. Box 580
Chesterville, Ontario
Canada K0C 1H0
Phone 613-448-2333
FAX 613-448-2588
Call, write or FAX for more information or demo

Includes one 1.5″ thick manual. Price range for a standard bundle is $4,275-$18,225 and support is 15% or purchase price.

Good Points

Easy to use interface
Massive integration to just about any dictionary type including Query Save files.
Very good PC connectivity and formatting.

Bad Points

Can’t list procedures when running or editing.
Removing computed fields from reports is slightly cluedgy.
Slightly archaic interface