Dealing With Library Lists In RSE/RDP
January 23, 2013 Susan Gantner
I’m happy to say that I’m hearing from more and more people who are beginning to finally break away from SEU to use Remote Systems Explorer (RSE) in Rational Developer for Power Systems (RDP). Perhaps the fact that IBM finally stopped updating SEU for new language features as of V7.1 has caused more shops to consider the move.
I heard from one newbie RSE user the other day with fairly common issue; he wanted to know how to deal with library lists in the RSE environment? In his case, he has a few different library lists due to various packages installed in the shop and he was trying to find a good way to switch back and forth among them.
He knew how to change his default library list via the Connection or Subsystem Properties dialog. I covered this in a tip years ago for WDSC, but it is still equally valid for RDP.
And he knew how to dynamically change his library list by interacting with the library list filter in RSE. But switching between the three or four commonly needed lists quickly and easily was a struggle for him.
I’ve seen two commonly used techniques for this scenario.
First, you can create a separate connection for each environment/library list combination, and switch between the connections as you move from working in one environment to another. In this case, you simply need to use the methods to set up the default library list for each connection as explained in my earlier tip.
Easy enough, and many people like to work this way. The issue that sometimes arises in this case is that it’s easy to lose track of which connection you’re using at any point if you switch between them frequently during the day.
A second option that I’ve found works well for me is to use a single connection to the system, but I create a user action for each different library list that I need on a regular basis. This method makes it easy to switch back and forth throughout the day.
I won’t go into all the details of how to create a user action here because it has been covered in other tips. If you need to learn the basics of creating a user action, take a look at the section called “A Couple of Handy User Actions” about halfway through this tip.
However, the user actions that I create for controlling my library list have a couple of special wrinkles that I want to go over.
RSE’s user actions are much like PDM user options. However, user actions are not “generic” like PDM options are. They are (or can be) explicit to a specific type of object. What I’m after is a way that I can quickly and easily run the user action to change my library list at any time. That means I’d really prefer to make my user actions generic so that I can right-click on just about anything in the RSE view to get to them quickly.
That’s not tough to do. I can create an object action (a type of user action) and specify that I want my object action to work on ALL object types. But what if I happen to right-click on a member, not an object? Rational separates out member actions from object actions. That means I need to add two identical user actions for each different library list: an object action and a member action.
So choose New→Object Action. Give the action a name, such as “LIBL App A.” Then in the command box put in any CL command that does not require an emulation screen. For example, you can’t use EDTLIBL, but you could use ADDLIBLE or CHGLIBL. Then prompt to put in whatever parameters are needed. If your requirements are such that a simple CL command won’t cut it, then write a CL program and make your command a CALL to that program.
Whatever you put in the command box here, select it and copy it to the clipboard, because if all goes well, you’ll be using it again soon and it will save typing. You can specify what types of objects this action should apply to. In this case, I want it to apply everywhere, so I’ll leave it set to ALL types.
Now you can go back into RSE and test your new user action by right clicking on any object and choosing User Actions→LIBL App A. Then refresh your Library List Filter (right-click on Library List and choose “refresh” or click on Library List and press F5). That should now reveal your changed LIBL.
Assuming that your new action is working as you wanted, simply repeat the process you did for your object action to create a New→Member Action. I’d give it the identical name, e.g., “LIBL App A” and paste the same CL command as before in the box. Now go back and test your user action against the name of a member in the Remote Systems view as you did before. Remember to refresh your Library List filter afterward to check to make sure it worked as expected.
Now all you need to do is to create user actions for any other application library list requirements you have and test them.
There are other ways to manage library lists in RSE, but these are the ones I’ve seen used most often. I’d love to hear of any other options that some of you may have developed.
Susan Gantner is half of Partner400, a consulting company focused on education on modern programming and database techniques and tools on the IBM i platform. She is also a founding partner in System i Developer, a consortium of System i educators and hosts of the RPG & DB2 Summit conferences. Susan was a programmer for corporations in Atlanta, Georgia, before joining IBM. During her IBM career, she worked in both the Rochester and Toronto labs, providing technical support and education for application developers. Susan left IBM in 1999 to devote more time to teaching and consulting. Together with Jon Paris, she now runs Partner400, and appears regularly at many technical conferences, including System i Developer’s RPG & DB2 Summit. Send your questions or comments for Susan to Ted Holt via the IT Jungle Contact page.