10 little-known features in Rational Developer for System z that increase mainframe developers' productivity

RDz shortcuts, tips, and tools

The IBM® Rational® Developer for System z® IDE for mainframe and multiplatform development is popular for its major features, such as remote editing, remote debugging, source code management support, and web services for mainframe applications. This article describes 10 of the most useful of many lesser-known features that increase productivity for mainframe developers.

Jonathan C. Gellin (jgellin@us.ibm.com), Advisory Software Engineer, IBM

Author photoJonathan Gellin is a Rational Developer for System z developer at IBM in Atlanta, Georgia. He joined IBM in 2002 and has worked on host integration and host tooling in Research Triangle Park, North Carolina and in Atlanta.



Jeremy Flicker (jflicke@us.ibm.com), Advisory Software Engineer, IBM

author photoJeremy Flicker is a Rational Developer for System z developer at IBM in Research Triangle Park, North Carolina. He joined IBM in 2001 and has worked on the Service Flow Modeler, the COBOL editor, and the PL/I editor.



Steven Ma (stevenma@us.ibm.com), Usability Engineer, IBM

Photo of Steven MaSteven Ma joined IBM in 1999 and has worked on various projects in the IBM Software Group, including VisualAge for COBOL, IBM WebSphere Portal Developer Community, and WebSphere Studio Asset Analyzer. Over the last few years, he has been serving as the User Experience lead for Rational Developer for System z. He is primarily involved in user interface design, feature demonstration contents, and accessibility compliance. Steven graduated from the University of Toronto with both B.A.Sc and M.A.Sc degrees in mechanical and industrial engineering.



William Alexander (walexand@us.ibm.com), Senior Software Engineer, IBM

author photoBill Alexander joined IBM in 1996. He has been involved with the development of various middleware and tooling products in the IBM Software Group, including WebSphere Studio Application Developer Integration Edition. Over the past year, he has been serving as an architect for Rational Developer for System z.



08 February 2011 (First published 08 February 2011)

Introduction

IBM® Rational® Developer for System z® (often called RDz, informally) is a powerful set of tools for mainframe application developers. It provides editing and debugging capabilities for the most widely used mainframe programming languages in both local workstation and remote host contexts. It includes tools for linking applications to databases and enabling applications for service-oriented architecture (SOA), as well as an extensible client interface to source code management systems. It is built on the Eclipse platform and takes advantage of the extensible plug-in framework. These powerful features have made RDz a popular choice among mainframe application developers.

In addition to those major features, IBM Rational developers have continually added features that improve usability and boost productivity for everyday users. These are often overshadowed by the capabilities provided by the major components, and many users haven't even discovered them. We compiled this list to bring attention to 10 of the most useful of these lesser-known features.


1. Built-in Eclipse features

Mainframe application developers are characterized by their mastery of the mainframe technologies that they are working with, so RDz is sometimes the first time that they have been exposed to Eclipse-based software. It is worth taking time to learn about the built-in features of Eclipse that can increase your productivity, such as these examples:

  • Shortcut keys. The most common actions in Eclipse have shortcut keys associated with them. For example, SHIFT+F10 brings up the context menu, and ALT+ENTER brings up the properties page for selected items that have properties. In addition to the preset shortcut keys, you can customize the shortcut keys to your liking:
    1. Go to the Preferences view by selecting the Window > Preferences menu item.
    2. Then in the tree on the left, select the General > Keys preference page (see Figure 1). On this page you can change or add keystrokes for the hundreds of actions described on this page. For example, there is no preset shortcut key for bringing up the Preferences, but you can set one on this page.
    3. Select Preferences in the command table, move your cursor to the Binding field, and type the shortcut key that you would like to use (for example, Cntl+F10).

From now on, the Preferences view is only a shortcut key away.

Figure 1. The Keys preference page
Screen capture of the Keys preference page
  • Navigating tree views. In tree views such as the Remote Systems view, you can use the arrow keys on your keyboard to navigate the tree.
    • Right expands a node and navigates to a child node in the tree, and Left collapses a node and navigates to a parent node.
    • Up and Down buttons navigate the tree without expanding or collapsing nodes.
    • In addition, you can use Backspace to quickly navigate to a parent node and, eventually, to the top level without collapsing any nodes. This trick can be useful when you are "deep down" in a tree view, and you want to avoid excessive vertical scrolling.
  • Working with perspectives and views. In Eclipse, a perspective is simply a set of views. The views in a perspective are usually grouped logically by function. For example, the IBM® z/OS® Projects perspective contains the z/OS Projects view, the Remote Systems view, the Property Group Manager view, and other views by default. These are some of the views that are most helpful for developing z/OS projects. Meanwhile, the Enterprise Service Tools perspective contains the EST Project Explorer view and other views that are helpful in creating web services-related projects.

    The views for these two perspectives are laid out differently because of the different use patterns of typical users of those perspectives. However, you are not limited to the default perspective layouts. You can customize perspectives for optimal productivity. Simply drag one view to a different part of the workbench if you can use it more effectively somewhere else. You can use the Minimize, Maximize, and Restore buttons at the upper-right of each view to optimize screen real estate. Overlapping views in the same screen region can be hidden and shown all at once by using these buttons. Experiment a little to get the layout that works for you.

    In addition to arranging the layout of the perspective, you can alter the views that are present in the perspective. For example, if you are developing a program in the z/OS Projects perspective that involves a database defined in the Data perspective, you do not need to repeatedly switch between the two perspectives. You can simply add the Data Source Explorer view, the SQL Results view, and whatever other views you need to the z/OS Projects perspective. To add a view to a perspective, select a view from the Window > Show View menu (Figure 2).
Figure 2. The Show View menu
A screen capture of the Show View menu
  • Fast view. Perhaps you prefer to maximize the language editor while editing source code. In this case, it is helpful to be able to access additional views without switching out of the maximized mode. For example, it is often useful to access the Outline view to quickly navigate to different locations of the open source file. To open a Fast view:
    1. Type Alt+Shift+Q.
Figure 3. The Fast View pop-up window
The Fast View pop-up
  1. Type O (letter O) to display the outline, or S (the letter S) to display the search results. This will overlay the selected view on top of the maximized editor, allowing you to interact with it.
Figure 4. The Outline view overlaid on the maximized editor
Outline view on top of the maximized editor
  1. Select the outline element or search result that you want to navigate to. When you are finished, press the Esc key to close the Fast view and return to the editor.
  • Error log. When an error or warning occurs in the workbench, it gets logged in the .log file in the workspace metadata. You do not need to leave the workbench to view this data. You can simply open the Error Log view. This view also provides export and import capabilities so that you can examine old logs.

2. Retrieve Data Set and Retrieve Job

Starting with Rational Developer for System z Version 8.0.1, you can very quickly search for and retrieve data sets and jobs in the Remote Systems view without defining a filter.

Create a filter while retrieving a data set or job

When using the Retrieve Data Set or Retrieve Job dialogs, you have the option of creating a filter for the results listed in the dialog.

To retrieve a data set, select MVS Files in the Remote Systems view, open the context menu, and select Retrieve Data Set, or use the shortcut key CTRL+R. This will bring up the Retrieve Data Set dialog window, where you can type the name of a data set or use a pattern.

Figure 5. The Retrieve Data Set dialog
A screenshot showing the Retrieve Data Set dialog

When you select a data set and press OK, the data set is added to the Retrieved Data Sets container in the Remote Systems view.

Figure 6. The Retrieved Data Sets container in the Remote Systems view
A screenshot showing the Retrieved Data Sets container in the Remote Systems view

Similarly, you can retrieve a job by selecting JES and selecting Retrieve Job from the context menu (or by using the shortcut key Ctrl+J) and specifying a job prefix). Jobs retrieved in this way are added to the Retrieved Jobs container in the Remote Systems view.


3. Block Selection mode's "Long Cursor"

For column-oriented programming languages, using the Block Selection mode to create a long cursor can be helpful for formatting code, as well as for modifying text for an entire column. To enable Block Selection Mode in the COBOL editor or PL/I editor, type Alt+Shift+A or press the Block Selection Mode toolbar button. To make a long cursor, use the mouse to drag a vertical selection or hold Shift and use Up or Down keys to extend the length of the cursor.

Figure 7. The COBOL Editor with a long cursor in Block Selection Mode
A screenshot showing the COBOL Editor with a long cursor in Block Selection Mode

Now you can use the space and backspace keys to fine-tune the alignment of the text to the right of the cursor. Also, because typing text with a long cursor will insert the characters in every row of the cursor's height, you can alter a whole block of record numbers at once.

Figure 8. The COBOL editor with modified record numbers using a long cursor
A screenshot showing the COBOL Editor with modified record numbers using a long cursor

The LPEX editor has a similar function that supports moving columns from multiple rows at a time. First, move the cursor to the starting location of the block of text you want to move. Press ALT+R to enter rectangular selection mode. Extend the selection to the height of the text you want to move. This can be done using the mouse or holding Shift and using Up or Down.

Figure 9. The LPEX editor with a rectangular selection
A screenshot showing the LPEX editor

Use ALT+F7 to shift the text one space to the left, and ALT+F8 to move the text to the right. When you are finished, press ALT+U to clear the selection.

Unlike the COBOL and PL/I Editors, the rectangular selection mode of the LPEX editor does not support typing text into multiple rows at a time.


4. Correct mistakes while recording flows

While developing CICS service flows, you may find the flow recorder in the Host Editor useful for quickly modeling screen-based flows. However, it can be easy to make a mistake while recording in the live emulator. If you make a mistake, you do not have to scrap the flow and start over. Using the Outline view in concert with the flow recorder, you can easily remove mistakes and correct them while recording a flow.

For example, in Figure 10, say the description field was extracted when the item number field was supposed to be extracted. Using the Outline view, you can remove the mapping that represents the bad extract, and then create a new extract for the item number field, and continue recording your flow as normal.

Figure 10. Fixing a mistake in the flow recorder by using the Remove Mapping action
The Remove Mapping action in the Outline view

5. Host Connection Emulator Enables Multiple Types of Sessions

The Host Connection Emulator is typically used to connect a 3270 terminal to the system z host using the default telnet port 23. However, the connection type, port, and other properties associated with the connection are all customizable. The Host Connection Emulator allows access to system z, AIX, Intel Linux, and zLinux systems via support for 3270, 5250, and VT sessions. To edit these properties, open the Host Connection Emulator and click on the Host Properties tab.

Figure 11. The Host Properties tab of the Host Connection Emulator
Host Properties tab

6. Lookup view

Installation note

To use the Lookup view, the Fault Analyzer Integration feature must be installed when installing RDz.

Every mainframe application developer needs to analyze an abend from time to time. Rational Application Developer for System z makes it easy to look up abend codes using the Lookup view. In this view you can search for and read about MVS, CICS User, IMS User and Language Environment abend codes. To open this view, select Window > Show View > Other, and then, in the Show View dialog window, select Fault Analyzer > Lookup.

Figure 12. The Lookup view
A screenshot showing the Lookup view

7. Remote z/OS Search view

You can search z/OS by selecting Search > Remote or by opening the context menu in the Remote Systems view and selecting Search ... or using the shortcut key, Cntl+H. The Remote z/OS Search allows you to define queries that will search the MVS file system, including members of PDS's across LPAR's. You can use regular expressions in your search, for example, member names matching BI.*|DI.*, or files containing CODE|DIAGNOSTIC|CD|DIAG. When you perform a remote z/OS search, the results appear in the Remote z/OS Search view. From this view you can double click on a result to open the corresponding file. On the toolbar of this view, there is a button that allows you to add the search query to the My Search Queries container in the Remote Systems view.

Figure 13. The toolbar of the Remote z/OS Search view
The toolbar of the Remote z/OS Search view

After the query is saved into the My Search Queries container, it can be edited or run at any time.

Figure 14. The My Search Queries container in the Remote Systems view
Queries container in the Remote Systems view

8. LPEX editor tips

The System z LPEX editor is used to edit many types of files that are important to mainframe application developers, including COBOL, PL/I, Assembler, and JCL files. Therefore, a lot of your time might be spent in this editor. Here are some tips that will improve your productivity:

  • Open Data Set Member From JCL - While editing a JCL file, highlight the full name of any data set member in the format data.set(member), open the context menu, and select Open Member.
  • Match PL/I Constructs - The shortcut key CTRL+M matches language contructs when editing a PL/I file.
  • Autosave - The System z LPEX Editor autosaves your work in an edit session to allow recovery of unsaved changes in case of a crash.
  • Multi-view - Sometimes it is helpful to have more than one view of the same source file. CTRL+2 adds a new view to the editor, and ALT+SHIFT+RIGHT can be used to move between the views. CTRL+0 can be used to close the added view.
  • Line Select - ALT+L selects a line of text. If you then move the cursor to another line and press ALT+L again, all the lines between the first and second selected line will be selected.
  • Hex Edit - You can edit the hexadecimal encoding of any line of text in the System z LPEX Editor by opening the context menu and selecting Source > Hex edit line.
  • Find/Replace - Use CTRL+F to show the find/replace panel. The find field supports regular expressions features such as OR (|).
  • LPEX Command Line - The System z LPEX Editor contains a command line that can be used to enter LPEX commands. LPEX commands are case sensitive. Some of the most useful commands are:
    • help or ? brings up the LPEX help
    • help lpex brings up the key bindings for the LPEX profile mode
    • help ispf brings up the key bindings for the ISPF profile mode
    • submit submits the JCL that is currently being edited
    • arrow keys can be used in the command line to recall commands
    • /text or 'text finds the next occurrence of the specified text (precede with minus sign to search backward: -/text or -'text)
    • lineNumber locates the specified line

9. RDz Host Tooling Version Level

Some of RDz's most powerful features are the result of RDz client integration with host tooling on system z. As a result, some client features depend on the version of the host tooling, so it is important to know what version of the host tooling you are working with. It is not always obvious which version you are working with, especially when migrating to a new version of some host tooling. Fortunately, RDz provides some easy ways to find out the versions of some of the host-based tooling that the RDz client interacts with.

RDz Host Server - To learn the version of the RDz host server that you are connected to, select MVS Files in the Remote Systems view. In the Properties view, there is a property called "Server Level" that displays the version of the RDz host server.

Debug Tool - Another host tool that RDz interacts with is the Debug Tool. To obtain it's version, enter call %ver in the debug console view at any time during a debug session, and Debug Tool will echo its version.


10. Data Source Explorer features

The Data Source Explorer view allows you to interact directly with a database from the RDz client. Compared to its ISPF counterpart SPUFI, the Data Source Explorer is much easier to use and is less MIPS intensive. With the Data Source Explorer view, you can sample the contents of a table, create overview diagrams showing the relationships between tables in a database, and create SQL scripts. The results of SQL queries are shown in the SQL Results view, and the results can be exported to various data formats, including HTML, CSV, and XML.


Summary

In this article, we have presented a set of lesser-known RDz features that can make your work with the product more productive and enjoyable. These ten items merely touch upon the wealth of features that continue to be added to RDz with every release. We hope that this article enriches your experience with RDz and enables you to use the product more effectively. We encourage you to explore and experiment so that you can find even more RDz features that suit your development needs.


Acknowledgements

Thanks to all of those members of the RDz community whose brains we picked for ideas for this article, especially Venkat Balabhadrapatruni, Alan Boxall, Dan McCarty, and Jonathan Sayles.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=620742
ArticleTitle=10 little-known features in Rational Developer for System z that increase mainframe developers' productivity
publish-date=02082011