eServer Magazine, iSeries edition
by Don Rima
Most iSeries programmers have had to work with someone else's code after either inheriting another
developer's system or picking up some vendor's software package. As you're trudging through this
code, that Jay Leno question -- "Just what the heck were you thinking about?!" -- may have popped
into your mind. Because you and I write perfect code from the get-go, no one would ever be plagued
with that question when working with our code, right?
I don't know about Joe Q. Programmer, but there's a lot of times when I would just love to see the
flow inside a set of code. Just what is this stuff thinking and using, when, where, why and how.
Right now you're asking, "What about debug?" Good question. And it's a nice tool for doing some
tracking, setting lots of breakpoints and getting answers. But if you want to be able to visually
follow the program flow easily and walk through it, there's a new tool on the market that may help
you do just that--and keep your blood pressure lower. Imagine, a printout that shows executed code
line by line, including the RPG or CL as well as the values used.
Enter Real-Time Program Audit (RTPA) from Harkins Audit Software, Ltd. (www.hasrtpa.com).
The installation wasn't that complicated, but it was more complicated than it needed to be.
There's no reason why anything sent to load on an iSeries isn't bundled with a LODRUN. But,
if you follow the instructions and run all of the setup, it works well enough. I think that
by the time you read this, your copy will come with a LODRUN.
EASE OF USE
OK, this isn't hard to use. But it's got enough bells, whistles, twists, tweaks and pokes that
I really recommend that you take the nickel tour. Actually, it's got enough to it that I'd
allocate at least 30 minutes to run through a couple of scenarios in both the RPG and CL
Keep in mind that there are some preprocessing steps for each program that you're going to
"audit." These steps are easy to learn and follow, but depending on program size
and system speed, it may take a while to run through the prep phases.
Also, this utility adds a sizeable amount of code to your base source code. If your original
programs are too big, you may have to limit the areas being traced or audited. Perhaps IBM
will have reason to give us the capability to compile larger programs in a future OS/400*
In the aggregate, you're OK. Examine the demo CD and the handout. The main manuals could use
some work. Actual screen captures would be nice so you can see what you're looking at when you
actually get to the screen.
I think it does what it says it will and does a nice job of it.
FUNCTIONALITY / USEFULNESS
Picture, if you will, a source-code listing. Under each line of code is the value of each of the
variables used in that line. If it's an IF statement, you see the criteria being used prior to the
condition. If it's a CHAIN, you see the key values.
And as the program marches through the lines of code, you see this series of calc statements followed
by a line that shows what the value of each variable is. Do you recall from your college days the
academic concept of a structured walkthrough? Well the report generated by RTPA is basically a
structured walkthrough where the machine tells you what it's thinking. Now, I don't know about you
but this beats putting in a bunch of breakpoints and having to key in Display Program Variables
(DSPPGMVAR) command or watch the traced fields as you hit a breakpoint. RTPA just does it seamlessly
and in a format that's easy to spread out on your table so you can walk through your code.
You can choose all of your program's fields or pick and choose specific fields to follow through
the audit log.
Also, there are some IF conditioning capabilities to allow the turning on and off of the tracings.
The concept is similar to how you can set debug conditions in debug mode.
I'd describe support as almost "evangelistic." The support folks know their product really
well and if the rest of the technology world was as enthusiastic about the iSeries as these guys are
about their product, Bill Gates would be asking you if you'd like fries with your shake.
WHAT I'D LIKE TO SEE IN THE NEXT RELEASE
* LODRUN for the full-install procedures.
* Have the audit run feed a subfile real time so that I can follow what's going on interactively on my
screen, versus reviewing a spool file, which works fine, but having the option to see it real time on
the screen in addition to seeing the auditing report would be nice.
* How about a GUI interface?
In some product reviews, this section can be a challenge to write. I examine some products and think to
myself, "Yeah, this has a nice niche area and it does what it does decently and nicely, and there's a
use for it, but why would I want to really want to buy it?" But, unless you've tuned out the last
several paragraphs, you should get the idea that I like RTPA. I encountered a few bumps on the install,
and the manuals aren't as nice as I'd like, but I was able to get from here to there. The nickel tour is
a must with this product.
RTPA offers the capability to track all or selected variables within source line segments. There's some
conditionality on tracking but basically most anything you'd want to be able to monitor is on your report
and at your fingertips. Want to track more than one program at a time? Go for it.
This is one of the fastest ways I've seen in a long time to track problems or understand what's going on.
I wish IBM would make this product part of the base OS. Yeah, it has that much usefulness. When I can
spread out a listing that gives me the line-by-line activity in an easy-to-read and -follow manner, then
I've got something I can put to good use. This is that kind of a product.
The auditing/debugging code that's inserted by the package does impose a bit of a performance hit at run
time. But I think the end results are impressive enough to make up for the performance hit.
KICK THE TIRES: Heck yeah!
THE REPORT CARD (HONOR ROLL)
|Ease of use
Points given are on a scale of 0 to 4, with 4 being the highest. Each category is assigned its own
weighting from the total of 100 percent.)