From MidrangeWiki
Revision as of 11:35, 21 April 2010 by Starbuck5250 (talk | contribs) (Searching for text: +link to WDSC_Find_Tips#Find_camel_case_words.)
Jump to: navigation, search

RSE, an acronym for Remote System Explorer, which is part of WDSC.

It allows you to navigate remote systems in a native context.

On the iSeries, the RSE allows you to navigate through Libraries, Objects, Files, Source Members, IFS files, Jobs, and Commands. For each type, context appropriate options are available through a pop-up menu.

Running a user action

This is conceptually like running a user option in PDM.

Go to an iSeries command line and

  • prompt your command.
  • Fill in the parameters with place holders instead of actual values.
  • Don't press Enter, press F14 to see a summary of the command.
  • Copy that onto the clipboard.

Go to the Remote Systems view.

  • Right click on an object or member and choose User actions
  • From there, choose Work With User Actions...

For this example, let's use CVTRPGSRC

Go to an iSeries command line and prompt CVTRPGSRC. Substitution variables you can use:

&B - List type: X=library list, L=Library, O=Object, M=Member, J=Job, I=IFS
&C - Name of this user action
&D - Last modified date
&E - Run in batch *YES/*NO
&F - File name containing member
&G - JOBD library
&H - JOBD name
&MF- Temp file name (invoke once)
&ML- Temp lib name (invoke once)
&MM- Temp mbr name (invoke once)
&N - Resource/member name
&O - Object library
&P - Compile in batch *YES/*NO
&R - Replace when compiling *YES/*NO
&S - Object/member type without asterisk
&T - Object/member type with asterisk
&U - User ID that made the connection
&X - Object/member text in single quotes
&Z - Connection name

The resulting command after pressing F14:


Go to the Remote Systems view,

  • right click a member or object.
  • Choose User actions
  • From there, choose Work With User Actions...
  • This is CVTRPGSRC, so it's a member action not an object action.
    • Action name: cvtrpgsrc
    • Comment: <blank>
    • Command: Normal command
  • paste the above command into the command window
  • Check the Refresh after box -
    • this will refresh the view after your command has run.
    • This is handy if your filter includes both QRPGSRC and QRPGLESRC.
  • Check the Show action box -
    • this will display this action only for the types you select in the Resource types for which this action will appear box below.
    • The idea is that you don't want to accidentally run CVTRPGSRC on CL...
  • Choose the RPG defined type and add it to the Selected Types list.
    • You might want to edit the types (click on the EDIT(H) button) so that the option will not appear for RPGLE and SQLRPGLE Types.
    • Tends to make them unusable.

  • Click Create then Close
  • To use your new command,
    • fire up the Remote Systems view
    • Right click an RPG source member
      • User Actions
      • cvtrpgsrc

You should now have a QRPGLESRC version of your RPGIII member.

  • User actions are stored (WDSC 6.0)
    • in a file called uda.xml in the path
    • workspace\RemoteSystemsConnections\{MY_USR_NAME}\UserActions\ibm.files400\uda.xml

One can export this (and other RSE settings) via the workbench's File->Export action menu. Select the file system to export to, then select the RemoteSystemsConnections to export all the entries in your connections. If that's too much, drill down the tree through

  • RemoteSystemsConnections
    • user name
      • UserActions
        • ibm.files400

V7.0 example of user action XML:

<?xml version="1.0" encoding="UTF-8"?>
<Actions release="7.1.1">
<Domain Name="Member" Type="Member">
<Action Collect="False" Enable="True" Name="cvtrpgsrcbuck" Prompt="False" Refresh="True" RunEnv="normal" SingleSelection="False">
<FileTypes> RPG400</FileTypes>

Searching for text

Example: Searching for a target of a GOTO in RPG. The actual source code looks like

So we're looking for the target of GOTO AROUND.

To search for this from the command line,
findText regularExpression around\s+tag

To search for this from the search dialogue (Edit;Find/Replace),

...and check the Regular expression box.

  • The key here is that we're using a regular expression to do the work.
  • This particular expression is looking for the literal characters around followed by one or more white spaces (\s+) followed by the literal characters tag.
  • Note that the Java regular expression rules are in use. (case sensitive) [1]
  • Also in WDSC Help,Help contents Search on 'Regular Expression Grammar', click on 'Regular Expression Grammar to see ALL the codes.
  • This may not seem like a very useful thing until you try to search for END TAG.
  • Searching for end can be a slow process given the number of ways those 3 letters are used!
  • An additional use is when you don't know if the target of your search is a TAG or an ENDSR (yes, you can GOTO an ENDSR!)
    • This regexp is useful for that situation:

findText regularExpression around\s+(tag|endsr)

Here, the items in the parentheses indicate or, so we are searching for

<around> <...some spaces...> <either tag or endsr>


For more information, see WDSC_Find_Tips#Find_camel_case_words.

Other actions

RSE provides ways to group items together for your convenience.

Table view

The RSE tree doesn't show a lot of information.

  • We ex-PDM users are accustomed to seeing the member type, text and change date along with the member name.
  • One way to see the change date is through the Table View.
  • Right click your filter and choose 'Show in Table.'
  • This will open a new view, called the iSeries Table View.
  • The default columns do not include the last modified date.
  • To show that column, click on the downward pointing arrow on the right side of the Table View, then Show Columns, then Customized.
  • Then, click the triangle again and choose Preferences to assign the columns you want to see in the Table View.
  • Alternately, choose All Columns in Show Columns...

It's interesting to note that as of WDSC 7.0, the table view allows use of your RSE User Actions, so you can select a group of members and perform a common action on them all, very similar to PDM.