Need to print one routine out of a long program or see where a couple of fields are used in it? How about checking the changes you made to a program before putting it into production? Maybe you laboriously key a project ID in all the lines you change. The cheap, simple, and available solution to these problems is right at hand -- SEU.
There are several very useful line commands in SEU that programmers often overlook. The block "Line Print" (LLP) command lets you print only the parts of the source that you want. The "Exclude" (X or block XX) command hides lines that you don't want to see on the display. The "Line Print" command prints the "n data records excluded" message, but does not print the excluded lines. When used in combination, they can be powerful tools to analyze programs and to check your coding changes.
For example, if you wanted to see all occurrences of fields with "RTL" (retail) and "CST" (cost) in their names, put "X9999" on the first line to exclude all the lines in the program. Then use F14 to set up a scan for ALL occurrences of "RTL". Press F16 to display them. Then repeat the process for "CST". This would show fields such as "UNTRTL" and "EXTCST". Put "LLP" on the top and bottom lines of the resulting display to print it. Use "T"op and "B"ottom on the command line to get to the top or bottom easily.
Another example would be to produce a quick list for a code walkthrough for a program change (your shop does code walkthroughs, right?) To produce a report of the lines that you changed, exclude all the lines as above and then use the scan to display all those that have a date equal to or later than the start of your project.
While you have this display up, you could get fancier and label all your changes for this project using the "Copy Repeat" (CR) and "Overlay" (O or OO) commands. The "Copy / Overlay" copies non-blank columns to blank columns. Here's how to insert a project number or ID on all the changed lines (make sure you have first saved a copy):
Type the ID in a temporary line in the columns you want. EX.: PRJ101 in col. 1-6 (for an RPG program) Press Enter. Key "CR" (copy repeat) in the line command of that line. Key "O" or "OO" on the lines and blocks you want to label. Do not span any excluded lines or they will get marked, too. Press Enter . Press F5 to clear the "CR" and display all the lines. Make sure you labelled only what you intended. Delete the temporary line. Save the member.
The exclude and line-print features work in both view and edit modes. They do not affect the source member. If you need to see more context, you can show more lines from the excluded groups with "SFn" and "SLn" for the first or last "n" lines. F5 brings the excluded lines back. The print output goes to printer QPSUPRTF.
MORE INFORMATION ON THIS TOPIC
The Best Web Links: tips, tutorials and more.
Ask your programming questions--or help out your peers by answering them--in our live discussion forums.
Ask the Experts yourself: Our application development gurus are waiting to answer your programming questions.