Download presentation
Presentation is loading. Please wait.
Published byNancy Spencer Modified over 9 years ago
1
Introduction to Rational Developer for System z For ISPF Developers - Assembler Version
Jon Sayles RDz Technical Enablement © September 2013 IBM Corporation
2
IBM Trademarks and Copyrights
© Copyright IBM Corporation 2007, 2008, 2009, All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. This information is based on current IBM product plans and strategy, which are subject to change by IBM without notice. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM Rational products and services are trademarks or registered trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
3
Course Topics Course Name: Rational Developer for System z
Course Description: Learn how to use Rational Developer for System z to do z/OS traditional development, maintenance, support and for Enterprise Modernization of z/OS applications Pre-requisites: Some experience developing Assembler applications using z/OS is expected. Course Length: ~5days depending on topics selected Topics (Agenda) Getting Started - installing and configuring RDz - and the course materials, and using Eclipse The RDz Workbench and introduction to Eclipse Code analysis tools Editing Working with remote system resources: Connecting to a mainframe Data management Accessing and editing files Remote program Assembling z/OS Application Development Creating MVS Subprojects Creating and customizing project properties Debugging z/OS Applications Debugging Batch Applications Setting Debug Tool for Online Applications Working with File Manager Creating test data Editing complex file-types Working with mainframe ABENDs using Fault Analyzer Creating Fault History views Analyzing and solving mainframe ABENDs Creating and modifying BMS Maps using the BMS Map Editor Optional session on using RDz for Web Service creation and consumption
4
Course Contributing Authors
Thanks to the following individuals, for assisting with this course: John Ehrman/IBM Assembler Product Owner Zvi Weiss, Certified IT Specialist, Rational Software for System z Kevin McMillin, Dillards Vijay U Sankar/IBM Larry England/IBM
5
Table of Contents Learning from these slides Course assumptions
RDz Workbench and Graphical Development overview Editing and Syntax Checking Source Files Appendices
6
Using this PowerPoint
There are two types of slides in this PowerPoint: Workshop slides – which indicate that you are to "do something" using RDz (instructions will be on the slide) The in the slide heading. 2. All the other slides contain conceptual learning material Some of the slides in this PowerPoint contain additional explanations and/or program code that you can use in workshops. To view a PowerPoint slide note: Move your mouse-pointer over the bottom of the slide border until the cursor becomes a north-south facing pointer Left-click and holding the left mouse-button down, drag the bottom border of the slide upwards until you see the text in the note This is a slide note. Some slide notes contain technical information – others contain program code
7
You know ISPF and have used it for at least two years You have:
Course Assumptions You know ISPF and have used it for at least two years You have: No experience with Eclipse or RDz Some experience with PC tools You have used MS-Windows applications for at least one year RDz installed and running on your workstation at version or later Note that all ISPF discussion assumes IBM-installed ISPF product defaults for functionality And does not include panel or command customization
8
RDz for ISPF Developers
UNIT RDz for ISPF Developers Topics: The RDz Workbench – Terms and Concepts Editing Assembler Programs Editing With Keystroke Shortcuts Find and Replace Dialog Creating New Programs From Scratch Miscellaneous Features – Hex edit, Content Assist Execution (control flow) and Data Flow Analysis Working with Copybooks and Property Files Appendix – ISPF / LPEX Editor Comparison
9
Topic objectives After completing this topic, you should be able to:
Describe the essential RDz terms and vocabulary – as they relate back to ISPF: View Perspective Menus Context menu Toolbar menus Work with Views: Define "view" Maximize/Minimize/Open/Close/resize different workbench views Work with Perspectives: Define "perspective" Switch perspectives Reset (to their installation defaults) Work with a graphical mouse Access the help system
10
What is Rational Developer for System z (RDz)?
1010 What is Rational Developer for System z (RDz)? Eclipse-based IDE that breaks the barriers of the green-screen platform Runs on Windows and Linux Integration point for z/OS Application Development tools RDz interacts with z/OS resources through a host-installed listener … and interacts through JDBC drivers to data sources MVS Resources z/OS Datasets JES TSO CICS Region IMS Region SCM CLISTs/REXX RDz Listener Started Task RDz Client Software JDBC SSL Encryption: When SSL connection is enabled, all communication from RDz client with the mainframe is encrypted: USERID/PASSWORD And all source and data file access Linux support: The following Rational® Developer for System z® features are not supported in the Linux environment: Local COBOL and PL/I native compiler Local COBOL and PL/I debug PL/I local syntax checking and show dependencies PL/I EST scenarios File Manager Fault Analyzer BIDI-enablement CICS® TX Series Security/Authorization RACF/ACF-2/Top Secret Data Resources DB2 Data Objects IMS Databases See Slide notes on SSL/Encryption and Linux client support RDz also interacts with data sources (DB2 tables/views, IMS database segments) through efficient JDBC access
11
Why use RDz For Traditional TSO/ISPF Development?
Developer Productivity RDz has an enormous assortment of tools that: Emulate the functionality of ISPF – for fast on-ramping of veteran TSO developers Complement the functionality of ISPF – to automate, streamline and simplify the tasks of everyday z/OS maintenance, production support and development Integrate with tools within and outside of the IBM solution set – which allow you to tap into your site-specific trusted and mature development processes, and access high-end functionality from IBM and OEM solution providers running on Eclipse Code Quality RDz also has tools that improve: Code maintainability Production application run-time efficiency Development Environment Modernization RDz has technology that appeals to both veteran TSO programmers and - especially to the next-generation of z/OS developers, who are used to modern development tools RDz is the new 3270 – and a single platform for: z/OS traditional development Java/J2EE and C++ development z/OS application modernization
12
RDz Functional Taxonomy – a Partial List
z/OS Development, Maintenance and Production Application Support Enterprise Modernization Access Datasets/Source Files CICS Web Services SCM functional integration PDS Support Migrate/Recall Support Local and Remote file support Tooling support in single or across multiple LPARs Source and PDS Search QSAM Data File Search Browse Load Module Search Load Library Use of Regular Expressions Windows metaphor Edit/Browse/View “Favorites” – “Most recently used” Generate: WSDL WSBIND file XSD files Deployment manifest Stub modules Test and Deploy WSDL Use Cases: Bottom Up Top Down Meet in the middle Program Analysis Source Navigation Windows (Standard) Navigation ISPF PF-keys + extensible Hot-keys Outline View Hover Open Declaration / Arrow keys Open copybooks Windows Screen Real Estate Size-able views Multi-window development Source Filters Collapse/Expand paragraphs/sections Program Logic tools Control Flow Analysis Data Flow Analysis Where used/Where Referenced Source Development Editing Data Sources QSAM File Editor DB2 Table Editor IMS Segment Editor VSAM File Editing with File Manager Integration with File-Aid Plug-ins ISPF and RDz Source Editing PF-Keys Hexedit Prefix Area Commands Command Line Commands Colorized statement support Local History PC Source editing functionality Code refactoring Wizard-driven DB2 Stored Procedure generation Comment/Un-comment multiple lines Access to 3270 Emulation within Eclipse All development options “preference-enabled” IMS Soap IMS Web 2.0 Languages COBOL, PL/I, Assembler, Java, C/C++ JCL/CLIST/REXX SQL BMS/MFS WSDL, HTML, XML 4GLs supported with Eclipse Tooling Generate XML/WSDL COBOL/PLI converters Manifest files Use Cases: Bottom Up Top down (PL/I only) Meet in the middle Test and Debug Integration with PD Tools/Debug Tool Integration with Xpeditor and CA-Intertest Syntax Check and Build Real-time validation Local and Remote Syntax Checking Integration with z/OS Build Process Content Assist COBOL, PL/I, Assembler SQL: Embedded, Interactive CICS statements Submitting/Managing Jobs Dataset Management Code Quality CICS Service Flows Submit and Locate Job Integration with JES Job Organization options (Filters) Show JCL Cancel/Purge Allocate/ Rename/Delete Create GDG Model Create VSAM Dataset Search Compress Code Review Source Format File Compare All of the above functionality Copy Files Within an LPAR Across LPARs LPAR PC 3270 "screen scraping" Aggregate transactions Automate processes Expose as web services SCM: IBM: Team Concert, SCLM, ClearCase CA: Endevor, Panvalet, Librarian, Serena: Changeman ISPW Functional Integration with z/OS REXX/CLIST/3rd Party Tools: Menu Manager HATS Eclipse Plug-in Integration RDz Product Integration 12
13
Crossing the Chasm – From ISPF to RDz
On ISPF the development paradigm consists of: Typing Familiarity with ISPF: Panels Commands
14
Crossing the Chasm – From ISPF to RDz
Using RDz the development paradigm changes to: Using a Graphical/Windowed IDE …with cutting-edge tools – that scale to the complexity of your z/OS development tasks An RDz Debug session with: - Monitored expressions - Dynamic data update - Breakpoints - Access to source tools - Program analysis - Flow diagram - Navigation - Real-time access to Edit and Browse: - DB2 table values - IMS Database values - VSAM files - QSAM files
15
Crossing the Chasm – From ISPF to RDz
To become productive using RDz you will need to: Get the hang of using a mouse for navigation Understand the differences in development tool terms and concepts Familiarize yourself with the RDz workbench organization – Menus, "Views" and "Perspectives" Translate your existing development techniques to use RDz and learn some new ones RDz is not "rocket science" but mastering it takes practice, and hands-on application A short list of RDz benefits includes: Improved productivity – see IBM IDE Efficiency Benchmarks: Lowered development costs through LPAR workload reduction Addition of new professional skills (Web Service development, Eclipse-based IDE experience, model-driven development, JCA development, etc.) Better job satisfaction
16
Launching Rational Developer for System z
When you launch RDz from your desktop it prompts you for a "workspace" A "workspace" is the highest-level folder on your workstation that contains: Files that are in local z/OS projects Meta-data ("data about data") – examples: Your development preferences and settings Your z/OS connection information Datasets stored on your PC ISPF Option 0 Workstation Hard-drive C:\rdzwksp5 C:\rdzwksp5
17
The RDz "Workbench" – Graphical IDE Elements – Menus and Views
Menus and toolbars RDz Workbench Scrollbars for navigation RDz uses as its Integrated Development Environment an open-source programming platform known as “eclipse” - Eclipse is a development platform that provides a graphical development environment that we'll be calling the RDz Workbench If you're a mainframe ISPF programmer, instead of exclusively typing in code and commands, you’ll type, but also use your mouse to: Drag & Drop files – from the mainframe to your workstation and back Do certain Assembler development activities – especially ones that pertain to program maintenance and analysis Manage (Open, Close, Create, Delete, Rename, Refactor, Move) files Kick off mainframe program compiles and batch jobs - and view the results “Paint” screens – develop CICS/BMS and IMS/MFS The Eclipse graphical software development idiom is a proven productivity enhancement over keyboard-only-development. Although, we will grant, that if you’re a dyed-in-the-wool ISPF-veteran, RDz will appear very different from green-screen technology. However, you will soon find that: For almost every development facility on the mainframe there is corresponding RDz functionality With a little practice you can become far more productive with RDz Consider – how often do you open a Windows DOS command prompt to type in commands that: create, copy, delete, organize and manage the files on your PC? Lots of tabbed Views
18
In ISPF you use menus to navigate from option to option, and
ISPF Menus Your initial impression of RDz might be that virtually everything is brand-spanking new But that's not the case. For example, in ISPF you use menus: - Primary Option Menu - Individual Panel Menus In ISPF you use menus to navigate from option to option, and from panel to panel
19
RDz Menus And in RDz you use menus and toolbars A Toolbar is simply a shortcut to menu functions enabled by Left-clicking on an icon Standard Menu Toolbar
20
RDz Menus – the Context Menu
RDz also makes use of Context Menus to simplify development tasks The context-menu is accessed by: 1. Selecting something 2. Pressing the right-mouse button Right-mouse "Context" menu As opposed to primarily navigation, RDz's menus provide direct access to development functionality and individual tools in the workbench
21
RDz Views and Perspectives
RDz is organized as a collection of tabbed and resize-able windows called “Views” Views display information or provide access to: - z/OS datasets - Local projects - Source editors - Syntax errors - Dataset editors - Analysis tools - Debug monitors - DB2 tables - SQL statement results Assembler Editor View z/OS Projects View Remote Systems View Views Outline View
22
RDz Views and Perspectives
Remote Systems View Tabbed and resize-able Views z/OS Projects Assembler Editor View Outline View Outline View A Perspective is a "collection of Views related to/organized around common tasks" – such as z/OS development, Debugging, DB2/SQL/Stored Procedure development and testing, etc.
23
ISPF Panels as z/OS "Views and Perspectives"
Browse (=1) a "view" DSList (=3.4) In a sense, RDz's Views and Perspectives are simply a graphical way of organizing functionality you've been working with for years Think of an ISPF panel as a "View" Think of ISPF itself as a "Perspective"
24
The Benefits of an Efficient IDE (Workbench)
Instead of maneuvering through panels to access functionality and working sequentially, in RDz the functionality you need is available in concurrent views Edit a program Access Datasets + Dataset Management Dataset Statistics Access Jobs (Outlist facility)
25
Review – Terms and Vocabulary
On z/OS TSO or ISPF is equivalent to an RDz "Perspective" Each ISPF panel or ISPF option/dialog is equivalent to an RDz "View" You can also think of a perspective as an ISPF menu panel such as =3 (Utilities) You use menus and commands to navigate to and from ISPF panels/views Using RDz There are different Perspectives for different kinds of development work: z/OS Project development work (browse/edit/compile) – z/OS Perspective Debugging – Debug Perspective DB2 and SQL work – Data Perspective Perspectives contain one-to-many "Views" Each View is specific to one specific function: Edit Properties Access to z/OS Views can be: Opened/closed/resized/maximized and minimized RDz menus are primarily used to access development tools and functions
26
Primer – Keyboard vs. Mouse Development
You will use different development techniques with RDz: Type statements using the Editor, Navigate through wizards, through your source files, and do other development activities with your mouse. If you’re new to mouse development consider the following: Left-mouse button Select some thing - Click – to set focus to or to select a field - Select a file in the Editor Scroll-bar manipulation Double-click a file to open it in the Editor Open a Workbench menu (at the top) Select (Left-mouse), hold, drag and drop a resource – used primarily for: - Opening Split-Screen views in the editor - Dragging and dropping files - CICS/BMS and IMS/MFS screen painting Right-mouse button Opens a “context menu” - From a program in the Editor Area - Open a Declaration or Copybook - Syntax Check - Rename/factor - Copy/Paste/Move/Delete code Notes: Scrolling wheel Used to scroll up/down inside source files - Fast and convenient
27
Workshop – Becoming Familiar with the RDz Graphical Tools
This workshop will start you down the road to RDz mastery – in the areas of GUI editing, Workbench navigation, and Eclipse tooling. You will: Explore graphical COBOL development techniques: Manipulate tabs Navigate the workbench Explore menus Edit a program Syntax check a program Recall that you will "do" or perform the tasks in the workshops on all slides that have this symbol in the slide header Before starting, you must have the sample workspace unzipped onto your C:\ root drive Version 8.5 Custom Workspace
28
Before We Begin – Product Functionality and Source Code Location
Local Files And Datasets In this first introductory tutorial you will learn how to navigate the RDz Workbench, analyze and edit source using programs The program source you work on could reside on: Your PC – in a "Local Project" An IBM mainframe – in libraries or sequential datasets Your mainframe – in libraries or managed by your SCM It does not matter where your source code is stored, the RDz features, functions and techniques you will learn work the same way Eventually you will work exclusively with program source that resides on your mainframe. However, in this class you may use program source code that resides on your local workstation, or on a mainframe. Where does my source live?
29
Workshops For This Section
Time to try out the techniques shown using RDz and sample programs You will need to have downloaded and unzipped the Custom Workspace onto your C:\ drive This workspace contains: All of the sample programs, copybooks, JCL, etc. Starter Property Group files – for doing certain development techniques Connections to the IBM mainframe for: MVS Files DB2 A sample Filter and Saved Search Query Sample Snippets – for code reuse Workshops
30
Workshop – Launch RDz and Select the Custom Workspace
From your desktop or the Windows start menu launch RDz When you are prompted for a Workspace use the Browse… function to find: C:\rdzwksp85 RDz v9 and v8.5 users
31
Workshop – Launch RDz and Select the Custom Workspace – v9
RDz opens in what is called the: z/OS Projects Perspective If after RDz opens, you notice a "Welcome Screen", most you likely did not unzip the custom workspace correctly. To correct this: 1. Close RDz. 2. Unzip your custom workspace directly onto the c:\ root drive. 3. Re-open RDz
32
Workshop – Launch RDz and Select the Custom Workspace – RDz Enterprise – v8.5
If you are using RDz Enterprise – which was delivered on or after version 8.5 – you will see an Enterprise Projects view and an Enterprise Development perspective This course material is based on "z/OS Projects" – and so, if you are using RDz Enterprise, please translate all content that references: z/OS Projects to Enterprise Projects throughout the course - in all workshops and in the Powerpoint slide materials The "Enterprise Projects" view is functionally equivalent to the "z/OS Projects" view. And the "Enterprise Development" perspective is the same as the "z/OS Projects" perspective.
33
The RDz "Workbench" – Project Organization
You will work with a variety of COBOL resources: programs, copybooks, compile listings, executables, data files and so forth. Using RDz you store, organize and manage the resources associated with your projects in Projects RDz resources are organized into - Project(s) - Folders – and sub-folders - Files You can think of the RDz resource topology as similar to ISPF libraries: Note – that this analogy is not perfect, just close enough for now Projects Folders Notes: Files RDz Workspace folder Project sub-Folder cobol Sub-folder – under the Project folder File – organized inside the cobol folder, etc.
34
Navigate in the RDz Graphical Workbench
Double-click ASAM1.asm and using your mouse: - Move the slider bars: Up and down Right and left Get comfortable moving the slider bars to navigate in the source file - Left-click the up and down scrolling arrows: To scroll one line at a time through the source file The Assembler Editor Recall that – if you're using RDz v8.5.1 substitute "Enterprise Projects" for z/OS Projects throughout the workshop instructions Up-down slider bar Left-right slider bar These scrolling techniques are similar to pressing PF8/PF7/PF10/PF11 in ISPF
35
Resize a Window in the RDz Graphical Workbench
You might wish to see more program source at a glance in the Workbench. There are many ways to do this, but we'll start with: - Move your mouse-cursor over the right-hand border of the editor window It will turn into an East-West facing pointer When this happens: - Left-click, and holding the left-mouse button down, drag to the right or left and resize the view You can also select the bottom window border. Left-click and hold + drag to make the window's height larger This window resizing technique is similar to setting your host emulator screen size (24X80, 32X80, etc.) As time permits, spend a few minutes working with mouse scrolling and window-sizing graphical development techniques
36
What have you done so far?
Workshop Review What have you done so far? (Before starting the workshops) – Unzipped a file onto your PC, that contained a custom workspace. Launched RDz Opened a program into the "Assembler editor" Navigated up & down, right & left using The scroll bars The single-line-at-a-time arrows Resized your editor window by dragging the window frame, making it: Wider (width) Deeper (height)
37
Workshop Review Practice makes perfect:
Close a view by clicking the Red X Practice makes perfect: Close the editor on ASAM1.asm If you made any changes do NOT save them Open IASBU10.asm in the editor Use the scroll bars to scroll up and down/right and left Use the up and down scrolling arrows Resize the editor window, make it: Wider Deeper (taller) Close the editor – and do NOT save changes
38
Manipulating Views – Part II
It's often useful to maximize and restore views for various development tasks. Steps: To maximize a view: Double-click in the middle of the view tab You can also click the Maximize icon in the top-right hand corner of the view To restore a view back to its original size: Double-click (again) in the middle of the tab Or click Restore Small icon in the right-hand corner of the editor
39
Manipulating Views – Maximize and Restore
From RDzClass: Double-click ASAM2.asm and load it into the editor Double-click the editor tab to maximize the editor view Scroll up and down a few times in the editor Double-click the editor tab to restore the editor Close the editor don't save any source changes (if you happened to make any) Load ASAM3.asm into the editor Maximize the editor view Scroll up and down a few times Restore the editor view Close the editor - by clicking the X in the tab
40
Optional Workshop – Eclipse Edit Navigation With Your Own Code
If you can connect to your own mainframe and can access your source code; Open a file, Navigate, Go full-screen, Restore the editor and Close. If you can't connect to your own mainframe, and time permits try the following: Repeat the workshops on navigation and view manipulation from this section but using the TAND004.asm program Note: Source colorization Check out the Outline view by clicking a label in the Outline view and seeing what happens in the source editor
41
Workshop - Resetting your Perspective
When you're first getting used to a new toolset, it's easy to do things inadvertently. For instance, you could close views, or resize them – making the views too small or too big An easy fix to restore your workbench to the installation defaults is to access the Window menu and either: Reset your perspective to the RDz installation defaults …or… Open (Show) views you may have closed accidentally Let's try it (do the following): Close a few of the views Now: Click the Window menu Click: Reset Perspective… At the prompt, click OK Note that from the Window menu you can also open other perspectives and open specific workbench views (the Show View option)
42
Workshop – Practice Opening/Closing Views
Up to now we've used just a few views, but RDz has lots of useful functionality – all of it accessed through views. And even though we're not going to learn about every available view, we should know how to open a specific view if we need to. Do the following: Close the Remote Systems view Close the Properties view Reopen (Show) a view: Left-click the Window menu Click: Show View > Remote Systems Repeat the above steps to re-open the Properties view
43
Workshop – Working With More Than One Program at a Time
From RDzClass and the asm directory: Double-click ASAM1.asm – to load it into the editor Double-click ASAM2.asm – to load it into the editor 3. Double-click the ASAM1.asm tab – to maximize the editor With both programs open in maximized view: 4. Left-click and hold the left mouse button down over the ASAM2.asm tab as you drag your mouse to the right 5. When your mouse moves over the blue scroll-bar it will turn into a bold right-facing pointer. Release the mouse button
44
Workshop - Working With More Than One Program at a Time
You should now be in multi-screen edit on two different programs To Restore the editing view to a normal frame view: Double-click over the tab again Notes 1. this may have seemed like a lot of individual steps, but once you've done it a few times, it will be easy 2. These are multiple "physical" windows – you have carte' blanche to work with your source: - Browse - Edit All of RDz's tools are available in either view Practice makes perfect Please open both DATEVAL and DEBUG1 Create a split-screen view Restore the view to a single edit screen Note – by "Normal frame view we mean including the other RDz Workbench views
45
Split-Screen It's also common to work with a single program in split screen mode In ISPF you split screen and load the same program into Browse or View mode (=1) In RDz it's simple to work in independent edit sessions on the same file – Press: Ctrl+2 Edit session 1 – on ASAM1 Split-screen Edit – on ASAM1
46
Practice: Split-Screen From z/OS Projects:
Double-click ASAM1.asm – to load it into the editor Press Ctrl+2 (Hold down the Ctrl key and simultaneously press the 2 key on your PC) Double-click the tab to maximize the view of both source files Note that unlike ISPF (which only allows you to browse the same source a split-screen session) using RDz you are in full edit mode To close the view, click the X in the right-hand corner of the split-screen Practice: Open DYNQUERY.asm and split-screen. Close the split-screen. Close the file. Repeat with IAAT591.asm. Split screen, Maximize/Restore the views, close the split-screen, etc
47
Horizontal Split of Two Different Programs
Using the Context (Right-Mouse) menu, you can edit in horizontal split screen Horizontal Split Screen is more useful for editing listing and data files
48
Split-Screen Q&A Q. What about F9 …or… is there a a hot-key combination I can use to swap between split screens? A. Most of the time you'll just click your mouse into the "other" split screen to set focus, however you can press: Alt+Shift+Right-arrow key to swap from the left screen to the right – and Alt+Shift+Left-arrow key to swap from the right screen to the left Q. Remind me again – how do I close Split-Screens? A. If you're editing the same program, click the red-X in the top right hand corner If you're editing two different programs close the view tab Q. Can I split screens horizontally? A. Yes – here's how: Splitting one program's source horizontally: 1. Press Ctrl+2 to split the source view 2. Right-click inside the program and from the Context Menu select: Horizontal split
49
Open Declaration (F3) Considerations:
RDz provides a quick navigation technique called "Open Declaration" To use this technique: Click your mouse into the variable name Either: Press F3 …or… Right-click and select Open Declaration Considerations: This technique works for COBOL, PL/I and Assembler You can open a variable or label or Macro declaration If the declaration is in a copybook, RDz will open the copybook (providing the workspace's SYSLIB Property Group value is correct. We will be covering how to setup Property Groups in a subsequent module).
50
What have you done so far?
Workshop Review What have you done so far? Launched RDz and closed the Welcome tabs to access the z/OS Projects perspective Created a new project – populated with example Assembler programs Opened a program into the "Assembler editor" Navigated up & down, right & left using The scroll bars The single-line-at-a-time arrows Resized your editor window by dragging the window frame, making it: Wider (width) Deeper (height) Maximized views and Restored them back to normal size in the Workbench Reset your z/OS Projects perspective to the RDz default Opened views that might have been closed accidentally Split-screen, and edited two programs at once Split-screen, and been in Edit on the same program Used Open Declaration to navigate to a variable, label or Macro
51
GUI-Navigation Workshop – 1 of 4
Customize the Outline View's behavior, to show a few new RDz features: From RDzClass – open TAED002.asm From the Outline View menu Click the tiny downward-pointing triangle Select (left-click): Link With Editor Navigate through the program by clicking various labels and macros in the Outline view From the Outline view Select TSTSR Right-click and select: Filter references (what did that do)? Click your mouse inside the source and press Ctrl+W Try this technique – of Filtering from the Outline view on a few other labels Don't forget that Ctrl+W shows (expands) all of the code in the file
52
GUI-Navigation Workshop – 2 of 4
Review of GUI editing techniques: From within TAED002.asm Use the scroll bars to slide up and down, right and left Stretch the editor frames to see more/less code: Down and up Side to side Stretch the Outline view frame up Maximize the view of TAED002 Press Ctrl+2 – to open a split-screen view the program Scroll up and down in either side of the split-screen view Make a change in either split-screen, and note that the change appears in the other screen Close the split-screen view Double-click to Restore the normal RDz workbench view Close TAED002 – do not save your code changes Stretch the Outline view to expose more of your labels and Macros
53
GUI-Navigation Workshop – 3 of 4
Let's try a few more new things… Open TAED002A.asm From the Outline view Click the Sort icon Does Outline view navigation still work? Try clicking a few labels/Macros From the downward pointing triangle, click: Show Categories Try navigating throughout the program using this Outline mode Close TAED002A If you have access to your own Assembler programs, and if time permits try some of these GUI navigation techniques on your own code.
54
GUI-Navigation Workshop – 4 of 4
Open Declaration Open TESTDBG.asm Find STRT_MSG Click your mouse in the field Right-click and select: …or you can just press F3 What happened? Return to the top of the file using the slider bar in the editor, and repeat Open Declaration with: SUMMSK PLIST OPTIONAL workshop: After you "Open Declaration" – from the menu toolbar (at the top of the RDz workbench) click the yellow left-pointing arrow to return to your editing start-position In the next section you'll learn how to set Bookmarks which are also easy back & forth navigation (Bookmarks are similar to ISPF labels) Editor Slide Bar
55
Real time Syntax Checking – for Branch Statements
The Assembler editor will detect branch statements to labels that are not found in the file. The syntax checking in the editor is not 100% the same as the assembler. For some statements (as you see in your first screen cap) no error is issued because the syntax checker does not access the host for any of the syntax checking (internal enhancement is open for adding full remote access during syntax check), and if we issued an error for every "not found" label that might be included as part of a macro call - then the source would be full of errors (that would be incorrect) The exception is branch statements - which flags when the label is not found in the file (but again if the label is in a macro call you still see an error - even though the statement is correct). But this type of check can be turned off in the preference page (HLASM Parser > Syntax checking) See Slide Notes on Real Time Syntax checking and Assembler statements
56
Workshop – Real time Syntax Checking for Branch Statements
Open DATEVAL.asm From the (right-click) Context menu, select Filter view > Branch instructions and labels Note the visual effect on the code Misspell a label Arrow down, or move your cursor off the line And note the message Try this with another label Close and do not save any changes to the code
57
Source Compare – 1 of 2 It's often necessary to compare two different releases of the same program source. RDz makes this easy to do. Select two source files: Select the different .ASM files – note that they could be in the same or in a different project Hold the Ctrl key to click (select) more than one file Right-click – select: Compare With > Each Other Notes: You can compare and edit in either file These files can be in the same or in different libraries. They can be on one or multiple LPARs You can compare files within column boundaries From Window > Preferences LPEX Editor > Compare Specify: Column Restricted Search Start and End boundaries
58
Delta (source difference) navigation and Copy toolbar
Source Compare – 2 of 2 Results are displayed in side-by-side windows (Maximized for best viewing). Notes: Lines changed and new lines from either source file shown in different shades Can click on the right-hand column border to navigate – and/or use the toolbar Delta (source difference) navigation and Copy toolbar
59
Workshop – Source Compare
From RDzClass: Select both: SUB1.asm and SUB2.asm (use the Ctrl key + left mouse button to do this) Right-click and select: Compare With > Each Other Experiment with the source compare features: Follow the Next and Previous difference icons Note: Changed lines Added/Deleted lines (in either source file) Try Copy Current Change – from Right to Left and from Left to Right Close all files
60
Organizing your tasks – Bookmarks View
What's a Bookmark? Bookmarks are hyperlinked annotations that allow you to quickly find specific lines in a file Reminders, sort of: electronic sticky pad notes Create a Bookmark as follows: (From inside an edit session) Double-click, or Right click over the left-hand border, next to the line you want the Bookmark on - Select: Add Bookmark… - (optionally) Overtype the name of the Bookmark - Click OK A small vertical book icon appears in the border (on both the left and right hand borders of the file) To clear a Bookmark: Right-click over an existing Bookmark Select Remove Bookmark To see and to use your Bookmarks: From the Window Menu Select Show View Bookmarks Notes: - Bookmarks also appear as tiny green rectangles in the right-hand edit border. - You can click on them to navigate from Bookmark to Bookmark - You can also delete Bookmarks en masse, from within the Bookmarks View by: - Selecting - Right-click and delete Note also that: Bookmarks added to remote (z/OS based) files will hyperlink back to the host, and open to the line Bookmarks added to local (workstation-based) files will hyperlink back to your file locally But Bookmarks do not transfer between remote and local resources – meaning that if you enter a Bookmark on a local file and subsequently move that file to the mainframe the Bookmark will not appear Five Bookmarks in the Bookmarks view See Slide Notes
61
Workshop – Bookmarks for Navigation and Annotations
Open TAND004.asm in the editor Open Declaration on WORKAREA (the label is down near the bottom) Slide up to the top (imagine if this was a 20,000 line assembler program) – and you weren't at the top or bottom Now, set a bookmark on the WORKAREA reference near the top of the program Again Open Declaration Return to the Bookmark by clicking on the small green bookmark reference on the top right of the editor Set one other Bookmark in TAND004 and close the file Open ASAM2.asm, and set a few Bookmarks From the Window menu, select Show View > Bookmarks Double-click a Bookmark – what happens? If you have access to your mainframe, open a source file and set a Bookmark, then close the file Use the Bookmark to reopen the file. From the Bookmarks view: Right-click and Select All Delete all of the Bookmarks Close the Bookmarks view
62
Local History – 1 of 3 RDz provides historical versions of your saved source file changes This allows you to: Return a source file to a previous version Compare a source file with a previous version To compare versions: From any file open in the editor Right-click Select: Compare With Local History… To replace versions: Select: Replace With
63
Local History – Source Programs – 2 of 3
From the Compare screen Double-click the Revision time This is down at the bottom of the screen This loads the selected version into a file compare frame Verify the version's changes Click Replace … or … Cancel
64
Local History Preferences – 3 of 3
You can specify how long RDz maintains Local History files From Window > Preferences Expand General Expand Workspace Select Local History Click OK to save
65
Workshop - Local History
Open TAND004.asm Add one new statement Modify one existing statement Delete a statement Save your changes and close the file Re-open TAND004.asm Right-click in the editor Select: Replace With > Local History… Double-click one of the Revisions Note the file comparison Select Replace Note what happened to your changes Close all files currently open in the editor Do not save any changes Right-click … Close All
66
The Right-Mouse (Context Menu) as "What's available help"
As you begin your work with RDz, you may wonder how to do something, where to find an option, etc. By pressing the Right-mouse button, RDz will show you – in the context of what is selected – what functionality or operations are available Context Menu options available when you've selected a PDS
67
The RDz Product Help and Documentation
RDz has a rich and easy-to-use help system, with: A global encyclopedia of topics (Help Contents) Search Index List of hot-keys (Key Assist…) List of web resources Links to product and help update processes About (shows installed version and release levels along with information on eclipse plug-ins)
68
The RDz User Group – an Online Community for RDz Developers
Quarterly web-conferenced meetings No-charge technical 90-minute meetings/sessions/presentations Speakers from: RDz developer community Business partners IBM Topics include: New release updates Tips & Techniques Meeting themes: SOA Business Rules Integration points Advanced analysis Etc Q&A with IBM
69
Internet-based Learning – The IBM Education Assistant
Complementing the RDz Distance Learning, you might want to check out the IBM Education Assistant: From this site you will find annotated learning modules on specific product features RDz Version-specific Links
70
Optional Topics and Workshops For This Section
If you have time, and are comfortable with the material covered, or if you are part of an RDz "Tools Team" and need deeper content - please read through the next series of slides – and try out the techniques shown using RDz and sample programs in your RDzClass project. Also – if you have access to RDz installed on your mainframe and time permits, please try out the techniques shown using your own application source. Optional Topics and Workshops
71
Optional Workshop – Eclipse Edit Navigation With Your Own Code
If you can connect to your own mainframe and can access your source code; Open a file, Navigate, Go full-screen, Restore the editor and Close. If you can't connect to your own mainframe, and if time permits try the following: Repeat the workshops on navigation and view manipulation from this section but using the TAND004.asm program Note: Source colorization Check out the Outline view by clicking a label in the Outline view
72
Optional Workshop – Eclipse Edit Navigation With Your Own Code
If you can connect to your own mainframe and can access your source code; Open a file, Split-Screen, close Split-Screen. Open two or more programs side-by-side in the editor. If you can't connect to your own mainframe, and time permits try the following: From RDzClass: Open DATEVAL.asm – and split screen, navigate, change a value in one edit view, and find that changed value in the other. Open ASAM1.asm, ASAM2.asm and ASAM3.asm Maximize edit, and view the programs side-by-side. Optionally Split-Screen in one of the programs.
73
Optional Topic – Horizontal Split of Two Different Programs
Using the Context (Right-Mouse) menu, you can edit in horizontal split screen Horizontal Split Screen is more useful for editing listing and data files
74
Optional Topic – File Compare (Explanation of Toolbar Functionality)
Besides being able edit in either side of the File Compare window (and save changes) the toolbar provides the following actions
75
Optional Workshop – Check out the RDz product and external help facilities
From the Help menu, try out various options: From Help Contents – check out what's new in the latest release From About IBM Rational Developer for System z – find out what version you're running Search on a few topics: Endevor File System Mapping Property Group Discover Context-Sensitive Help: Click the z/OS File System Mapping view Right-click inside the entries in the view and select: Add Data Set Mapping Click on the Context Sensitive question mark (lower left-hand corner)
76
Optional Topic – Another Code Annotation Feature – Tasks
What's a Task? Tasks are annotations like Bookmarks. Except Task carry additional information about what you're looking to do. Besides merely tagging lines, Tasks allow you to: Set a priority to the annotation Specify whether the task has been completed Enable as follows (from an edit session) Right click in the left-hand border, next to the line you want the Task on - Select: Add Task… - (optionally) Overtype or add text in the Task Description - Select a task Priority - Check if the task is complete See Slide Notes
77
Optional Topic – The Task View
To see your Tasks in the Tasks View Open the Windows Menu Select Show View > Other > (type ) tasks From this View you can: - Navigate to specific Tasks - Check/un-Check Task completion - Sort your Tasks - Select and work with multiple Tasks SORT Select two or more Tasks Right-click Context Menu options
78
Optional Workshop – the Tasks View
Open three different assembler programs in the editor and do the following: Set (create) one or two Tasks in each program (overtype the default text on at least one Task) (While still in edit on one of your programs): Navigate to the different Tasks using the green rectangle in the right-hand border of the editor Open the Tasks View – and: Modify the Task Description Set certain Tasks status to complete Navigate to the Task lines Sort the list by Priority Sort the list by Complete/not complete OPTIONAL – If time permits: If you can connect to your mainframe, open a program and set a task in the code Close the program Reopen the program by clicking the Task in the Tasks view Select all of the Task information – Copy the Tasks and paste into rows of an Excel spreadsheet – also: Delete the Completed tasks Delete the remainder of your Tasks – en masse (using the Context Menu)
79
Optional Topic – Named Marks
Another way of supporting ISPF Labels is through the use of Named Marks This allows you to: Set various named marks throughout your source code Navigate back to the named marks with minimal effort (like ISPF labels but easier) Marks are a two step process: From the editor: Select a line in which to set a Mark From the Edit menu Name a Mark… Mark > Name a Mark… Find Other > Find Mark Mark names are case-sensitive Note that Marks do not: Persist after you've closed your editing session Become part of your source code
80
Optional Workshop – Named Marks
Open ASAM1.asm Scroll down inside this source file and set three named Marks From the Edit menu: Mark > Name a Mark… Type the name (keep it short – and remember, Marks are case-sensitive) Now find the three named Marks Find Other > Find Mark Kind of a pain to keep hitting for Find Other > Find Mark, isn't it? Try this: From Window > Preferences > LPEX Editor > User Key Actions Key: a-m Lowercase "a" Action: nameMark Click: Set Key: a-t Action: findMark Click: Apply, then OK Repeat the above steps, but instead of using the Edit menu for Find Mark, try using: Alt+T
81
Optional Topic – RDz as a "GUI File Transfer" Tool
Local Files And Datasets When RDz is installed and working in your shop, you can drag & drop source datasets and files between: PC and mainframe Mainframe and PC Mainframe and mainframe (from one LPAR to another) PC and PC Note that by "your PC" we mean "any networked drive" Optional Workshop – if you have a connection to a mainframe Steps (assuming the RDz mainframe components have been successfully installed and configured on your host system): Connect to a mainframe (see next section for how to) From your PC drag & drop files to a mainframe source library (see next section for how to) From the mainframe: Open a library Select a few PDS members Drag & Drop them to one of your RDzClass folders Select an entire PDS (library) Drag & Drop the library to the RDzClass folder What happened? Transfer Source Files
82
Advanced Topic – Getting to other views from Maximize
In Maximized (full-screen edit) mode, all of the cool and useful RDz views are available as miniaturized icons in the sidebars Mouse over the icons – to determine the view they represent Click the icon – and the view "pops-up" You can use the view while it's visible Click back in the source – to return to full-screen edit mode and "hide" (minimize) the view Note that the placement (location) of the minimized view icons in the sidebars can change from release to release
83
Advanced Workshop – Hover, Hyper-links and the Back Arrow
Open TESTDBG.asm Press and hold down the Ctrl Key Mouse-over some variables - or label names ... note how they turn into hyper-links - Hmmmmmmmmmm what could this mean Left-click on a hyper-linked identifier. Yep - Left-click takes you to the field/label's declaration Yep - even if that declaration is inside a copybook or Macro file (provided you've opened the copybook/macro file from the mainframe) Anyhow - the behavior is pretty cool Hyper-links inside Assembler source code – what's next built-in local source History selection capability? To return to your starting edit point SFLAG Hold down Ctrl Left-mouse click
84
Optional Topic/Workshop – One Click Hover + Open Declaration
By holding down the Ctrl key when you hover over a variable or label name, RDz hyper-links the reference to its declaration - allowing you to Left-Click and go directly to the declaration (variable or paragraph/section). Net? - Less typing - Less mouse manipulation - More productivity Optional Workshop – Note, this workshop requires you to have: A working mainframe connection, 2. The class files uploaded to your mainframe ID and 3. Correct Remote "Property Groups" for this class and your connection. If you have any concerns that you are not setup for this see your instructor. From <YourID>.TEST.ASM: Open TAED002 From the Command Line, do an ISPF Find on: TSTSTR2 We'll cover ISPF Prefix Area and Command Line editing in the next section of the course Hold down the Ctrl key Move your mouse over the TSTSTR2 reference and Left-click when it turns into a hyper-link What happened? If the copybook that contained the TSTSTR2 label did not open in the editor ask your instructor for assistance TSTSTR2
85
Optional Topic/Workshop – Hyperlinked Program Documentation
The Ctrl key turns anything into a legitimate hyperlink – including: internet URLS, and files stored on a networked drive. Think; Program documentation process models, etc. Workshop Open TAED002.asm Hold down the Ctrl key Click the file:/// link Optionally drag to create a multi-windowed view of the program and documentation side-by-side Question: What would happen if you changed the file:/// link to an http link? For example:
86
Section Review What have you done so far?
Learned some of the RDz terms and concepts – and how they contrast and compare with ISPF: Workspace Perspective View Menu Editor Understood the central role of your mouse (both left or "selection" button, and the right or "context-menu" button in doing RDz development Launched RDz and closed the Welcome tabs to access the z/OS Projects perspective Created a new project – populated with example HLASM programs Opened a program into the "HLASM editor" Navigated up & down, right & left using Scroll bars Resized your editor window Maximized views and Restored them back to normal size Reset your z/OS Projects perspective to the RDz default Opened views that might have been closed accidentally Worked in Split-screen mode Learned a few other RDz editing techniques, utilizing: Outline view Bookmarks Task list Local History Remote Error List File Compare
87
Part II – Editing Your Program Source
© 2012 IBM Corporation
88
RDz for ISPF Developers
UNIT RDz for ISPF Developers Topics: The RDz Workbench – Terms and Concepts Editing Assembler Programs Editing With Keystroke Shortcuts Find and Replace Dialog Creating New Programs From Scratch Miscellaneous Features – Hex edit, Content Assist Execution (control flow) and Data Flow Analysis Working with Copybooks and Property Files Appendix – ISPF / LPEX Editor Comparison
89
Editing – Agenda Selecting an Edit Profile Program source Navigation
Editing programs ala' ISPF PF Keys ISPF Line Commands ISPF Prefix Commands Common program editing techniques Data Flow analysis Procedural logic (Paragraph Flow) analysis Other common ISPF techniques Find (exclude/not exclude) Creating new programs scratch Working with programs that contain EBCDIC (binary) data embedded in the source file Working with RDz Property Files Introduction only. This topic is covered in-depth, in a subsequent module
90
Selecting an Editor The RDz product installation default editor is the LPEX editor, LPEX (Live Parser EXtensible Editor) A powerful PC-style editor with language-sensitive tools and features Contains ISPF emulation – activated by changing the LPEX editor profile (next slide)
91
Selecting ISPF as your LPEX Editor Profile
The LPEX editor provides a number of different editor profiles you can use for development An editor profile provides emulation of an editor product you may have used with different software: ispf, vi, emacs, etc. From RDz Preferences… you can change editor profiles at any time during your work Like all preferences, your editor profile decision is saved in your Workspace: If you create a new or use a different workspace, you will need to return to Preferences to customize your Editor Profile A note about RDz's ISPF emulation: The ispf LPEX edit profile provides almost all of the LPEX functionality, plus: Emulation of the ISPF ( =2 ) editor The same ISPF features are available for ( =1 ) browsing datasets RDz's emulation is very close to z/OS ISPF edit 85 95% compatibility (depending on your shop's ISPF customization) But all of this is within a GUI editing workbench – so initially, things will seem different from your 3270 / ISPF development experience Also – there are a number of RDz editing features that make certain ISPF edit functionality irrelevant (i.e. COLS is not needed) See Slide Notes – on RDz's ISPF Edit Emulation You can go to Preferences… from within the Editor
92
Workshop – Changing You Editor Profile – to ISPF
From Window Preferences Click: LPEX Editor And in the Editor profile list Select: ispf Click: OK Set ispf as your editor profile
93
Workshop – Command Line Location – v 8.5.1
If you are using RDz client v8.5.1 – you can set your command to the top – or bottom From Window Preferences > LPEX Editor > Controls Select top or bottom: Click: OK - Change the command line to top - Open an Assembler program from RDzClass Note - in this course the command line is screen captured at the bottom – but that makes no difference to the RDz functionality or the workshop directions
94
Filters in preferences and other places
You can use the filtering areas of many RDz tools to streamline access to target features From Window > Preferences type the following into the filter area and press Enter editor HLASM Sql … note the effect these filters have on the Preferences shown From Window > Show view > Other… type the following into the filter area and press Enter rem ta cics z/
95
Other HLASM Preferences
1. Access HLASM preferences: From Window > Preferences LPEX Editor System z LPEX Editor HLASM Parser Try the following: Change the tabs setting Add auto comment… Works with the Auto comment Preference A topic covered later in this module Click OK Edit any Assembler program Try your new tabs Modify a line Press Ctrl/S (save)
96
Other HLASM Editing Preferences (Margin options)
From: Window Preferences LPEX Editor System LPEX Editor HLASM Parser Click margins Note the default options Note that most developers use the default ("out of the box") Margin options
97
Assembler Editing Behavior – when Margins are set
Enter, Alt+S (Split), Alt+J (Join), Ctrl+V (Paste) Split line here Lines joined – continuation removed
98
Setting Nesting Colorization
Nesting enables RDz to colorize Assembler (HLASM) statements, providing unambiguous flagging of statements that are nest beyond a level of complexity considered your shop's standard.
99
Workshop – Nesting Colorization
Do the following: Open ASSEM123.asm in the editor From the Context menu, select Preferences… From HLASM Parser > Nesting Check: Show nesting Set: Number of levels to: 6 Click OK – to save your preferences Scroll through the code and note the effect When you are finished with this lab, return to Preferences and uncheck Show Nesting before continuing with the course.
100
HLASM Editor (Assembler Syntax Errors) Preferences
Customize the level and quality of Syntax Error detection by the editor Uncheck when you have lots of custom macros (not found due to mapping issues) that are appearing as errors in the source
101
Workshop – Syntax Errors
Do the following: Open HLASMEX.asm in the editor From the Context menu, select: Filter > Branch instructions and labels Modify a few of the branching statements: Misspell the labels Note the error messages From the Context menu, select Preferences… From HLASM Parser > Syntax Errors Un-Check: Issue syntax errors for missing… Click OK – to save your preferences Note the effect on your mistyped branch statements Return to preferences and set syntax checking back on Click OK – note that the syntax errors are flagged Close the file – and do NOT save our changes
102
HLASM Editor (Task Tags) Preferences
Task tags – allow you to pre-create annotations as comments in your source code, that filter lines, and also act like ISPF labels (for navigation purposes)
103
Workshop – Task Tags – 1 of 2
Do the following: Open HLASMEX.asm in the editor From the Context menu, select Preferences… From HLASM Parser > Task Tags Add the Task Tags shown in the screen capture Note – make them all upper case Click OK – to save your preferences Type one of each Task Tags into the HLASMEX source in a comment Save your changes and note the effect (a Task is created) Close HLASMEX Note: In order to permanently remove these Task Tags you can either: Remove the Task Tag Comment Remove the Task Tag from Preferences
104
Workshop – Task Tags – 2 of 2
Open the Tasks view Window > Show view > Other… Tasks Re-open HLASMEX.asm Use the Task view to navigate in the source From the Context Menu, select: Filter > Comment task tags Press Ctrl+W (Show All) Close HLASMEX
105
Changing Colors to Green Screen "look and feel" – Overall Appearance
You might also wish to customize your editor view colors – to closely match those you use on ISPF. This is easy to do, and the steps are shown on the next slide. Note that the screen captures throughout the rest of this course are RDz default, not customized
106
Changing Colors to Green Screen "look and feel" – Assembler Statements
Along with the LPEX Editor Appearance options, you can also customize your Assembler code colors within individual statements, from: LPEX Editor > Parsers > Parser Styles
107
(Optional Workshop) Changing Editor Colors
First – open any file in the editor (StartApp.cbl will do) Next, from: Window > Preferences LPEX Editor Appearance Set customized attributes. After each operation, click: Apply and look at your editor view Palette: Black parserMessage – click: Foreground, and from the Color Palette, select Red then click: Apply on the Color Palette
108
(Optional Workshop) Changing Editor Colors
From: LPEX Editor > Parsers > Parser Style Set some more customized attributes. After each operation, click: Apply and look at your editor view Ensure that Document parser is set to: tpfhlasm+ Set the following Style attributes - Line Comment Blue - Statement Name/Label White Click OK If you don't like your changes, there's a "Restore Defaults" button you can click that returns the editor to the install colors
109
The RDz Editor – Using the ISPF Profile
The RDz editor view changes, when you use the ISPF profile: New function keys are enabled, the "prefix area" appears, etc. Note – same: Scrollbars Status line – showing: Current line Columns Command line Colorized source New: Prefix area - for ISPF prefix commands PF-key assignment The command line now works with some ISPF commands Note: ISPF command line commands are NOT case sensitive Status line Vertical Scroll Bar Prefix Area Command line
110
Workshop – ISPF PF-Keys and Navigation Options
F1 – Help F5 – Repeat Find F6 – Repeat Change F7 – Page Up F8 – Page Down With ADA01.asm loaded into the editor, do the following: Press F1 – Note that this opens RDz Help in a separate view, and the first time you do this it will take a few seconds Press F8 – several times to page down in the source file Press F7 – several times to page back up in the file Double-click on the Editor tab – to maximize the size of the Editor window Press F8 and F7 again Note that the # of lines scrolled has changed, according to your window size Press and hold the F8 key down – to zoom downwards in the source file On the command line, type the ISPF command shown. Press <Enter> after each command: Top Bottom Note: There is no Max/PF8 or Max/PF7 option. Instead, use: Top, Bottom – or as you learned in the previous section: PgUp, PgDn and the Scrollbars
111
"No L" Locate – More Navigation Options
Using ISPF you locate a given line by typing Locate, Loc or: L <Line#> Using RDz (from the command line): Type (only) the line number Press <Enter> Locate the following lines in ADA01.asm 22, 333, 143, 1 Press Ctrl+PgDn (From John Ehrman/Assembler Product Owner/IBM). The use of "EQU *" for labeling instructions is very risky (the value of * might be on an odd boundary, so a branch to the symbol will ABEND) -- much better to use DC 0H or DS 0H See Slide Note on use of EQU *
112
Summary – Options for Navigating Through Your Program Source
Top of file: Top Bottom of file: Bottom Page down: F8 Page up: F7 Page down: PgDn key Page up: PgUp key Click inside the scrolling area – on either side of the scroll bar to Page up or Page down Locate any line of source by typing the Line# in the command area Scroll up/down right/left using the: Scroll bars Line-at-a-time up/down – click the arrow Your mouse scroll-wheel Fast and convenient for positioning/centering code on-screen
113
Open-ended Review and Workshop – Navigation Options
Progress your RDz navigation skills by trying out the various scrolling and navigation techniques – and make up your own workshop. Maximize the editor view of ADA01.asm and practice the following: Commands: Top Bottom <Line#> Hint – Set your mouse cursor focus in the Command line and press the up arrow key on your keypad to "retrieve" the previous line command This is exactly like PF12 or the ISPF Retrieve command Practice the ISPF and RDz paging and scrolling techniques: F8 / F7 PgDn key / PgUp key Click inside the Scroll bar on either side of the indicator Practice centering paragraphs, long statements, records Drag Scroll bars up and down (left-mouse button) One line at-a-time up/down scrolling: Click the up/down arrows Click (set focus) inside your source file and use your mouse's scroll-wheel One line up Dragging scroll bar
114
Workshop ISPF Command Line Commands – Find/Repeat Find
You can do the essential ISPF find commands and its variations Let's try out a few familiar commands and options: With IAATS91.asm loaded into the editor, do the following: - On the command line, type an ISPF command Press <Enter> after each command: top F STR Press F5 several times Bottom F STR first F STR last Top F STR 1 12 F STR first 30 50 F STR first F STR last F STR Prev Top ; F STR all x all ; f pcksum all RES To reset your source view Hint: Don't forget that – with mouse focus in the Command line, you can press the Up arrow key to retrieve the previous command Note – Because ISPF command-line commands are not case sensitive both of these examples work Note – You can "stack' ISPF line commands by separating with a semi-colon. But – you also need to type a space (a blank) between the operands and the semi-colon.
115
More ISPF Command Line Commands – Change and Repeat Change
You can do the essential ISPF change commands and its variations With IAATS91.asm loaded into the editor, do the following: - On the command line, type an ISPF command Press <Enter> after each command: top C pcksum pksm undo C pcksum pksm all undo 12 C all pcksum pksm C pcksum pksm first C pcksum pksm last top ; c pcksum pksm 12 40 Press F5 then Press F6 Continue pressing F5 and F6 for "discretionary find/change" bottom Try a few more Find / Change command combinations: F "10" all F "'10'" all Press F5 F mvc all X all ; f mvc all RES X all ; f pcksum all 1 12 X all ; f pcksum all c * pksm Press F6 a few times Bounds 20 40 Then try a few Find/Change commands again Take another 5-10 minutes and use F with the following Find operands: char, suffix, prefix, word, char, RFIND
116
ISPF – Find All (Exclude) Search Within File
Common ISPF editing technique: - Exclude various source lines - find (within) excluded lines - Used extensively on giant production source files Command ====> F (or C) 'xxx' X To perform this using RDz use the same command line syntax format: 1. Exclude lines (Prefix area commands) 2. Then type: F <xxxx> ALL X This will limit the scope of the search to only the excluded source lines Note that ALL operand is not required
117
ISPF – Find All (Not Exclude) Search
Another common ISPF technique - Exclude various source lines - Find within (not) excluded lines Command ====> F (or C) 'xxx' NX To perform this using RDz use the same command line syntax format: 1. Exclude lines 2. Then type: F <xxxx> ALL NX This will limit the scope of the search to only the NOT excluded source lines Note that the ALL operand is not required
118
Workshop – ISPF Find Exclude/Not Exclude
From z/OS Projects, open IASBU10B.asm 1. From the ISPF prefix area eXclude all lines from view 2. Type the following command: f dwork all x 3.From the command line, reset: 4. Type the following command: f dwork all nx 5. Again reset your edit session, and experiment with different find commands combined with X, NX Close and do not save your changes
119
ISPF Prefix Commands Most of the ISPF prefix area edit commands are supported with same functionality For a complete list of supported prefix commands: Place your cursor in the prefix area Press F1 ISPF Prefix area commands
120
Prefix Area Commands Workshop
Using your ISPF skills, issue the following ISPF commands by entering values in the Prefix area and pressing <Enter> after each edit operation Note: The editor line numbers will change and update as you finish each workshop step. Keep in mind that you're practicing ISPF Prefix Area commands in RDz – not programming Load IASBU10.asm into the editor, and using the Prefix area commands: Repeat lines 9 and 21 Block repeat lines 9 23 Block delete lines 23 25 Copy line 11 after line 19 Block copy lines 23 36 after line 48 Delete lines 50 and 56 58 Block move lines 37 38 after line 46 Close IASBU10.asm and do NOT save any of your changes ISPF Prefix area commands
121
Prefix Area Commands Workshop - continued
Again edit IASBU10.asm Do not to worry if your line #s are not exactly in synch with these workshop tasks. Just do the ISPF functions described Scroll to the top-of-file, and Insert a new blank line after line 13 Block exclude lines 30 35 Click the collapse/expand icon From the command line, type: RES On line 1, exclude 9999 lines In one operation, perform multiple ISPF prefix area commands For example Please spend another 5 minutes practicing with ISPF prefix area commands and combinations that you're familiar with using your mainframe code. Close your edit session and do NOT save your changes to IASBU10.asm
122
Optional ISPF Prefix Area Commands – Example with Excludes/Expand up or Down
A common ISPF Prefix command technique is to: Exclude a number of lines (Xn (where n – is a number), or XX….XX) Show a number of the excluded lines – with an "F" or "L" prefix command With RDz you might use this less, as you get expand/collapse functionality (plus signs). But if you need this technique, it's supported: Optional Workshop To show n excluded lines within an excluded block: Excludes lines, then position your cursor on the excluded marker Type: F n … or… L n - in the prefix area Where n is a number of lines to show F – shows the first n excluded lines L – shows the last n excluded lines (OPTIONAL) Try: LC and UC (Lower-Case/Upper-Case prefix area commands) – in any Assembler program
123
Advanced Topic – Customized Auto Commenting – 1 of 3
Your shop may require you to auto-comment columns 1-6, or with information about changes you make to source lines. Typically this would be something like your initials and a date: JS … etc. Auto Commenting is available in Assembler from the Context Menu Enter the text you want Auto Commenting to add to your source code
124
Advanced Topic – Modifying the Auto Comment Rule Defaults – 2 of 3
You can modify RDz's defaults for Auto Commenting Assembler, from: Preferences > Autocomment Select HLASM and click: Edit… Set: Comment format rules Insertion rules Default comments
125
Advanced Workshop – Auto Commenting Changed Lines – 3 of 3
Open any of the Assembler programs in RDzClass From the Context menu, select: Start Flagging Changed Lines From the Language Profile, select: HLASM Type something in the Base Flag (your initials plus a Gregorian date for instance) Click OK and modify a source line Move your cursor to some other line and note the effect Optional/Advanced Workshop - If time permits try the following: From Window > Preferences > Auto Comment Edit the HLASM options – Modify the Formation and Insertion rules See screen captures below for examples Repeat the above Auto Commenting exercise, then check out what your new preferences did
126
RDz for ISPF Developers
UNIT RDz for ISPF Developers Topics: The RDz Workbench – Terms and Concepts Editing Assembler Programs Editing With Keystroke Shortcuts Find and Replace Dialog Creating New Programs From Scratch Miscellaneous Features – Hex edit, Content Assist Execution (control flow) and Data Flow Analysis Working with Copybooks and Property Files Appendix – ISPF / LPEX Editor Comparison
127
Keyboard Editing versus Mouse-based
You're probably getting the picture that there are two distinct editing "modes" using a graphical workbench like RDz: Using your mouse for: Navigation Highlighting Selection Accessing RDz tools and your keyboard for content editing Using the keyboard for: Accessing RDz tools Content editing Most developers feel as though it's worth going through the skills-transition, to master mouse-oriented development – as this pays dividends for z/OS and modern-development workflow (Services, contemporary U.I. work, etc.) But, on the next few slides we present Hot-Key combinations available in the RDz editor for those that are ISPF power-typists, who want to ease into things gradually
128
Common ISPF Key Editing Techniques – Auto Continuation
Split and Join lines: 1. Split lines: Position Cursor Press Alt+S Note that you can put the keyboard in Insert mode and press: Ctrl+Enter – but that will not make use of the auto-continuation feature 2. Join lines: Press Alt/J
129
Common ISPF Key Editing Techniques - continued
You're probably used to the Erase (EOF) key. Using RDz you substitute Ctrl+Delete Other useful PC-key combos 1. Select to the end-of-line Shift+End 2. Move your cursor to the end and beginning of a statement Position your cursor inside a statement: Press End Home
130
Workshop - Common ISPF Key Editing Techniques
Steps: Open the IASBU10.asm program in the editor - Select all (Ctrl+A) then Copy (Ctrl+C) all of the statements in the program - Right-click over the HLASM folder in z/OS Projects and select: New > File Name your new file: IASBU10B.asm Paste the copied Assembler in the new IASBU10B.asm file From line 28, using Alt+S, split the current line in the middle of the comment Using the mouse Cut & Paste technique, rejoin the lines Using the RR/RR (block Repeat) – repeat the entire comment block 3 times Use Ctrl+Delete to erase to end-of-line several of the comment lines Using the Outline view, return to the WORKAREA section Press Ctrl+Home to navigate to the top of the screen Using the command line, Find the first occurrence of: SUMFIN in the source Press F5 four more times – where did you end up? Press Ctrl+Home again Locate line 46 Press the Home and End keys a few times within the code on line 46 From the first byte (column) in line 46 press Shift+End Set your cursor focus on line 61 column 27and press Shift+Home Close IASBU10B.asm edit session – and do not save any changes you've made above
131
Hot-Key Combinations
The ISPF editor actually supports an extensive collection of Hot-Key combinations: You can see the complete list of Hot-Keys at any time during your edit session by pressing: Ctrl+Shift+L Black entries are activated Gray entries are unavailable in the current editing context Hot-Keys are case-IN-sensitive Alt+C Alt+c We will cover the essential Hot-Keys starting on the next slide: Navigation Select Text Copy/Paste Text Line Options Miscellaneous Ctrl + Shift + L
132
Hot-Key Combinations – Source Navigation + Miscellaneous Keys
RDz Hot Keys Description ISPF Equivalent Ctrl+Home Top of file Max PF7 Ctrl+End Bottom of file Max PF8 Ctrl+2 Open same program in split-screen view PF2 - then open the source member Ctrl+0 (zero) Close edit session PF3 (or CAN on the command line) Ctrl+S Save edit session Save Ctrl+P Print current file N/A Ctrl+T Make current line top line in the editor PF7/PF8 with CSR as your paging option PgUp Page up one physical page of source at a time PF7 PgDn Page down one page of source at a time PF8 PF7/PF8 Page up/down one page of source at a time Up/Down – Right/Left Arrows Scroll one character at a time through your source: Up/Down – Right/Left Up/Down/Right/Left Arrows Ctrl+PgDn Page Right PF11 Ctrl+PgUp Page Left PF10 Ctrl+L Open Line Number feature Ctrl+W Show all filtered lines RES Shift+F10 Show the Context (popup) menu Ctrl+Shift+L Show the list of all Hot-Key Combinations Alt+S Split Line – Auto-continue Text Split – but does not do Auto-Continue Alt+J Join Line – Auto-continue Text Join – but does no do Auto-Continue Escape Cursor jumps to the command line
133
Workshop – Source File Navigation and Hot-Key Combinations
Load CICSASM2.asm into the editor. Press the following Hot-Key combinations. (Optional) Type or write down what happens after you press the Hot-Key combination Ctrl+L - Type: 77 and Press: Enter ________________________________________ Ctrl+T ________________________________________ Ctrl+2 ________________________________________ Ctrl+0 ________________________________________ Ctrl+End ________________________________________ Ctrl+Home ________________________________________ Ctrl+Shift+L ________________________________________ PF8 ________________________________________ PF7 ________________________________________ PgDn ________________________________________ PgUp ________________________________________ Ctrl+PgUp ________________________________________ Ctrl+PgDn ________________________________________ Ctrl+W ________________________________________ Ctrl+F10 ________________________________________ Down Arrow - Continually press the down arrow ______________________ Up Arrow - Continually press the up arrow ___________________________
134
Hot-Key Combinations – Line and Statement Editing Options
RDz Hot Keys Description ISPF Equivalent Ctrl+F Opens Find/Replace Dialog Find/Change ISPF Commands Ctrl+Z Undo last change UNDO (if Recovery On) Ctrl+Y Redo last change N/A Shift+Down Arrow Select text from the current cursor position downward in the source file Prefix Area Command: CC … CC PF7 Shift+Up Arrow Select text from the current cursor position upward in the source file Ctrl+Shift+Right Arrow Open same program in split-screen view PF2 + navigate to source member Shift+End Select text from cursor position to end of line Shift+Home Select text from cursor position to beginning of line Ctrl+A Select all text in the source file Prefix Area Command: C99999 Alt+U Unselect selected text Ctrl+C Copy currently selected source lines Prefix Area Command: C or CC Ctrl+X Cut currently selected source lines Prefix Area Command: M or MM Ctrl+V Paste currently copied source lines Prefix Area Command: A or B Ctrl+J Find previous edit change Ctrl+Right Locates cursor at the beginning of the next word Ctrl+Backspace Delete Current line Prefix Area Command: D Ctrl+D Repeat Current line Prefix Area Command: R Ctrl+/ or Ctrl+\ Comment or Uncomment current line Ctrl+Enter Insert new line Prefix Area Command: TS or I Ctrl+Delete Delete (Truncate) to end of line Erase (EOF) key F5 and F6 Find and Repeat Find, Change and Repeat Change PF5 / PF6
135
Workshop – Line and Statement Editing Hot-Key Combinations
Re-Load CICSASM2.asm into the editor. Press the following Hot-Key combinations (Optional) Type or write down what happens after you press the Hot-Key combination Ctrl+A ________________________________________ Alt+U ________________________________________ Ctrl+Backspace ________________________________________ Ctrl+Z ________________________________________ Ctrl+Y ________________________________________ Ctrl+D ________________________________________ Shift+Right arrow ________________________________________ (Repeat with Shift+Left Arrow) Shift+Down arrow ________________________________________ (Repeat with Shift+Up Arrow) (With your mouse cursor at the beginning of a line) Shift+End _______________________________ (With your mouse cursor at the END of a line) Shift+Home _______________________________ Ctrl+X ________________________________________ Ctrl+Home ________________________________________ Ctrl+V ________________________________________ Ctrl+End ________________________________________ Ctrl+J ________________________________________ (With your mouse cursor in the middle of a line) Ctrl+Delete _______________________________ (Multiple times) Ctrl+Shift+Right arrow _______________________________ (Holding these keys down) Ctrl+Right arrow _______________________________ (Holding these keys down) Ctrl+Left arrow _______________________________ If time permits, spend some time working with the combination of the Navigation and Line and Statement Editing Hot-Keys
136
Optional Workshop – Block (column-wise) Editing
You can copy a block of text in RDz's LPEX editor by doing the following: Press ALT+R – or use the Context menu to Select rectangle editing Mark the Block Press ALT+C to paste the block Workshop: Open LABINAR1.asm – and scroll to the DATA AREAS Press ALT+R and block copy these comments Paste the block – using ALT+C here….
137
RDz for ISPF Developers
UNIT RDz for ISPF Developers Topics: The RDz Workbench – Terms and Concepts Editing Assembler Programs ISPF Prefix Area Commands Editing With Keystroke Shortcuts Find and Replace Dialog Creating New Programs From Scratch Miscellaneous Features – Hex edit, Content Assist Execution (control flow) and Data Flow Analysis Working with Copybooks and Property Files Appendix – ISPF / LPEX Editor Comparison
138
Find/Replace Dialog – 1 of 2
Besides the ISPF Find/Change command, there are other ways to search and replace text Standard find: From anywhere inside your source, press: Ctrl+F …or… Ctrl+f Brings up the following dialog with find options 1. Enter Find and/or Replace value 2. Check one or more search refinement options 3. Press a Find button (covered on the next slide) Find option checkboxes: Case sensitive – case sensitive search Whole word – finds your text delimited by spaces or dashes Regular expression – powerful search meta-language – for complex search Wrap – if starting mid-way through source, continue find from the top Select found text – shows and selects found element Peek: Shows specified number of lines of source after the found element Restrict search to columns – search between start and end columns only If you are used to using a regular expression editor, then most normal regular expressions are supported. If you are not used to using regular expressions and want to find out more about what regular expressions are supported with the LPEX editor, then: - Click on the regular expression selection box - Press F1 - Select “regular expressions” from the listed help topics. See Notes
139
Find/Replace Dialog – 2 of 4 – Options
Next Find forward in the source Does not find text inside copy or include files Ctrl+n – finds next Previous Find upwards (back) in the source from your current cursor position All Finds all lines within the source Additionally will exclude or filter all source not matching your Find string Provides an intermediate set of lines to AND your search with Press Ctrl+W to "show all" excluded lines …and/or to close the find dialog box Clicking anywhere in the main body of your source file also closes the Find dialog Click the pluses in the left-hand border to show filtered source Replace Adheres to source columns If replace would push text past column 73 you will receive a warning Replace all Changes "found" values to the replacement values throughout file Note that whatever you enter the Find/Replace dialog persists This can be useful to do repeated searches within multiple files
140
Workshop Find/Replace Dialog
Load ADA01.asm into the editor Do a Ctrl+F Search for All DS Note that this found several statements with variables that contain DS (BADSEL) Why? Restrict the column search to between 10 and 12 Find All: DS (again) Expand some of the plus-signs and un-filter the code Press: Ctrl+W … What does that do? Customizing Search From the Context Menu, select: Preferences Locate: - LPEX Editor - Find Text Check: Select found text Incremental find dialog Click OK Re-run the above Searches then close ADA01
141
Workshop Find/Replace Dialog – continued
Experiment with the Find/Replace options and option buttons covered on the previous Find/Replace Dialog slides. After each search press Ctrl/W. Here are some suggestions… Open IASBU10A.asm and Find All MVC CICS DWO Check Whole word – and rerun the DWO search Try experimenting with your own searches, using these Find/Replace options: Case sensitive Whole word Select found text Replace Replace All Previous Next Next (combined with) (This is like PF5/PF6) Change Peek to 1 – and repeat one of the best searches What does this do, and can you see uses for this topic? When you are finished, close your editor session and do not save changes
142
Optional Topics and Workshops For This Section
If you have time, and are comfortable with the material covered, please read through the slides – and/or try out the techniques shown using RDz and sample programs. The development techniques covered in these slides can make your standard z/OS Maintenance, Production Support and Development tasks much easier, and make you more productive. So at some point – perhaps after class please consider returning to these optional topics to build out your RDz skills. Also – if you have access to RDz installed on your mainframe and time permits, please try out the techniques shown using your own application source. Optional Topics and Workshops
143
Optional Workshop - Find/Replace Dialog – AND'd Searching Results
Problem – find all occurrences in a program that contain BOTH the Assembler DS Op Code and a label Solution/Steps: Open ADA02.ASM Find DS ALL With the set of "found" MOVE statements in the editor, again: Find CL29 Continue to press Next Optional practice workshop: In ADA01.asm, using the above process find all DS declarations that are CL of any length When you click All – the lines from your program source showing in the editor represent a temporary "Results Set" Click the Next button – to search through this Result Set This allows for And'd" search techniques - Show me all lines in my source that have this AND that
144
OPTIONAL Workshop – Using Regular Expressions
Open ADA01.asm Press Ctrl+F To open the Find/Replace dialog Check Regular expression Enter the following find expression: MVC|MVI Click: All Repeat the above, and do a logical "OR" search for: chkday|dated Note that RDz implements "Java" regular expressions (there are several flavors) For some sites that have good Regular Expression tips/techniques: Note that the single pipe separator | is a logical "OR" operator
145
Optional Topic – Using Regular Expressions to Search for Hex Values
You can use regular expressions to search for EBCDIC Hexadecimal Values, embedded in a program or in copybook source: Regular Expressions are an ASCII search mechanism Use ASCII/EBCDIC comparison charts to map to the EBCDIC value you're looking for ASCII - 1a EBCDIC – 3F A typical conversion table URL: Regular Expression: [\x1a] See Slide Notes for URLs to useful Regular Expression tutorials online Hex Edit of line Note that RDz implements "Java" regular expressions (there are several flavors) For some sites that have good Regular Expression tips/techniques: Note that the EBCDIC Hex Edit line only appears if you open a file from z/OS ASCII EBCDIC
146
OPTIONAL Workshop – Using Regular Expressions – continued
A few more examples: Find all non-display (binary or hex) values in TESTPROG.asm: [^\x20-\x7E] If you are opening this file from the mainframe – you can see the EBCDIC hexadecimal characters on the bottom (line 4) of the Hex Edit display. Find all lines that reference any of three wildcard strings: pat-records*|records-writ*|error-fo* (Logical AND search) Find all lines with BNE and with chkday in the program ADA01.asm (BNE.*chkday) Increase Peek to 1, Click All again (Combined AND/OR search in ADA01.) Find all lines with MVI +(BNE AND'd with chkday) MVI|BNE.*chkday Note that RDz implements "Java" regular expressions (there are several flavors) For some sites that have good Regular Expression tips/techniques:
147
Optional Topic – Using Regular Expressions to change all within columns
You can use regular expressions to substitute for ISPF picture string editing. Example – change all characters in columns 73 80 to blanks (spaces) Regular Expression Start column: 73 End column: 80 Find: Type a period . Replace: Type a space Note that RDz implements "Java" regular expressions (there are several flavors) For some sites that have good Regular Expression tips/techniques:
148
Optional Topic – Another Useful Search Mechanism
Using the Search menu, you can search on a variable (or any partial selected text) in a program with: Search Text > File The results are hyperlinked – for easy navigation, and can be: Copied/pasted to a requirements document Changed Replace Selected… Replace All… Searched Again to provide the capability of AND-ing multiple search patterns
149
Optional Topic – Highlight Found Text
Some ISPF developers prefer to highlight all found text occurrences. This can be accomplished from: Preferences > LPEX Editor > System z LPEX Editor > Find Text Use Ctrl+F (Find) to search and highlight text in your source To remove highlighted entries, type: clearMatches on the editor command line
150
Optional Topic – Supporting the ISPF "ONLY" Command – 1 of 2
ISPF provides a "one-command" find all – "ONLY" ISPF ONLY does the following: Top ; x all ; F 'xxx' all The RDz ONLY emulation is: Select the variable (or text pattern) Right-click > Filter view > References … Or from the Context Menu and: Selected > Filter … Or from the Outline view
151
Optional Topic – Supporting the ISPF "ONLY" Command – 2 of 2
Note that you can create a custom "User Key Action" – for filterSelection – so that ONLY is more closely emulated. Preferences > LPEX Editor > User Key Actions Define a custom Key for filterSelection In this example, Alt+F9 (a-f9) is set to: filterSelection
152
Optional Topic – ISPF Create/Replace Commands
It's common practice in ISPF to use the CREATE/REPLACE <member name> While not offering the exact TSO command-line syntax, this is the RDz way: Open up the PDS member to be copied from Find/Select and Copy program source lines Right-click over the target PDS and select: New > Create Member… Double-click to open the new member in the editor Find the right line to insert the copied lines To Replace rather than Create (after copying the source lines) 1. Open an existing PDS member 2. Select the lines in the PDS member 3. Right-click and select Paste
153
RDz for ISPF Developers
UNIT RDz for ISPF Developers Topics: The RDz Workbench – Terms and Concepts Editing Assembler Programs ISPF Prefix Area Commands Editing With Keystroke Shortcuts Find and Replace Dialog Creating New Programs From Scratch Miscellaneous Features – Hex edit, Content Assist Filter view Execution (control flow) and Data Flow Analysis Working with Copybooks and Property Files Appendix – ISPF / LPEX Editor Comparison
154
Creating New Programs Using Copy/Paste
Instead of using pre-defined templates, you may be used to "cannibalizing" pre-existing programs, by creating a new PDS member from an existing program, then editing OUT the code you don't need for your new development work. + Pluses: + Fast – Minuses: - Must clean-up PDS member fragments - More difficult with SCM (instead of PDS) - Most useful if copying either the entire program or one long contiguous block of code There are two development patterns that you will want to employ to do this with RDz Create a new empty file – saved as <newFileName>.asm Open a second (existing) Assembler program and Copy all of the existing program into the new file.asm …or… Copy/Paste only specific portions of the existing program into the new file.asm Both have their uses, so let's have a look at how to proceed with them
155
Creating New Programs Using Copy/Paste – Copy Entire Program
Steps: 1. Open an existing program source in the editor: IASBU10.asm - Select all (Ctrl+A) then Copy (Ctrl+C) all of the statements in the program 2. Right-click over the asm folder in z/OS Projects and select: New > File Name your new file: IASBU09.asm 3. Click your mouse-pointer into the new file in the top-left hand corner (column 1, row 1) and press Ctrl+V to paste the program statements you copied in step 1 4. Save the file (Ctrl+S) 5. Close both programs Repeat the above process: – Copy TAND004.asm to program to: TAND005.asm
156
Creating New Programs Using Copy/Paste Code Blocks
Often it's easier to create new programs from non-contiguous blocks of code, cannibalized from an existing program. Example – grab specific labels, EQUATES, Macros, not part of COPY or INCLUDE, or a lengthy computation, etc. This is easily done combining mouse-based copy/paste with the previous new program technique or (even better) starting from a Template: 1. Open an existing to-be-copied program in the editor (we'll call this: From-Program) 2. Start from a program template, or create a new empty program as before (we'll call this: To-Program) 3. Maximize your Editors 4. Find and Select copy source within: From-Program 5. Paste the copied source into the appropriate area of: To-Program 6. Scroll down and find the next piece of code to copy in From-Program – repeat steps 5 & 6
157
New Program File for Workshops
Steps: From this PowerPoint's Slide Notes: Select all (Ctrl+A) then Copy (Ctrl+C) all of the statements in the program If you don't remember how to access Slide Notes return to slide#5 in this PowerPoint From z/OS Projects Right-click over the HLASM folder and select: New > File Name the file: IASBU10A.asm Click your mouse-pointer into the new file in the top-left hand corner (column 1, row 1) and press Ctrl+V to paste the program statements you copied in step 1 Save the file (Ctrl+S)
158
RDz for ISPF Developers
UNIT RDz for ISPF Developers Topics: The RDz Workbench – Terms and Concepts Editing Assembler Programs ISPF Prefix Area Commands Editing With Keystroke Shortcuts Find and Replace Dialog Creating New Programs From Scratch Miscellaneous Features – Hex edit, PF1 PoP help, Content Assist, Filters Execution (control flow) and Data Flow Analysis Working with Copybooks and Property Files Appendix – ISPF / LPEX Editor Comparison
159
Working With Source Code Containing Hexadecimal Values
Many mainframe application programs, especially online IMS and CICS programs that interact with screens contain EBCDIC binary or Hex values embedded in the source Most often in copybooks Although not limited to copybooks. Example: MVC '.',OUTNAM On the mainframe – the character-set is EBCDIC – ergo, no issue On workstations – because RDz's ISPF and LPEX editors expect ASCII source the file transfer technology must translate EBCDIC to ASCII – which most of the time is no problem except for in the case of source containing Hexadecimal values What's the solution? RDz "wraps" or encloses the EBCDIC hex characters on the way down from z/OS – and displays them as empty squares in the editor Current state: RDz version and above – supports all hex values except : X'0D' X'0A' If your file contains X'0D' or '0A' the file will be opened in read-only mode (which is common for copybook use) – and the 0D/0A gets temporarily converted to '3F' in ASCII Embedded HEX characters do not affect any fields surrounding them in source files You can edit hex values by entering Hex edit mode (next slide)
160
Working With Source Code Containing Hex Values – continued
To view source lines that contain embedded Hex characters: Select the source line Right-click and select: Source > Hex edit line This Hex line view shows the text, and different source encodings (essentially, ASCII vs. EBCDIC character set) The bottom line (Source encoding Cp037) shows EBCDIC values To edit an EBCDIC hex value (like the 3F shown in the screen capture): Make your change in HEX (overtype the value) Press <Enter> before clicking your mouse out of the Hex line editor
161
Content Assist (Ctrl+Spacebar)
Different Content Assist options Content Assist (Ctrl+Spacebar) Content Assist allows you to code statements by selecting values from a list after typing partial text and pressing: Ctrl+Spacebar The process: Partially type a: Assembler keyword Label or variable Move your cursor immediately at the end of the text you wish to use Content Assist to complete "immediately" = the very next byte after the text Press Ctrl + Spacebar Select the completion identifier from the list – which is sorted alphabetically within type Benefits: Makes coding faster & easier Reduces typos and syntax errors Particularly helpful with less-than-meaningful and long variable names and labels
162
RDz for ISPF Developers
UNIT RDz for ISPF Developers Topics: The RDz Workbench – Terms and Concepts Editing Assembler Programs ISPF Prefix Area Commands Editing With Keystroke Shortcuts Find and Replace Dialog Creating New Programs From Scratch Miscellaneous Features – Hex edit, Content Assist Control Flow and Data Flow Analysis Working with Copybooks and Property Files Appendix – ISPF / LPEX Editor Comparison
163
Control Flow Analysis Often you will need to discover a program's control flow by tracing through Branch instructions and Labels This is a straightforward process with RDz Right-click and select: Filter view > Branch instructions and labels
164
Control Flow Analysis You can combine this with Outline view navigation
165
Application-Wide Control Flow Analysis – using Rational Asset Analyzer (RAA)
If you need to view a "bigger picture" of the control flow among different Assembler modules in an application you can utilize IBM's Rational Asset Analyzer (RAA) – which integrates with RDz, and can materialize different levels of: Transaction Flow Diagrams Batch Job Diagrams Call/Calling (Run unit) Diagrams Additional Assembler program semantic info is available in RAA
166
Data Flow Analysis – Technique
Data Flow research is a complex analysis process that involves iterative searching and building of mental "dependency maps" for variables that are modified or referenced through statements within one or more programs On the mainframe, you either: Utilize listing files/XREF entries – or – Using ISPF you access option 3.4, or =3.14 and issue a series of manual text FIND operations – saving or writing down interim results. This is: Typing-intensive Error-prone With lots of time spent loading programs into the editor in split-screen, etc. Using RDz you: Find your starting Search variable Pin the Search View and double-click each found-reference Not typing-intensive Less error-prone With RDz, all Search results are: Fixed Hyperlinked – available from a mouse click
167
Data Flow Analysis – RDz
Using RDz you will do the following: From your starting variable: Select the field and search (using a menu) for all occurrences "Pin" the search results Double-click each result line – which co-locates the line in the editor Analyze the statements operation If another variable is indicated as being part of the Data Flow, return to Step 1 and search on the next variable We'll do a workshop on this, using a new program…
168
Workshop – Data Analysis
Open IAATS91.asm in the editor From the command line, type: F PCKSUM and press <Enter> In the Editor source, Double-click (to select) PCKSUM From the Search menu, select, Text > File This will launch a search for PCKSUM throughout your program, and save the search results in a new persistent view From the Search View, click: Pin the Search View – This keeps the view intact, when you launch additional searches
169
Workshop – Data Analysis – continued
Double-click each line in the Search View – the source code will synchronize in the Editor Analyze each Assembler statement. If the operation would alter the value of some other variable (through an MVC or CLC instruction) return to Step 1 on the previous slide, and search on the next variable in data flow Double-click to select another variable - in this example, double-click: PCKA Pull down the Search Menu, and select, Text > File From the (new) Search results click: Pin the Search View
170
Workshop – Data Analysis – continued
Again analyze each Assembler statement in the pinned Search view. If the operation would alter the value of some other variable return to Step 1 and search on the next variable in data flow Double-click to select another variable From the Search Menu select, Text > File From the (new) Search results click: Pin the Search View Analyze the next variable's usage and continue If the operations for an Assembler variable do not modify the contents of storage, return to a previously pinned view, and double-click the next line Additional pinned Search Views for other variables
171
Optional Workshop – Data Analysis – continued
You can move (Drag & Drop) the Search results views to different Workbench areas Or you can Detach the views for optimized use of "screen real estate" in your analysis
172
Data Flow Analysis – Review
Data Flow analysis is an iterative complex process, that involves expanding the scope of searching, as new variables in the data flow are discovered On the mainframe, you either: Utilize listing files/XREF entries – or Using ISPF you access option 3.4, or =3.14 and issue a series of manual text FIND operations – saving or writing down interim results. This is: Typing-intensive and error-prone With lots of time spent loading programs into the editor in split-screen, etc. Using RDz you: Find your starting Search variable Pin the Search View and double-click each reference There are static analysis tools from IBM that are dedicated to providing this information, through ultra-quick and simple techniques (ask your instructor about Rational Asset Analyzer)
173
Review – Benefits of Windowed Workbench Development
Productivity Parallel work (Far) better use of screen "real estate" (Far) less manual typing For navigation For development tasks This is primarily due to RDz "tooling" Consistent quick, responsive PC performance Development CPU Resources Most of what you do everyday can be done locally Conserves MIPS on development LPAR
174
Final Review – "How do I" - Using RDz, be sure you know how to do the following
Change from LPEX to the ISPF editor? Save my changes when editing a program (and how do I know if I've made changes to a file)? Bring up a list of variables while typing in new Assembler statements ("code completion") Navigate to the declaration of a variable? View or edit a statement in HEX? Discover what the declaration of a variable is? See how Assembler labels are related? Replace the current version of a file I'm editing with one I saved a few hours ago? Open a file? Close a file? Split screen edit on a single program? View multiple programs and/or copybooks in split screen mode? Filter out all comments from program source, so that I can focus on the code? Go to a full-screen view of a program so that I can see more source code? Open the Context menu? Which mouse-button opens the Context menu? Change the installation default colors of my editor? Access the Find menu? Go to the top of / or bottom of file What are the commands and/or hot-keys to do this? Know what column my cursor is in, when I'm editing a program? Analyze data movement throughout variables in an Assembler program? Select multiple lines in an Assembler program and make them all comments without typing? Reset, open or switch perspectives – to access different product views for Debugging, SQL work, etc. Delete text to the end of a line (like the EOF key)? Analyze the branch structure in my Assembler program? Go directly to the declaration of a variable by pressing a PF-key (and which PF-key does this)? Reopen a View that I've closed by accident – or just generally open a View that is not currently displayed?
175
Review – Answer the following (be sure you're right by trying your answer out in RDz)
What does the Outline view show – and how does it work? What is a Workspace? What does Ctrl+Shift+L do inside the Editor? What is the purpose of a Property Group file? What is in the Properties view? What is the difference between the Outline and Filter views? What is in the Snippets view – and how do I open the Snippets view if it's not showing in my perspective? What does Ctrl+S do when I'm editing? What is an Assembler statement Template – and how can I customize the default Templates IBM ships? What happens when I select an HLASM reserved word and press F1 ? Just what is a perspective? What are several ways to create a brand new Assembler program? What is a Bookmark? How do I create a bookmark and navigate to a bookmark? (how about a Task)? What's in the Context menu: (Right-click) When I'm editing a file? (Right-click) When I've selected a file in the z/OS Projects view? True / False: A file's extension (.asm, .cpy) is not important Content Assist does not provide code completion for file FDs – when coding OPEN/CLOSE statements You can not stack ISPF commands using the RDz editor when using the ISPF profile You can only split screens vertically – you can't split them horizontally as you would with ISPF Content Assist only works with Assembler programs, in fact, RDz's language sensitive editors only work with Assembler.
176
Rational Developer for System z – Introduction Appendices
177
RDz Introduction UNIT Topics: The RDz Workbench – Terms and Concepts
Editing Assembler Programs Appendix – Additional RDz Knowledge Transfer Appendix – Generating a User Macro file Appendix – ISPF/LPEX Editor Comparison
178
The IBM Education Assistant
The Education Assistant has a number of detailed and useful Camtasias that show use cases for both RDz (standalone) and RDz integrated with other tools (such as Rational Team Concert)
179
RDz Introduction UNIT Topics: The RDz Workbench – Terms and Concepts
Editing Assembler Programs Appendix – Additional RDz Knowledge Transfer Appendix – Generating a User Macro file Appendix – ISPF/LPEX Editor Comparison
180
Generating a User Macro File
When the RDz/LPEX Assembler finds a Macro in your source file it will look to two separate ASCII XML files to resolve the reference before flagging it as a syntax error in your source: tpfhlasm.dat – stored in the directory pointed at by the Environment Variable: TPFSHARE A User Macro File – which you create/populate either manually, or by running an IBM-supplied utility – which generates User Macro File from a PDS The steps necessary to generate a User Macro File include: Discover where the RDz JAVA_HOME, RSE_HOME directories and where the generateHLAsmMacroFile.sh utility reside, within the RDz installation directories within z/OS Unix Setup the necessary Path command to execute the utility Run the utility Copy the results of the utility (an ASCII-XML file) to your workstation The Assembler Editor functionality includes Local Syntax Check / Syntax highlight and the Remote Syntax Check/Error Feedback etc. There is a Macro library setting in Property Groups that impact the Remote Syntax Check and Assembling, but not Local Syntax Check/Highlight/etc. RDz uses the pre-allocated macro files to do the local syntax check. The macros in "SYS1.MACLIB" are already included in the RDz release, which is the file "%RDZ_INSTALL_DIR%\Config\TPFSHARE\tpfhlasm.dat . The IBM Language Environment (CEE.SCEEMAC) macro library is not included in RDz and earlier. If you want to use the local syntax highlight/check, you will need to generate the user macro library for CEE.SCEEMAC and any other custom user macro libraries by following the steps in this appendix. See Slide Notes for additional details
181
Discover where JAVA_HOME and generateHLAsmMacroFile.sh resides
The easiest place to discover where the generateHLAsmMacroFile.sh is to find the z/OS Unix file named: RSED.ENVARS – which is typically found in a subdirectory of: /usr/lpp/rdz/ By opening this file (which should be read-only on your system) you can discover the JAVA and RSE directories
182
Export the UNIX Path and run generateHLAsmMacroFile.sh
In order to execute the generate the utility, you need to update your UNIX PATH (essentially a search path or "STEPLIB" construct) The syntax of the statement is: export PATH=/usr/lpp/java/J6.0:/usr/lpp/rdz/bin/IBM:.:$PATH In order to execute the export statement: Launch the z/OS UNIX Shell Enter and run the command Concatenate To the existing Path Literal Prefix Directory Path #1 Directory Path #2 Separator :
183
Run generateHLAsmMacroFile.sh
Once you've setup the Path you can execute the generateHLAsmMacroFile.sh The syntax is as follows: generateHLAsmMacroFile –filename {your filename} -macroPath {Your Macro Library/PDS} [-verbose] {generation message filename} Working example: generateHLAsmMacroFile.sh -fileName ./usermacro.dat -macroPath DDS0001.TEST.MACLIB -verbose > genusermacro.txt Note – no curly braces in the actual statement Enter using the same command shell as your PATH statement
184
Open and Copy the Contents of the Generated User Macro File
If the statement on the previous slide runs successfully, it will create a file named: usermacro.dat – in your z/OS UNIX directory. Open this file using a Text Editor Select and copy all statements
185
Create a Local Workstation copy of the usermacro.dat file
After you've got the contents of the generated file copied: From a Local Workstation file (some file resident on your PC) Create a New File Name the file (we've defined it as usermacro.dat) Open the new file with a Text Editor Paste the copied text from the generated usermacro.dat file on z/OS UNIX Save your file inserts (Ctrl+S)
186
Specify the Local File for your User Macro File
Finally – specify the location of your User Macro File in two places: First – copy the filespec Paste the copied filespec in the remote Property Group: Assembler Editor Options User Macro File Save your file (Ctrl+S) From Preferences > LPEX Editor > System z LPEX Editor > HLASM Parser Paste the copied filespec in the User Macro File: area Press OK to save your changes
187
Appendix C - Code Reuse - Code Templates - Code Snippets
Author Notes: This is the standard session track template for IBM Rational Software Conference 2009 Additional IBM presentation resource links available on W3: Rational Core Messaging Slides Rational Image Library PowerPoint Best Practices Presentation
188
HLASM Editor (Customized Statement Templates) Preferences
Templates are used with Content Assist (Ctrl+Spacebar). They copy in a statement or - template construct - at your cursor's focal point and are time-saving tools.
189
Workshop – Content Assist and Template Proposals – 1 of 2
Do the following: From Preferences > System z LPEX Editor > HLASM Parser > Templates Note a few of the default templates Open ADA01.asm in the editor Insert a blank line Place your cursor in the line and press: Ctrl+Spacebar Type (slowly) e x e - and note how the list of proposals filters Select EXEC SQL Scroll down and select Close ADA01 – and do not save changes
190
Optional Workshop – Customized Templates – 2 of 2
Re-open ADA01.asm in the editor Find the line shown here in the source code Right-click and select Add as new template… Add the Template: Context: HLASM Name: SEND MAP Description: (anything you want) Click OK From Preferences, ensure that your new custom template shows up Open CICSASM.asm – and anywhere in the source file insert a new line, and following the steps on the previous slide add the Send Map statement using Content Assist Ctrl+Spacebar
191
Code Snippets Sometimes, instead of entire programs you might want to:
Save some code temporarily for reuse – similar to the ISPF: "CREATE" and "COPY" command line commands Create a paragraph, computation, complex conditional – that can be re-purposed in other programs Provide a library "standard" routines – using your shop's coding conventions Provide a library of syntactically-correct and infrequently used/high-value statements: Job Cards Database routines Complex COBOL code: UNSTRING etc. Snippets are the preferred way of doing this. You access them through a Snippets view, which you get to by: From Window > Show View > other… Type: snippets – and select the Snippets view On the right are a group of custom Snippets that we have created. You will see a subset of these in your workspace. Individual Snippets are contained in "drawers" which are the accordion menus that collapse/expand on-click. Snippets can be Exported and Imported (for sharing)
192
Using Code Snippets (ISPF "COPY" command line command)
To use an existing code Snippet follow the steps below: Place your cursor at the exact focal point (position in the source) where you want a code snippet inserted Find your Code Snippet in the snippet drawers Double-Click the Snippet If there are variables in the snippet, you can: Accept the defaults Over-ride the values before the code is inserted Click Insert
193
Creating Code Snippets (ISPF "CREATE" command) – 1 of 2
To create a new code Snippet follow the steps below: Create a new Snippet category Right-click over the Snippets view Select Customize From Customize Palette, under New Select: New Category Name the Category Add a description Click OK Select and copy the code you wish to Snippet-ify Expand the category you wish to add the Snippet to, and select Paste as Snippet…
194
Creating Code Snippets (ISPF "CREATE" command) – 2 of 2
4. Rename the Snippet and give it a Description 5. Optionally add Variables to be filled in by Snippet users (or they can accept the defaults)
195
Using a Code Snippet for a Job Card
In ISPF you might use the ISPF command line COPY command to insert a Job Card into a JCL deck. Let's try this with RDz From the \ jcl \ folder, open: BR14.jcl Select and Cut (Ctrl+X) the Job card From the Snippets view, double-click: JOB Card Enter a new JobName and a new MsgClass value Click OK and verify your work
196
Three methods of Code Reuse:
Code Reuse – Summary Three methods of Code Reuse: 1. Program Templates Useful if creating a new COBOL or PL/I program using the New program wizard Can include standard (not customized) minimal CICS and SQL statements 2. Snippets Most flexible and simple method of code reuse Snippet scope can be from anywhere from a keyword to an entire program Can define any number of custom variables to manage idiosyncratic requirements Can export/import Snippets with Workspace Can include Snippets view in custom Perspective 3. Code Templates Most granular form of code reuse Integrates with Content Assist Typically used for statements – but could extend to more code (just, the interface is a little unwieldy)
197
Appendix 3 ISPF RDz Editor Cheat Sheets
© 2009 IBM Corporation
198
RDz – z/OS Comparison Concepts and Products and TSO
TSO/ISPF RDz – Integrated Development Environment Mainframe – z/OS PC – Windows/Linux JCL JCL. If doing offloading from z/OS. Shell scripts – on AIX machines Manually analyze code RDz (see slides in this PowerPoint), and RAAi - Edit Code - ISPF LPEX editor. Native LPEX or ISPF profile Compile/Compiler Options Validation, Syntax Check (Local or Remote) – Compiler options under RDz Property Groups Submit Job Edit JCL and submit job, or just use the Context menu and Submit Unit Test – DISPLAY/READY Trace, Xpeditor Debug Perspective – for z/OS (batch and online) applications – as well as Local COBOL projects Integration Test – Xpeditor IBM Debug Tool Integration QA – Regression Test - WinRunner Remote Systems Testing utilizing Rational Function Tester and Rational Performance Tester ABEND-AID/IBM Fault Analyzer RDz – Integrated Fault Analyzer from the IBM Problem Determination Tools File-Aid/IBM File Manager RDz – Integrated File Manager from the IBM Problem Determination Tools PDS (library) Folders - For Remote/SCM-based Projects and Local (z/OS) Projects JES Remote Systems View / JES functionality Endevor/ChangeMan – or Your SCLM 3rd Party SCMs utilize RDz's CARMA feature. RTCz and SCLM utilizing the SCLM provide their own RDz views. And there is Local History and source compare in native RDz ISPF Option 0 Window, Preferences ISPF Option 1 and Option 2 RDz Editor ISPF Option 3.1 (Library Utilities) Remote Systems view (Context Menu options) ISPF Option 3.2 (Dataset Utilities) ISPF Option 3.3 (Move and Copy) ISPF Option 3.4 (DSList) Project Explorer and Filters and Context Menu in Remote Systems Explorer and LPEX Editor ISPF Option 3.8 (Outlist) Remote Systems View – JES/My Jobs ISPF Option 3.11 3.15 (Extended Search) Search menu – covered in another RDz Distance Learning module ISPF Option 4 (Foreground) Context Menu, Run ISPF Option 6 TSO Command Shell – with some functional limitations (e.g. cannot issue Host Execs) ISHELL Remote Systems Explorer - USS files/filters + Context menu OMVS USS Command Shell SPUFI/QMF Data Perspective
199
RDz – ISPF Comparison Chart – PF-Keys
ISPF Editor LPEX Editor PF 1 = Help F1, Help Menu*** See slide notes PF 2 = Split: Split the session (lets you use two functions of TSO at the same time.) Ctrl/2 or Context Menu – Open New View. Note that you can open an unlimited number of views PF 3 = End Ctrl+F4, Ctrl + 0, or close the Content Area PF 4 = Return Ctrl+F4, or close the Content Area PF 5 = RFind (repeat last find ) F5 or Ctrl/F – and /<text> from LPEX command PF = 6 RChange (repeat lst change) F6 or Ctrl/N PF = 7 Page Backward F7 or PgUp key – or slider in window PF = 8 Page forward F8 or PgDn key – or slider in window PF = 9 Switch between screens during a split session; goes with PF 2 Mouse – or Alt + Shift + Right/Left arrows PF = 10 Page left Ctrl+PgUp or, the Home key, or slider in window PF = 11 Page right Ctrl+PgDn or, the End key, or slider in Window PF 12 Retrieve For LPEX commands, the Up Arrow Use ISPF Option 0 to customize PF-Keys Use Preferences to customize and extend Function key behavior The LPEX Context Menu can be accessed from the Right-mouse button – and from the Windows Menu key (on the keyboard between the right Alt & Ctrl keys) It should be noted that with the LPEX editor, it is not necessary for most of the above functions to actually press Ctrl/Key combinations, as the functionality is available from a context menu (right-mouse) In LPEX F1 gives you language-sensitive help (pressing F1 while the cursor is on a COBOL keyword will display help for that keyword). To get LPEX help, enter the help command from the LPEX command line.
200
RDz – ISPF Comparison Chart – Primary Edit Commands
ISPF Editor LPEX Editor Home key – Jump to the Command Line Escape key – jumps to the LPEX command line AUTOSAVE/REC Prompt for Save on exit, and Autosave (Preferences), and the asterisk – next to unsaved file names BOTtom LPEX command: bottom / Ctrl+End CANcel Close Content Area w/Save no (Ctrl CHANGE – All – NEXT, CHARS, X, ALL PREFIX, FIRST, SUFFIX, LAST, WORD, PREV, [col-1] [col-2] Supported using Change All, Next, PREV, Prefix and Suffix (with wildcards), Prev, Word, [col-1][col-2], …or… Find/Replace menu (Ctrl+F), ISPF or the Search/Replace dialog: Copy Member Name LPEX command: Get filename CREATE Save file as…, or use Snippets View FIND – NEXT, CHARS, X, ALL PREFIX, FIRST, SUFFIX, LAST, WORD, PREV, [col-1] [col-2] Supported using findText, Ctrl+F, or the Search window: Find All, Next, PREV, Prefix and Suffix (with wildcards), Prev, Word, [col-1][col-2], P Not supported: First, Last HEX – Displays all lines in Hexadecimal Display one individual lines in Hex ISPF Macros Not available – but can be re-written using Java for LPEX. Also, note that with the LPEX functionality some of the Macro functionality may not be necessary LOCATE Ctrl+L, or use the Outline View MODEL Snippets and Templates (both options) MOVE Member Name LPEX Get command, in a different way, the Snippets View NUMBER LPEX command: number std (columns 7380), or number cob PRINT – from ISPF 3.4 LPEX command: print, or Ctrl+P PROFILE – are the changes made to your profile Preferences Replace Member Name Snippets functionality RESet RES command, or: Ctrl+W, or expandAll, or: action showAll Save Ctrl/S or LPEX: save command Sort LPEX command: sort STATS – updates statistics Windows updates file statisticsautomatically SUBmit LPEX command: Submit, or edit JCL/Context Menu/Submit, or use Context Menu/Submit option TABS Set margins in Preferences, LPEX Editor, Tabs TOP LPEX command: top / Ctrl+Home TSO SUB LPEX command: submit, and edit JCL/Context Menu/Submit, or use Context Menu/Submit option UNNUM LPEX command: unnum ***Changes to Preferences are persistent, even if they are changed via LPEX commands. Also you can write/modify User Profiles which customize LPEX settings (but this requires writing a Java class and a plug-in).
201
RDz – ISPF Comparison Chart – Find Commands – Picture Strings
ISPF Editor LPEX Editor Simple String Y Previous String Find Previous / F5 Delimited String Text string Picture Strings – special characters Y – with regular expressions P'=' – any character Ctlr+F, Regular Expression, . P'-' – any non-blank character Ctlr+F, Regular Expression, [^\s] P'.' – any non-displayable character Ctlr+F, Regular Expression, [^\x20-\x7E] P'#' – any numeric character Ctlr+F, Regular Expression, [0-9] P'-' – any non-numeric character Ctlr+F, Regular Expression, [^0-9\x20] – any alphabetic character Ctlr+F, Regular Expression, [A-Za-z] P'<' – any lower-case character Ctlr+F, Regular Expression, [a-z] P'>' any upper-case alphabetic character Ctlr+F, Regular Expression, [A-Z] P'$' – any special character (not alphanumeric) Ctlr+F, Regular Expression, [^A-Za-z0-9] . Dot, any single character \ special Expression ^ logical NOT \x Hexadecimal Ctrl+F Note: for more Regular expression searches:
202
RDz – ISPF Comparison Chart – Prefix Area Commands
ISPF Editor LPEX Editor – ISPF Mode LPEX Editor – lpex Mode A, An – After A, An Context menu B, Bn – Before B, Bn COLS – show columns Columns always shown C, Cn, CC – Copy C, Cn, CC D, Dn, DD Context menu or Ctrl+Backspace F, Fn – First (used with eXclude) F, Fn (used with eXclude) N - Find excludes lines of code I, In – Insert lines I, In Press <Enter>, or LPEX command: insert LPEX command: add L, Ln – Last (used with eXclude) M, Mn, MM – Move M, Mn, MM-Move, and Context menu R, Rn, RR, RRn – Repeat lines R, Rn, RR, RRn, and Context menu, Ctrl+D Context menu – or Ctrl+D S, Sn – Show (used with eXclude) S, Sn – Show (used with eXclude) and Filter Filter TABS – used with TAB On Set with Preferences X, Xn, XX eXclude X, Xn, XX O, On, OO – Overlay O, On, OO Use Rectangle Copy/Paste LC, UC – Lower-case/Upper-case LC, UC Use the Context menu TS, TSn – Text Split Ctrl+<Enter> <Enter> <, <n, <<N Shift Data Left <, <n, <<n Use Rectangle Select – shift >, >n, >>n Shift Data right >, >n, >>n (, (n, ((, ((N – columns left – Used with COBOL (, (n, ((n ), )n, )), ))n – Columns Right ), )n, ))n
203
RDz – ISPF Comparison Chart – LPEX Editing Operations – 1 of 2
LPEX Editor ISPF Editor Refactor – Remove Noise Words: - IS, THEN, PROCEED TO N/A Multiple Line Comment/Uncomment Virtual margins – in the editor Code completion (Content Assist) Open Copybook Open Declaration – of variable or PERFORM'd paragraph from anywhere in the Procedure Division Perform Hierarchy Refactor – wizard for intelligent variable name changes Outline View Filter View – Show only Divisions, SQL,CICS,DL/I, Code (no comments), etc. COBOL, PL/I and HLASM keyword / language help Show lines that have been changed during edit (before save) Find and Change against multiple file types Block Marking (Ctrl+Down, Ctrl+Up, Ctrl+Home, Ctrl+End) Virtual 'A' and 'B' Column lines in the source code Allocate Like Remote System Filters Side-by-side Compare and/or Restore from Local History Close all split screens in one operation (context menu) See file attributes and statistics at all times (in a View)
204
RDz – ISPF Comparison Chart – LPEX Editing Operations
LPEX Editor ISPF Editor See file attributes and statistics at all times (in a View) N/A Wizard-driven approach to creating Web Services (WSDL files) from: CICS and IMS TM applications Wizard-driven approach to creating, testing and deploying DB2 Stored Procedures Copy files from one LPAR to another Edit/Compile/Unit Test if the mainframe is offline Syntax error – automatically select line with problem See 46 76 lines of source at once Templatized program development Regular expression searches – including across Filtered files of different file types Keystroke recorder (useful for repetitive tasks and online testing) Bookmark and Tasks (both lines of source and filtered views) Find "Last Changed" line of source code / Ctrl+J Mark lines – including individual names Find Marked Lines / Find named Marked Lines Syntax errors as you type Syntax check in the editor
205
IBM Rational software: www.ibm.com/software/rational
Mandatory IBM Rational standard closing slide to be included in all external presentations. Learn more links: IBM Rational software: Rational launch announcements: Rational Software Delivery Platform: Accelerate change and delivery: Deliver enduring quality: Enable enterprise modernization: Ensure Web site security and compliance: Improve project success: Manage architecture: Manage evolving requirements: Small and midsized business: Targeted solutions: Rational trial downloads: Leading Innovation Web site: developerWorks Rational: IBM Rational TV: IBM Rational Business Partners: IBM Rational Case Studies: © Copyright IBM Corporation All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
206
Optional Review Topic – RDz and Equivalent ISPF Options
for local files ISPF Edit, View or Browse (=2 or =1) ISPF Option 3 for remote files ISPF 3.2 Additional ISPF panels as Views
207
Optional Review Topic – More RDz Workbench/Equivalent ISPF Panels
JCL Viewed ISPF 3.8 ISPF =6
208
Proposed Education – for COBOL and ALC Audiences
Day 1: Eclipse: 120 – 45/75 <Break> 15 ISPF + Hot Keys: 45 – 15/30 Custom Workspace: 25 – 10/15 Custom Help JCLCheck Other custom menu functionality HCE: 20 – 5/15 Allocate files Drag & Drop Lunch – 45 minutes RSE: 120 – 45/75 Open/Browse Search Filters Retrieve Datasets Find member JES MVS SubProjects: 30 – 20/10 Endevor: 45 – 20/25 Homework: Day 1 Review Day 2 COBOL Review Advanced Editing Tools: 60 – 20/40 Ctrl + F Find Hex edit Content Assist Filters COBOL Analysis & Source Format: 45 – 20/25 <Break 15> Workspace Prefs: 30 – 10/20 LPEX Preferences RSE Preferences DB2/SQL Tools: 45 – 25/20 RSE ISPF 3.X features: 30 – 15/15 Lunch – 45 minutes Customizing RSE: 30 – 15/15 Property Groups z/OS File Mapping File Manager: 75 – 30/45 Debug Tool for COBOL: 105 – 30/75 Day 2 Assembler Review Workspace Preferences: 90 – 30/60 LPEX Colors Assembler Edit Preferences Macros Custom PF Keys Assembler Code Templates <Break 15> Advanced Editing Tools: 60 – 20/40 Ctrl + F Find Filters Content Assist RSE ISPF 3.X features: 30 DB2/SQL Tools – Demo: 15 Lunch – 45 minutes Customizing RSE: 30 – 15/15 Property Groups z/OS File Mapping File Manager: 75 – 30/45 Debug Tool for Assembler: 90
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.