As a Senior Developer, I spend an incredible amount of time designing, testing and profiling applications for Briteskies’ customers, more specifically working on iSeries and JD Edwards integration projects. With all the tools that are available to assist the developer in his perpetual quest for knowledge, I’ve found that the Rational Developer, IBM’s WebSphere Development Studio client tool which is referred to as WDSc or RAD as of late, provides great advantages with a wealth of information at your fingertips. As with any new technology, there will undoubtedly be challenges to learning and understanding its functionality, but I believe that the benefits of WDSc will far outweigh any time spent acquainting one’s self with it. First, set up an environment and open source code; once that’s been established, use the SEU line codes to copy, move, insert or replicate lines. Then you can save the source and go to your iSeries session to compile the program. As you become more comfortable with the process, you can start adding features to assist with development. Everyone’s familiar (or should be) with Windows’ cut, copy and paste functions, so there is a new capability you can use immediately. The source display is color coded which makes it easy to distinguish between active code lines and comments. This is an immediate benefit of the tool. There is also the undo/redo feature which allows you to remove and reapply changes back several levels. There are times when this feature alone convinced me of the value of WDSc.
Another great feature is the ability to open multiple source members at the same time in tabs with the ability to copy and paste between those members. When using code from other programs, this tool makes it so much easier to move from one source to another. This also gives you the option to edit the source for a screen, an RPG program and perhaps a CL program that controls the execution of the RPG program simultaneously. If there are coding routines that you regularly use, you can store them in what are referred to as “snippets”. When you want to use these routines in a new program, you can simply place the cursor where you’d like it to appear and double click the snippet to automatically insert them. This saves you the hassle not only of opening another source file, but of having to remember from which source you wanted to borrow code.
Another option I like is that you can display up to two and a half times the number of lines of code versus what you can on a green screen. You are also given the ability to use the mouse wheel or scroll bars to position the code exactly where you need it; this makes it a lot faster than using line commands, but of course line commands are still available in WDSc.
Using WDSc, you can also employ instant syntax checking as you enter lines of code, this features an embedded message which appears if something is incorrect. You can also easily record and play back keystrokes, saving you the time of having to tie them to a previously saved macro. A scan and replace operation can be initiated quickly through using Windows’ ctrl+f function, with instant positioning as you type the characters to be scanned. The last several scans you use are saved and can easily be executed again, even between multiple source members.
Often, I’ve found myself reviewing a program and have needed to know the contents of a copy book, so historically I’ve either needed to go to a split screen or a second session to open the source. With WDSc, I can now simply right-click on the code I’m reviewing and immediately open the copy book as another tab within the editor; I’m also given the option to change the copy book, if necessary.
As we all know, source programs can be incredibly large and require a lot of paging or scrolling through, from the main routine and throughout all the subroutines. With WDSc, you have the option to collapse all the sub routines so that they appear as a single entry within the source; you can then open only the ones you need to review. This is so much faster than moving between different sections of code, especially when the subroutines are very large or numerous.
There is an item called an Outline window; this lists the files defined, the data structures, field definitions, constants, indicators used, prototypes, main routines, subroutines and sub-procedures. Most of these can be expanded to see the line number which references the location. I can’t tell you the number of times that I wanted to add an indicator to a program and needed to know if it had already been used; using this list of indicators provides information without searching and the security of knowing that I haven’t missed anything.
A really useful advanced feature is the ability to submit a compile directly from the editor. This feature requires that you control the library list of the connection you are using so that your compile executes in the correct environment. This is done by expanding the library list under your connection definition for the iSeries, or as I did it, create a program that is automatically executed when I open the connection for the first time and set the library list for the environment I need. When the compile has completed the errors are automatically returned in a window within WDSc, sorted by severity. If you double-click an error message, you will be taken to the line of code which requires correction and all of the messages are then embedded within your source display. You also have the option to turn off “00 level” messages so they don’t appear. Also within the advanced tools is a debugging capability which allows you to graphically set and remove breakpoints. Once you have activated debug, go to your iSeries session and trigger the program; the debug process will activate and allow you to control stepping through the program. When you stop at a breakpoint, you can hover over a variable with the mouse pointer which will display the contents. You can establish a window with a watch variable so you can track changes as the program executes. If you are stepping through the code and happen upon a subroutine or a call to another program, you have the option to step into or over those lines; stepping over them will allow you to continue with the line after EXSR or CALL. These are only two features of debug; I’m sure there are several others which are equally beneficial.
The last feature I’d like to mention is the ability to open a source member and not close it when you shut down WDSc. You can then take your PC with you and edit and save the source, offline, without a connection to the iSeries. Once you return to the workplace and have reestablished a connection, you’ll see your edits. There is also an export capability which allows you to store an offline copy of the source. I have used this to save frozen copies of programs, in case I need to revert back to or restore one.
Learning new capabilities can seem intimidating; however, I can assure you that the time you invest in acquainting yourself with WDSc will only benefit you and your business. I hope you have been encouraged you to give WDSc a try.