[an error occurred while processing this directive]


































































News Room Archives
eServer Magazine, iSeries edition
May 2002
by Don Rima
Looking Over Your Program's Shoulder

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.

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 environments.

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* release.

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.

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.

* 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!


Category Points Weighting Overall Score
Certifiability 4.0 .10 0.400
Installation 3.8 .15 0.570
Ease of use 3.7 .15 0.555
Documentation 3.7 .15 0.555
Functionality 3.9 .15 0.585
Usefulness 3.9 .15 0.585
Support 3.9 .15 0.585
Total 26.9 3.835

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.)

Article Information
 Pub: eServer Magazine  Date: May, 2000
home | products | support | company | news | sitemap | contact
Harkins & Associates, Inc.  ·  816 Daisy Lane  ·  West Chester, PA 19382  ·  610.431.1755
  Copyright ©2000 - 2009 Harkins & Associates, Inc. All Rights Reserved                                                   Terms of Use | Privacy Policy