Review of EasyReporter
Shawn M. Gordon
The Kompany


While EasyReporter has been around for a number of years it is certainly not the oldest end-user report writer on the market, and depending on who you are and what your opinion of the product is, it may not even be the best. It does however have
the distinction of being the only end-user report writer that I know of, that was actually written by an end user. For those of you who aren’t really familiar with SpeedWare and it’s 4GL, the evolution of EasyReporter is an interesting one.

SpeedWare (originally Infocentre) use to market a 4GL programming language called Reactor. One of their employees in the UK decided that they didn’t like having to write Reactor code, so using Reactor he put together an environment that would allow him to draw screens and reports and then generate the Reactor code for him. This eventually became Designer, which is one of the most powerful and popular aspects of the SpeedWare environment. Well, one of the early users of Designer decided that he didn’t like having to design reports for users in Designer since it was almost easy enough for the user to do it themselves, and he put together a system that would allow the user to do just that, and he did it in Designer. One day he called Infocentre and said “hey, you may want to look at this”, and he was promptly hired and the product became EasyReporter.

(My apologies if I got any of this story wrong).

This story attests to the original power of the Reactor language, and the innovation of it’s users. Now fast forward to the present. The Reactor language has been completely re-written and EasyReporter has also been re-written to take
advantage of all the new capabilities and psuedowindowing interface. I tested the software on a 922LX .

The help facility is very robust, as you can see from Sample 2 you can get an index of topics and scroll through them, or you can enter a search string to scan through the help and pull up the topic. Once you have located the topic you can then scroll back and forth through the text.


We first need to run the program so we can use it, you will want to use the UDC that is supplied since there are a lot of parameters that can be passed. See Figure 1 for example of the start up screen. You will always see this menu bar when you are using the program.

The first thing that must be done inside of EasyReporter, is to let it know about your file structures that you are going to want to make available to your users to write reports on. The different types of file structures that were available were;


Although you can use many different file types, some are easier to loadthan others. If you are going to load an IMAGE type file, EasyReporter will load all the data set’s for you (expect auto masters). If it finds a field that has the word ‘DATE’ in it somewhere, it will by default set it’s ‘type’ to a type ‘date’. I am not sure if it does the same thing with the various RDBMS’s that it supports, but it is
impossible to do with a KSAM or FLAT FILE because there are no field descriptors embedded in the file structure. This just means that you have to define the field names, start position and length within the record.

Once you have your various data structures loaded, you can assign the fields alternative names that will display for the user. It is the rare data base that can be displayed to an end-user, and have them understand what each field contains. You can also set up display defaults such as date, or formatting characteristics for fields that contain something like dollars.

Once you have all your customization done you can now go and create your own record types that are groupings or ‘views’ of various data. So for example, you could link some of the fields in your Customer Master, with a couple in your Order Header, and then link that to some fields in your Order Detail data set. The user would have no idea what is going on behind the scenes, they would just see it as another record they could select to retrieve data from.

There are many other configuration options, such as security levels and groupings. Access to reports based on time to run and time of day. Date types, the language, decimal type, skill levels, etc..

Ok, so now you have all your tables, and views, and users configured. You could now go even further and control what tables and views users have access to. This can be done by creating essentially a security profile class and assigning users to this class. You can control exactly what parts of the software will be available, and what they can do with it. Now we have everything set up and we are ready to turn the users loose on it, or in this case, me.

Designing a report couldn’t be easier, you select ‘Report’ from the menu bar, and then ‘New’ from there. You now get a graphical environment where you can select the file that you want. Once you have selected the file you will ‘tag’ the items within the file that you want on the report. My only complaint here was that I
didn’t see any way to select all the items without tagging each of them individually. You can select a ‘report type’ at this point that will give you a default output type. The choices that are offered to you as a starting point are;

Lotus 1-2-3 DDE
Lotus 1-2-3 WK1 file
Microsoft Excel DDE
Microsoft SYLK File
Microsoft Word DDE

One of he really sophisticated features that I saw was the use of DDE in the reports. You can select one of various styles for output. If you chose a spreadsheet then your report would be converted to a grid format like a spreadsheet. You can even set up the report so it runs constantly and feeds data into a spreadsheet that is displaying graphs, and have the graphs update in real time. In most cases this isn’t going to be a real good idea because of the overhead, but it is an interesting example of the use of DDE. It is important to note that they are taking advantage of the DDE within Reflection for Windows. I don’t know how it would work with other Windows based terminal emulators since I don’t know where the other emulators are at in terms of supporting Windows DDE. In other words, you need to be using Reflection as far as I can tell if you want to use DDE.

Actually you can define your own output record types entirely. The DDE, Standard, Delimited, etc., are offered as templates, but you are not limited to just them. This makes it very simple for the user to just grab the report type, and get what they want without having to worry about the mechanics of getting it there.

Now would probably be a good time to mention the Help facility. It actually works a lot like the MS Windows help facility in terms of it’s functionality. You can get an index, scan for keywords, page forward and backward, etc. Figure 2 has an example screen of what the Help facility looks like.

One piece of information that you want to make sure to remember, is whenever you get a menu item that has an , it means that you can get a selection list. This is a drop down list of valid values for this particular field. One of the nice conveniences here is that you can type in as much of the word that you are looking for that you want, and it will scan ahead to that point. This saves you some tedious scrolling.

Ok, so we have a report defined now, and we are free to modify the default layout (see figure 3 for an example of the report modification screen). This is where EasyReporter really starts to shine.

You can now graphically jump from field to field, change their positions on the report, modify edit masks, set up sort and control breaks, create calculated fields, modify field headings, etc.

What is nice here, is just how easy it is to create and modify your report. You literally don’t have to write any code at all. Your whole report is graphically represented, and you can now change (or not change) it, and see exactly what it is going to look like without running it. The creation of sort level’s, control breaks, summary and calculated fields is extremely easy. It’s always so tedious writing control breaks in a standard 3GL language.

The two main menu bar functions that you will be using here are ‘Field’ and ‘Edit’. One of the options under ‘Edit’ is ‘Move. When you move a field, EasyReporter will automatically move all the fields that are physically after it as well. In most cases this is appreciated, but sometimes you don’t want everything moving, and I couldn’t find a way to disable this particular feature.

Summary functions can be applied up to 10 levels deep, which is a heck of a lot of sorts. When you specify a summary field, you can specify one of the following functions as the type of summary;


Any of these can be selected just by marking off a box. You can even go into a configuration for each level break to specify things like special text, print totals, how many lines to skip before and after the break, etc.

Once you start to learn the different options on the menu bar you can start to stack your input so you don’t have to actually manuveur through all the menu choices. This is a great short-cut feature because it let’s you use the software anyway that is comfortable for you.

There is a line drawing option included, but it didn’t seem to print out. I think maybe it was more applicable for ad-hoc inquiry screens, which brings up an interesting point. When you create a report, you don’t just have to stream it and get a hard copy output. You can actually just supply key values and use it as a quickie inquiry screen generator. This option also fully supports Omnidex from DISC. It’s even easier to set up screens in here than in most straight 4GL’s.

Usability (also installation)

Well Speedware likes to come out and install the software and do a demo for you. This means I didn’t get to install it myself, but they didn’t seem to have any trouble with it.

The software is extremely usable and user friendly. After you spend about 30 minutes just bouncing around you start to get a good idea of how things are done.


I think that Speedware has maybe gone a little overboard on their beta testing. This stuff is so solid I can only think that they are doing beta’s for a year or so. It is really refreshing to work with this type of software, and have it do what you expect it to do.


EasyReporter is actually surprisingly fast, especially considering that it is an end-user report writer that is on top of a 4GL. They do some other things to help speed it up as well, such as seemless use of the Omnidex (DISC) indexes for retrieval if they are applicable. This is without using the TPI Interface, once support for that has become fully implemented, I imagine that we will see support for Superdex follow shortly.

There is also a fairly sophisticated run history and projection system built into the product. This way you can control the time of day and day of the week that certain reports (or all reports) can run to help keep the load on the system down. For the most part this shouldn’t be necessary because under normal circumstances you won’t have 50 people firing off a dozen reports each a day.

Supportability (including Doc)

Speedware has done a real good job on getting their documentation re-written to conform to the new product. When you go to the EasyReporter class, you get all sorts of neat little manuals, and quick reference information.

The rare times that I needed to talk to support I always got a quick and straight answer. With simple reports there is really no need to have to talk to anyone, the only stuff that can get confusing is some of the configuration and security information stuff.


I really liked EasyReporter, without looking at one page of documentation I was able to run the software, load some databases, generate and edit some basic reports. I have used a lot of end-user report writers over the years and it is the rare one that will allow me to get that far without having to at least crack some manual open.

I do have one big complaint with EasyReporter and the whole SpeedWare product in general, and that is their completely non-standard use of cursor control keys in their windowing interface. They make you use the TAB key to go from one menu bar option to another, and then you have to use function keys (sometimes) to scroll up and down in a selection window. There also doesn’t seem to be a way to back scroll through an item box, the standard ‘shift tab’ doesn’t go backward, so you have to go through the whole thing to get back to the beginning. Sometimes you can use the cursor keys, but it doesn’t move the hi-lite with it. Every other windowing, pseudo-windowing interface on the planet uses the arrow keys to get around in a
menu environment.

The windowing environment looks very good, and is supprisingly quick considering what it takes to make an HP terminal look like that. They also provide a shortcut so you can enter the first character of the menu bar option and have the window drop down. What is interesting is that the pop-up windows try to display in an area that won’t be in your way if possible. This should leave at least part of your view clear to the underlying data since the windows are not movable. The customizable tool bar is also a great way to configure your own short cuts. The software is almost obnoxiously configurable.

Bottom line, this is a very robust and easy to use product.

At-a-Glance box

EasyReporter version 7.01.05
Speedware USA
2300 E. Katella Ave. Ste. 150
Anaheim CA 92806
PHone: 714-937-0737
FAX: 714-937-0941

Price ranges from $3,900 to $47,000 depending on CPU, support is typically 15% of the purchase price. Class’s are available, and recommended. There are five different manuals that you can come with the software, including a ‘Getting Started Guide’, a ‘Workbook’, ‘Quick Reference Guide’, ‘Administrator Reference Guide’, and a ‘User Reference’.