®
IBM Software Group
Using RDz for z/OS Traditional Maintenance and
Support
Jonathan Sayles – jsayles@us.ibm.com
© 2008 IBM Corporation
IBM Software Group | Rational software
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.
"All performance data contained in this publication was obtained in the specific operating environment and
under the conditions described in this white paper and is presented as an illustration only.
Performance obtained in other operating environments may vary and customers should conduct their own
testing".
2
IBM Software Group | Rational software
z/OS Legacy Systems – Scale and Scope
 Think … big
 Okay, now think way bigger
 A famous automaker, runs 50,000 COBOL batch jobs every night
 Each batch job is composed of between 1 and 20 (or more) job steps
(Average: 10 steps)
 Each job step executes 1 to 1,000 programs in a load library
(Average: 20 programs)
– Each program is between 1,000 and 100,000 lines of source code
(Average: 2,000 lines)
– Go ahead, take the averages above, and do the math – every night there are:
50,000 jobs running 400,000 lines of code each, or
20,000,000,000 – twenty billion lines of COBOL code
That's just nightly batch, in addition this shop runs:
 Online transactions
 End of period processing (year/month/week/quarter)
 "One-off" jobs – for any number of reasons (utilities, event-driven reports, etc.)
3
IBM Software Group | Rational software
Terms & Definitions- What is Software Maintenance?
 Software maintenance is that collection of
activities that relates to correcting, adapting, or
perfecting software in production use.
"Software" includes not only program code, but also the data, designs and
documentation concerning the program code.
"Correcting" software means removing functional errors
 This is called "Production Support"
"Adapting" software means installing enhancements.
 Enterprise Modernization projects fall under this heading
"Perfecting" software means improving processing efficiency or performance,
or restructuring the software to improve service-ability (improve maintainability)
"in production use" means the software has been formally accepted and put
into use by its users
4
Software Group |Maintenance
Rational software
Types ofIBM
Software
Projects
 Emergency:
10%
 Processing fault
 Corrective:
20%
 Processing failure,
 Performance failure,
% of maintenance projects by
subcategory
 Implementation failure
 Adaptive:
54%
 Business Enhancements
Source: Industry Research
 Change in environment
 Application modernization
 Perfective:
16%
 Processing/Performance/Maintainability enhancements
5
IBM Software Group | Rational software
If software maintenance was your car…
 Emergency:
 You spun out on the freeway and totaled your vehicle…
On the way to work
And you're meeting your boss's boss – who's bringing along key clients
Whom you're presenting to
In about an hour
6
IBM Software Group | Rational software
If software maintenance was your car…
 Corrective:
 You have an emissions inspection this month, and so decide to get a tune-up
7
IBM Software Group | Rational software
If software maintenance was your car…
 Adaptive:
 You're adding after-market parts to totally "trick out" your ride
8
IBM Software Group | Rational software
If software maintenance was your car…
 Perfective:
 You DON'T have an inspection coming up,
and you're tuning up your care
(After all – it's the responsible thing to do!)
9
Group | Maintenance
Rational software
Elements IBM
of Software
Software
Projects
 People
 z/OS Legacy Programmers
 Traditionally? Junior developers
 Often under-trained
 Usually inexperienced
 Tools
 Compile listings/ISPF
 IDE (RDz+RAA)
 Some shops own static code analysis tools used during one phase of the lifecycle
 Process
 Many shops do not have a formal Software Maintenance lifecycle
 Existing Code-Base
 z/OS Legacy
 (if not sunset) 4GL applications: PowerBuilder, Visual Basic, Easytrieve, Model 204
 C/C++
 Java
10
IBM Software
Group | Rational
software
Maintenance
Projects
- Examples
 Corrective
 Data center ABEND condition
 A batch job run is halted by z/OS and the problem must be fixed and job re-run due to:
– Batch window cycle time constraints
– Output file and database dependencies in the batch schedule – or even online
 Data center "out of balance" condition
 Egregious performance problem for online application
 Adaptive
 Required:
 Add Home Health and Skilled Nursing Facilities as Medicare providers
 Y2K remediation (the "mother of all Adaptive Maintenance Projects")
 Business-driven
 Company acquisition - Bank merger, consolidate code-base
 Offload a z/OS application on to an AIX or z/Linux platform
 Technology-driven
 Enterprise Modernization
 Preventative
See Backup Slides for
additional examples
 Evaluate SQL or COBOL (!) – looking for ways to improve run-time performance
11
Software Group | Rational Project
software
SoftwareIBMMaintenance
Lifecycle
 This is an industry-standard break-out of the steps and sub-processes in a typical
z/OS Software Maintenance Lifecycle
 Note that there have been additional refactoring and extending many of these steps/stages,
breaking them down into additional lifecycle steps
12
Software Maintenance
Lifecycle
IBM Software Group | Rational
software – and IBM/Rational Tools
Team
Collaboration
Debug Tool
Fault Analyzer
IDE
Workbench
Rational
Software
Architect
Note:
RTCz/RDz enable
all lifecycle stages
Debug Tool
Fault Analyzer
Debug Tool
Fault Analyzer
IBM/Rational solutions which automate the stages of the Software Maintenance Lifecycle
13
IBM Software Group | Rational software
Maintenance Project Problem Areas
 Programmer Effectiveness
 Almost all maintenance (2010 and beyond) is done by programmers who did NOT write the
code they're maintaining:
 Gaining a complete and thorough understanding of the application semantics of a single
legacy program, much less an entire system is incredibly challenging
 Much maintenance is done by programmers who do not have the depth of experience
necessary to understand:
 z/OS-specific technical issues and problems
 Complexities introduced by large-scale application scope
 Software Quality
 Making matters worse, z/OS "Legacy Applications" – which is the stuff of z/OS Maintenance
Projects – have become over the decades:
 "Brittle" – and easily broken because of short-term "patches" applied over the years
 Complex – due to the number of different coding styles that have revised the logic
 With useless documentation and embedded program comments
– Op Ed – luckily, z/OS Legacy Applications were written primarily in COBOL which is
self-documenting. Imagine 20,000,000 lines of C code
 Machine requirements
 Processing costs (development MIPS costs) and LPAR availability
14
Software
Group | Rational software
The NeedIBMfor
Automated
Maintenance Solutions
"[The] current practice of documentation and coding does not encourage
efficient understanding as it compartmentalizes knowledge by type of
document and rarely provides the cross references that are needed to
support programmers’ cognitive needs."
 A. von Mayrhauser, Senior Member, IEEE, and A.M. Vans, Colorado State U.
 Translation:
 Application understanding, or "gaining intellectual control" (Larry England/IBM) over the code
you're about to change is the crux of software maintenance
 And almost all maintenance is done by individuals who did NOT write the original code
 Programmers use a multilevel approach to application understanding (building cognitive
procedural models of the semantics):
 Top down
 Bottom up
 And frequently switch between program/situation (bottom-up), and domain (top-down)
models.
 Without automated solutions you have two alternatives for
 ISPF
 Studying compile listings
15
Why Automated
Maintenance
Solutions?
IBM Software
Group | Rational software
Same basic functionality since the
 late 1970's
With RDz/RAA and the
PD Tools 
Work much more productively
Lower defect rate
Save MIPS
16
IBM Software Group | Rational software
Studying Listings
 What the bosses think it's like
What it's really like
Manual process dates back to Grace Hopper and the
first generation of business programmers building
the first generation of production source code
17
IBM Software
Group | Rational software
Optimizing
Maintenance

Research, over the last 20 or so years in the field of z/OS maintenance has proven that there
are specific needs of maintenance work – for process and tools that differ from
development – and that there are specific best practices, tools and tool features
that improve maintenance productivity and effectiveness

These improvements include (but are not limited to):
 General features:
1. The ability to view the application landscape, to see/analyze as much code at-aglance as possible
– In order to grasp and learn an applications semantics, prior to making logic changes
– Particularly important due to the size and intrinsic complexity of legacy z/OS applications
2. Program navigation
– Simple, "Built-ins" for targeting common areas of interest
3. Functionality that keeps up with developer's thought processes
– A development environment that allows you to effectively multi-task with tools that scale to
the complexity of the work you do
 Specific maintenance tools/features assistance
– Finding semantic dependencies – in key elements throughout your application
– Rendering code in a semantically meaningful way
– Verifying the effect of a maintenance change
18
IBM Software
Group | Rational
software
RDz/RAA/PD
Tools
– Project/Work
Coverage
UI
Modernization
SOA/XML
Web Services
Modernization
Rational Developer for System z
Rational Asset Analyzer
Problem Determination Tools
Traditional z/OS Development
COBOL, PL/I, HLASM
CICS, IMS, DB2
z/OS Application
Production Support
Traditional z/OS Maintenance and Enhancements
COBOL, PL/I, Assembler
CICS, IMS, DB2
19
IBM Software
Group | Rational
software
RDz/RAA/PD
Tools
– Integrated
Lifecycle Coverage
Build
Process**
Build Process
• Rational Team Concert
• ClearCase for z
System, QA
Acceptance
Test
z/OS Based
• PD Tools - Code Coverage
• Rational Function Tester for z
• Rational Performance Tester for z
Mixed
z/OS Based
Workstation
Based
Rational Developer for System z
Problem Determination Tools
Workstation
Based
Edit – Compile – Unit Test
Integration Test
Rational Developer for System z
Problem Determination Tools
Project and Program Analysis, Scoping, Understanding
Rational Asset Analyzer/Rational Developer for System z
20
SoftwareTraditional
Group | Rational software
RAA andIBMz/OS
Maintenance
RAA reveals the procedural semantics buried within an application's source code.
It catalogs all elements and all of the RELATIONSHIPS among the application elements.
RAA presents these elements and their relationships in simple, visual, hyper-linked and easily
consumed reports and graphics
It is the shortest path to grasping an application –
gaining top-down and bottom-up
"intellectual control"
21
IBM Software Group | Rational software
Collateral list
 z/OS Programmers – Book Excerpt from Capers Jones
 http://www-949.ibm.com/software/rational/cafe/thread/2274?tstart=15
 z/OS Terms and Concepts:
 http://www-949.ibm.com/software/rational/cafe/docs/DOC-3129
 COBOL's future:
 http://answers.google.com/answers/threadview/id/328090.html
22
®
IBM Software Group
RDz Q1 Online User Group
Tools for z/OS Maintenance and Support – ISPF and RDz
© 2008 IBM Corporation
IBM Software
Group | Rational software
Optimizing
Maintenance
Recall from a previous slide that there are decided areas in
which software products save time and money:
 General tool features:
1. The ability to explore the application code-base, to view/analyze as
much code at-a-glance as possible
– In order to grasp and learn an applications semantics, prior to making logic changes
– Particularly important due to the size of legacy z/OS applications
2. Program navigation
– How programmers study code
3. Functionality that keeps up with developer thought processes
– Real-time/Event-driven/Hyper-linked analysis
 Specific maintenance tools/features assistance
 Finding semantic dependencies – in key elements throughout your
application
 Rendering code in a semantically meaningful way
 Verifying the effect of a maintenance change
24
How Do You
an
Application Prior to Changing it?
IBM Learn/Explore
Software Group | Rational
software
 Traditionally by studying compile listings (green bar printout) – or using ISPF
 With compile listings you get to see more code – a necessity when the program you're
trying to learn has 12,000 lines of Procedure Division
 With ISPF you get to see a lot less at-a-glance
 Most z/OS traditional developers use: 24/80 screen size
25
Hmm…. that's
notGroup
very
much
– can't you split the screen?
IBM Software
| Rational
software
 Sure… if you want. But now you're down four and five lines per…
 Note can use PFSHOW toggles to display two more lines total
 Let's try 32/80 screen size…
26
IBM Split
Software Group
| Rational software
32/80 with
Screen
 Better, but still only ~nine lines per screen?
 You can split so that one screen has 17 lines – and you can use PF9 to swap
 However, you can only be in EDIT within one session (within the same file) 
27
IBM Software Group
| Rational software
43 X 80 Screen
Size
 Now you're talking! A colossal 36 lines of code at-a-glance – not even 1/2 a page of
green-bar. And even then, the characters seem, umm… Salvador Dali-esque?
28
Making Things
Clear
withsoftware
RDz
IBM Software
Group –
| Rational
Learn and work with programs 90 lines at a time
(Editable and all tools available, in both views)
29
A "BIGGER IBM
PICTURE"
– Explore/Learn
Software Group
| Rational software viewing 174 Lines of source code
– Fully edit-able and tooling-enabled
 fdfds
RDz's COBOL Editor – with three open programs
Fonts actually are legible (the size green-bar printout)30
Software
Group
| Rationalall
software
What canIBMyou
do
with
that "real estate"?
What if I
?
want bigger fonts
Examine and analyze the program
logic that does screen handling…
While you're reviewing the screens
I/O area definitions…
Correlating with the actual screen
layout (source or design views)
31
It's Windows,
scale
the fonts and screens to any
IBMright?
Software (You
Group | can
Rational
software
resolution you want)
What else can I do with all this visual real estate?
32
IBM can
Softwareyou
Group | Rational
softwareadditional Real Estate?
What else
do with
Use Case – Database Applications:
1. Copy/Paste your SQL Declare into a SQL Script and run it – verify results
2. Without doing any other navigation open a test table, and edit row values – or modify the
statement (or both)
3. Re-run the SQL Script – verify results
4. Return to step 2 – repeat until satisfied with functionality
33
Edit a program
and
edit
its software
copybooks (all at the same time)
IBM Software
Group
| Rational
34
IBMdata
Software Group
software
Edit large
files| Rational
– with
long record lengths
This is File Manager/RDz integration –
with filtered data (shown as gray rows)
35
IBM Software
Group | Rational
software all that screen real estate)
More Ideas
(on what
do with
 Reconcile record layout and picture clause mismatches
36
IBM Software
Group | Rational software
Source Code
Application/Code
Viewing
 ISPF

RDz
 17  43 lines of source
 46  174 lines of code
 Split screen allows edit in one
frame only – when editing a
single dataset
 Any number of additional eclipse views
open and sized
 Horizontal screen split only
 Horizontal or vertical screen split
 Better use of real estate
 Windows-based/Eclipse-based
 Scale fonts/screen resolution to taste
 Scale any specific window to size
 Full edit capabilities in all split source
views
 Full product tooling in all source views
 Can open multiple tools and work on
related application elements
simultaneously – examples:
 Edit program source + modify DB2
values – or QSAM/VSAM test data
record values simultaneously
 Edit screen I-O areas + procedural
logic and view/edit screens
simultaneously
37
IBM Software Group | Rational software
Isolating Code Elements – ISPF
 Along with viewing the most code at-a-glance as possible, often you must isolate key
elements within a program, and filter out the distracting non-essential information
ISPF options include:
 ISPF 3.4
 Split Screen
 Excluding lines
– usually
combined with:
 Find
commands
 Exclude lines (optional)
38
Software Group
| Rational software
IsolatingIBM
Code
Elements
– RDz
 Double-click (to select)
 Right-click
 Context menu option
for filtering/isolating
 Bookmark, and/or
Expand & Collapse
code details
39
Software Group
| Rational software
IsolatingIBM
Code
Elements
– RDz Additional Options
 Filter view context menu
 Find with All option
 Automatically collapses search
results
40
IBM Software Group | Rational software
Isolating Code – ISPF versus RDz
 ISPF
 Manual – all typing
 Multiple step operation
– Combination of primary
and line commands
 Limited functionality
 Find Text + X nnn

RDz
 Mouse-driven
 Option for typing
 Single operation
 Filtering for:
 Any element within your source
 Divisions
 Only Code
 Only Comments
 I-O Statements
 Errors
 Program Divisions
 Outlined source
 Find text
 Collapse/Expand
41
Summary IBM
– Code
Analysis/Viewing
the Application
Software Group
| Rational software
Landscape – ISPF versus RDz
 ISPF: Limited by 3270 technology and 30 year-old functionality
 RDz: Enhanced through state-of-the-art windows/IBM technology: LPEX, Eclipse
 Put another way…
 Would you return to this:
 When you can see and do this?
42
IBM Software Group
| Rational software
Viewed another
way…
You can use green screen technology 
Or you can
use RDz
43
NavigatingIBM
– ISPF
Software Group | Rational software
 Besides being able see as
much code at-a-glance as
possible, maintaining an
application requires that
developers be able to
navigate easily and quickly
to precise "points of
interest" within the source
code.
In ISPF this is done by
pressing PF-Keys:
 F7/F8/F10/F11
 Often combined with
 Primary edit
commands
– FIND … F5
– Locate …
 And custom scroll
settings
44
IBM Software Group | Rational software
Limitations of ISPF Navigation
 Minimal navigation functionality
Options are:
 Locate <line-number>
 Find 'text'
– Additional sub-options
 F7/F8/F10/F11
Relatively clumsy at aligning on/display a specific set of statements or lines
Particularly insufficient when combined with limited screen sizes
No application run-time or language-understanding built-in to ISPF functionality
 Keyboard only for primary edit navigation commands
 Every single  Enter and PF-Key pressed is a CPU-interrupt (becomes a
data center "charge back" and increases MIPS usage)
45
Navigating –IBM Software Group | Rational software
RDz
 Scroll bars
 Up/Down
 Right/Left
 Outline View
 Two-way
synchronize
 Standard
windows keys:
 PgUp
 PgDn
 Ctrl/Home
 Ctrl/End
 Arrow keys:
 Up 
 Down 
 Right 
 Left 
 PF Keys 
 F7/F8
 Commands:
Line#
46
Additional RDz
IBM Software Group | Rational software
Navigation Features
 Bookmarks
 Perform Hierarchy
 Hover – reveals paragraph
and variable declaration
 Open Declaration
… Forward/Backward
 Perform Hierarchy
47
RDz SourceIBM
Search
Software Group | Rational software
and Navigation
 Rich search options - All
ISPF search options +
 Additional capabilities
 Across different platforms
 Can Mix & match PDS
types (JCL, COBOL, COPY,
BMS, CLIST, etc.) in single
search operation
Search results:

Persist
 Within a session
 Between sessions

Are hyperlinked

Can be scrolled
sequentially by clicking
 Backward
 Forward

Which act as navigation
"place-holders"
48
RAAi Control
IBM Software Group | Rational software
Flow Model

Graphically reveals
program's
procedural structure

Can click a
paragraph name
and source code
within the LPEX
editor aligns

Provides
unbeatable
combination of
"top-down" and
"bottom-up" code
learning model
49
RAAi – Search
for Variables
References
IBM Software
Group | Rational
software
and Modifications
Show sorted X-Ref of program variables
When found can use to answer critical and
important Maintenance Questions
50
IBM Software
Group | Rational software
Source Code
Navigation
– ISPF versus RDz
 ISPF
 Manual – all typing
 Multiple step operation
– Combination of primary
and line commands
 Limited functionality
 Simple Find/Repeat Find

RDz
 Mouse-driven
 Option for typing
 Too many options to recite here, but:

Outline view

Perform Hierarchy

Hover

Open Declaration
–
Forward / Backward arrows

Scroll bars (Vertical/Horizontal)

PC keys

Arrow keys

PF Keys
–
–
PgUp/PgDn/Ctrl-Home/Ctrl-End
F7/F8/F10/F11

Command line

RAAi – hyperlinked:

–
Control flow model
–
Variable cross-reference
–
Where Reference/Modified
–
Impact analysis report
Search:
–
Wildcard text/Regular expressions
–
Across different PDS types on the host
–
Found items:
–
Persist
–
Are hyperlinked
51
IBM Software Group | Rational software
And Perhaps Best of ALL?
Essentially zero MIPS consumed - with RDz/RAA code navigation and analysis

$$$

52
IBM Software Group | Rational software
Summary
How often do you use DOS
Edit for creating formal
text documents 
 Versus using
Windows technology
53
IBM Software Group | Rational software
Summary
 Green-screen tools are general-purpose, technology-independent product:
 Excellent for coding/creating new programs and applications from scratch
 With next to nothing specific, in the way of assistance for maintenance/support tasks
 Although obviously individuals have used ISPF with immense manual work effort to
maintain and support production applications for decades
 Using
 "Head's down" studying of compile listings, using paper clips and sticky pads
 Handwritten notes to cross-reference impacted statements (often in the hundreds)
 Green-Screen/
 Error-prone and time-consuming (aka – "expensive")
 Taxes developer experience and expertise
 There are much better solutions to employ for doing maintenance and support, at
this point, which:
 Accelerate results
 Reduce costly errors, rework and refactoring
 Improve productivity
 Lower machine costs through:
 Offloaded development and reduced compiles and test cycles
57
IBM Software Group | Rational software
Net
 You can continue to maintain z/OS
applications the way developers
did in the 1970s
58
IBM Software
| Rational software
Or you can
useGroup
RDz/RAAi
and the PD Tools
Which:
 Makes your developers more productive?
 Nets you better quality code (fewer software defects)?
 Saves MIPS/Time and Money?
59
IBM of
Software
Group | Rational
software
Principles
Better
Maintenance
 Determining Dependencies:
 Data Dependencies
 Impact Analysis
– A data dependence exists when one statement provides a value subsequently used
by another statement either directly or through a chain of data definitions and
references.
 Data flow diagram
 Procedural Dependencies
 Paragraph level – see Flowchart/Visualization
– A statement in a procedure is syntactically dependent on another statement of the
procedure if there is a chain of control and data dependences between the two
statements.
 Module level – see Run unit and Batch Diagram
 Specialty functions for maintenance:
 Functions that assist maintenance
 Functions that are only for maintenance
 Where used
 Where changed
 Impact analysis
From white paper on z/OS Maintenance
 http://www-949.ibm.com/software/rational/cafe/docs/DOC-3298
60
OptimizingIBMMaintenance
– Static
Software Group | Rational
software Code Analysis Tool Features
Combination
of:
 RDz
 Rational
Asset
Analyzer
61
OptimizingIBMMaintenance
– Dynamic
Code Analysis Tool
Software Group | Rational
software
Features
Combination of:
 RDz
 Problem
Determination
Tools
 CICS
Interdependency
Analyzer
 Rational Asset
Analyzer
62
IBM Software Group | Rational software
Course
RDz v7.6
Technical Training
Units:
 Principles of z/OS Maintenance
 Backup slides
63
RDz – Mainframe
Chart ("Cheat Sheet")
IBM Software Comparison
Group | Rational software
TSO/ISPF
RDz – Integrated Development Environment
Mainframe – z/OS
PC – Windows – where the code is being developed
JCL
JCL. If doing offloading from z/OS, shell scripts – on AIX machines
Manually analyze code
RAA i
Edit Code - ISPF
LPEX or ISPF mode editor
Compile/Compiler Options
Syntax Check – and/or Build Application – Compiler options under RDz
Submit Job
Edit JCL and submit job, or just use the Context menu and Submit
Unit Test – DISPLAY/READY Trace, Xpeditor
Debug Perspective – Local Project
Integration Test – Xpeditor
Remote Systems – z/OS Debug Tool Integration
QA – Regression Test - WinRunner
Remote Systems Testing – and utilizing Rational Function Tester
ABEND-AID/IBM Fault Analyzer
RDz – Integrated Fault Analyzer
File-Aid/IBM File Manager
RDz – Integrated File Manager
PDS (library)
Project – or Folder Set
JES
Remote System / JES
Endevor/ChangeMan – or Your SCLM
3rd Party SCM utilizing RDz's CARMA feature; ClearCase utilizing native integration; SCLM utilizing the
SCLM DT Perspective and/or Local History
ISPF Option 0
Preferences
ISPF Option 1 and Option 2
LPEX Editor
ISPF Option 3.1 (Library Utilities)
Project Explorer and Context Menu in Remote Systems Explore
ISPF Option 3.2 (Dataset Utilities)
Project Explorer and Context Menu in Remote Systems Explorer
ISPF Option 3.3 (Move and Copy)
Project Explorer and Context Menu in Remote Systems Explorer
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 Explorer – JES – My Jobs
ISPF Option 3.11  3.15 (Extended Search)
Search menu
ISPF Option 4 (Foreground)
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
64
IBM Software Group | Rational software
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 – can open unlimited #
of views
PF 3 = End
Ctrl+F4 / Ctrl + 0, or close the Content Area
PF 4 = Return
Close the Content Area
PF 5 = RFind (repeat last find )
Ctrl/F – and /<text> from LPEX command
PF = 6 RChange (repeat lst change)
Ctrl/N
PF = 7 Move Backward
PgUp key – or slider in window
PF = 8 Move forward
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
PF = 10 Move left
Home key, or slider in window
PF = 11 Move right
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)
65
RDz – ISPF
Chart
– Primary Edit Commands
IBMComparison
Software Group | Rational
software
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
If have not saved, Close Content Area w/Save no
CHANGE – All – NEXT, CHARS, X, ALL PREFIX, FIRST, SUFFIX, LAST, WORD, PREV,
[col-1] [col-2]
Supported using replaceText, Ctrl+F or the Search window: Change All, Next, PREV, Prefix and Suffix (with wildcards),
Prev, Word, [col-1][col-2], P
Not supported: First, Last
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
http://www.felgall.com/tso2.htm
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 7380), 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
LPEX command: expandAll, or: action showAll, or Ctrl+W
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
Can set margins in Preferences
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
66
IBM Software Group | Rational software
RDz – ISPF Comparison Chart – Primary Edit
Commands – Picture Strings
ISPF Editor
LPEX Editor
Simple String
Y
Previous String
N/A
Delimited String
Y
Text string
Y
Picture String
Partial
Picture Strings – special characters
Y – with regular expressions
P'=' – any character
Y
P'-' – any non-blank character
Y – with regular expressions
P'.' – any non-displayable character
Y – with regular expressions
P'#' – any numeric character
Y – with regular expressions
P'-' – any non-numeric character
Y – with regular expressions
P'@' – any alphabetic character
Y – with regular expressions
P'<' – any lower-case character
Y – with regular expressions
P'>' any upper-case alphabetic character
Y – with regular expressions
P'$' – any special character (not alphanumeric)
Y – with regular expressions
67
IBM Software Group | Rational software
RDz – ISPF Comparison Chart – Edit Line
Commands
ISPF Editor
LPEX Editor – ISPF Mode
LPEX Editor – lpex Mode
A, An – After
A, An
Context menu
B, Bn – Before
B, Bn
Context menu
COLS – show columns
Columns always shown
Columns always shown
C, Cn, CC – Copy
C, Cn, CC
Context menu
D, Dn, DD
D, Dn, DD
Context menu or Ctrl+Backspace
F, Fn – First (used with eXclude)
F,
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)
N - Find excludes lines of code
N - Find excludes lines of code
M, Mn, MM – Move
Context menu
Context menu
R, Rn, RR, RRn – Repeat lines
Context menu
Context menu – or Ctrl+D
S, Sn – Show (used with eXclude)
Filter
Filter
TABS – used with TAB On
Set with Preferences
Set with Preferences
X, Xn, XX eXclude
X, Xn, XX
Filter
O, On, OO – Overlay
O, On, OO
Use Rectangle Copy/Paste
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
Use Rectangle Select – shift
(, (n, ((, ((N – columns left – Used with
COBOL
(, (n, ((n
Use Rectangle Select – shift
), )n, )), ))n – Columns Right
), )n, ))n
Use Rectangle Select – shift
68
RDz – ISPF Comparison
Chart
– LPEX
IBM Software Group
| Rational
software Editing Operations – 1 of 2
LPEX Editor
ISPF Editor
Refactor – Remove Noise Words: - IS, THEN, PROCEED TO
N/A
Multiple Line Comment/Uncomment
N/A
Virtual margins – in the editor
N/A
Code completion (Content Assist)
N/A
Open Copybook
N/A
Open Declaration – of variable or PERFORM'd paragraph from anywhere in the Procedure Division
N/A
Perform Hierarchy
N/A
Refactor – wizard for intelligent variable name changes
N/A
Outline View
N/A
Filter View – Show only Divisions, SQL,CICS,DL/I, Comments (no code), Code (no comments), etc.
N/A
COBOL, PL/I and HLASM keyword / language help
N/A
Show lines that have been changed during edit (before save)
N/A
Find and Change against multiple file types
N/A
Block Marking (Ctrl+Down, Ctrl+Up, Ctrl+Home, Ctrl+End)
N/A
Virtual 'A' and 'B' Column lines in the source code – as visible markers/reminders for syntax
N/A
Allocate Like
N/A
Remote System Filters
N/A
Side-by-side Compare and/or Restore from Local History
N/A
Close all split screens in one operation (context menu)
N/A
See file attributes and statistics at all times (in a View)
N/A
69
IBM Software Group | Rational software
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
N/A
Wizard-driven approach to creating, testing and deploying DB2 Stored Procedures
N/A
Copy files from one LPAR to another
N/A
Edit/Compile/Unit Test if the mainframe is offline
N/A
Syntax error – automatically select line with problem
N/A
See 90  180 lines of source at once - clearly
N/A
COBOL Keyword context-sensitive syntax HELP (F1 over any reserved word)
N/A
Regular expression searches – including across Filtered files of different file types
N/A
Keystroke recorder (useful for repetitive tasks and online testing)
N/A
Bookmark and Tasks (both lines of source and filtered views, capturing annotations, prioritization, etc.)
N/A
Find "Last Changed" line of source code / Ctrl+J
N/A
Hover over variable and PERFORM statement reveals variable declaration and Paragraph/Section
N/A
Return to previous edit OR browsed source position (backwards and forwards) during your session
N/A
Validated syntax errors as you type – including variable references
N/A
Syntax check including EXEC SQL and EXEC CICS in the editor
N/A
70
Standard ISPF
– versus
RDz
– Application
Development and Maintenance
IBM Software
Group
| Rational
software
Functionality
Use Case Scenarios
TSO/ISPF
RDz
Reduce MIP consumption for mainframe development
Cannot reduce MIP consumption with mainframe tools
Significant MIPS reduction possible
(between 40% and 70%)
Reduce MIP consumption for mainframe run-time environment
Cannot reduce MIP consumption with mainframe runtime
Can offload significant operational
systems on to: AIX, System P
Create Web Interfaces to existing COBOL/CICS/IMS applications
Requires Java Developers with separate tools working
with COBOL developers
One language – one IDE - one toolset – used by
either COBOL or Java developers
Create Web 2.0 (Rich Internet Application) interfaces to existing COBOL/CICS/IMS applications
Requires Java Developers with separate tools working
with COBOL developers
One language – one IDE - one toolset – used by
either COBOL or Web 2.0 developers
Y
One language – one IDE - one toolset – used by
either COBOL/PL/I, CICS/IMS, Java or Web 2.0
developers
Use ONE common development environment, and IDE for:
Traditional mainframe COBOL/PL1/CICS/IMS/DB2 development
Cannot be done with ISPF
Java/J2EE modeling, development and maintenance
Cannot be done with ISPF
Web 2.0 (Rich Internet Application) Development
Cannot be done with ISPF
Edit/Compile/Debug/IDE Integration:
Line-by-line step
Only available with ISPF + CompuWare products +
extremely TSO-cycle intensive
Monitor and Watch Lists
End-to-end debug between mainframe and WebSphere Java/J2EE applications
RDz + Debug Tool
 Local
 Host-based
Modify variable and even register values dynamically
Local Debug and/or Remote Debug
sub-
 Intuitive, integrated, easy to use
Local Debug not available
Not available
Language-specific editors and tools (COBOL, PL/I, Assembler, Java, EXEC SQL/CICS, etc.)
Not available
COBOL, PL/I, Assembler, Java, CICS, SQL, C
UML  COBOL model transformation
Not available
Automated, Wizard-driven process
Manual costly and time-consuming ISPF coding and
testing process
Automated, Wizard-driven process
Manual costly and time-consuming ISPF coding and
testing process
Automated, Wizard-driven process – available from
Workstation
Create “top-down”, “bottom-up”, and “meet-in-the-middle” Web Services from existing :
CICS/COBOL/PL1
IMS/COBOL/PL1
Generate using wizards, and debug DB2/COBOL/PL1 Stored Procedures
Integrate the IDE and source editor with ABEND resolution software (click on the ABENDing line, and go
directly to the COBOL source line where the instruction error occurred)
z/OS Batch Jobs (Submit, Monitor and View)
No software integration. Only available with
Tools
PD
RDz + Fault Analyzer Perspective. More seamlessly
integrated tools
Y
Y
Not available
Y
Launch a z/OS session – Example CICS, IMS TM, or logon to TSO
Y
Y
Submit a batch z/OS Job. Monitor the job and view the output in JES
Y
Y
Available only through batch job PD Tools
RDz + Mainframe Debug. More seamlessly
integrated tools
Not available
Y
N - Only system print
Y – both
Can be done with additional custom REXX and TSO Edit
macros (and file tailoring)
Y – built in to product features
Generate complete CRUD/DB2 Application – call-able through Web Services
Integrated Source level Debug and RUN
"Paint" using Drag & Drop CICS and IMS Screens. Generate BMS/MFS + JCL for assembling
Local or system print capabilities
Generate JCL for compiling, linking and map editing
71
ISPF – versus
Basic
Database
and Data Set Manipulation
IBMRDz
Software
GroupFile,
| Rational
software
Functionality
Use Case Scenarios
TSO/ISPF
RDz
Run coded SQL Statements interactively
Y
Y
Save SQL statement run-results for unit-test compare purposes
N
Y
Generate SQL Statements with wizard
N
Y
Generate DB2 Stored Procedures using a wizard
N
Y
N
Y
N
Y
N
Y
N
Y
 View and navigate resource definitions
N
Y
 Define Resources
N
Y
 From scratch
N
Y
 From existing production resource tables
N
Y
N
Y
Partial – using SDF II
Y
 DL/I View and hierarchy map generation
N
Y
 Navigate SYSGEN resource definitions
N
Y
 MFS Map Editing
N
Y
Work with DB2 tables, views, stored procedures, DDL, Extract and Load
From a single login, work with multiple databases or work with databases on different subsystems or LPARs
Edit a table or view directly (like an Excel spreadsheet) modify/add/delete rows, etc.
Load a table from a comma-delimited file
Unload a table into a comma-delimited file
Work with CICS
 Run locally (offload mainframe test cycles)
BMS Map Editing and assembling
Work with IMS
Work with large, complex QSAM (sequential) datasets
Direct file editing format through a COPYBOOK
Partial
Y
Only available with CompuWare File-Aid
Integrated RDz + File Manager
Specify selection for VSAM file sub-setting
Work with VSAM (indexed sequential or relative record) datasets
Direct file editing format through a COPYBOOK
Partial
Y
Only available with CompuWare File-Aid
Integrated RDz + File Manager
Specify selection for VSAM file sub-setting
Work with datasets, PDS/PDSE and PDS members

Allocate, compress, copy, move, migrate, compress with backup datasets
Y
Y

Copy files between local (PC) and remote (mainframe) systems
N
Y

Copy files and datasets between LPARs
N
Y
72
Standard ISPF
Facilities
RDz for Data Source Editing
IBM Software
Group–| versus
Rational software
Functionality
Single line edit commands (Insert/Delete/Copy/Move, Exclude, Copy with Overlay, Shift)
TSO/ISPF
RDz
Y
Y – ISPF mode or GUI Edit Mode
Y
Y – ISPF mode or GUI Edit Mode
Partial - limited to PF-Key customization
Y – all keys
Commenting/un-commenting executable lines in one operation
N
Y
Block Source Editing (copy rectangular block of code)
N
Y
Find/Change – Global/Discretionary – repeat Find/Change, and w/in columns
Y
Y
Find/Change across multiple file types
N
Y
Refactor (modify) Paragraph and variable names
N
Y
Limited # of vertical-only views – Editing in one
Y – unlimited use of editable views
17 lines (Default )
46  76 lines of source (editing fonts)
Collapse/Expand source view - show only 01, Paragraphs, SQL, CICS, etc. or detail code
N
Y
Outline (hierarchical) view of COBOL program- Paragraphs and Copybook records
N
Y
Content Assist – build COBOL statements dynamically from data elements and paragraphs (provides
serious productivity improvements and fewer compile errors)
N
Y
Syntax Check Dynamically as you type (syntax validation without compilation)
N
Y
Templatized COBOL and PL/I program and JCL file create process and code Snippets
N
Y
Block (multi-line) editing (Insert/Delete/Copy/Move, Exclude, Copy with Overlay, Shift)
Customize Key Mapping – change to editor best suited to the task
Split Screen – vertical or horizontal. View and work in (edit in) > 2 splits at once
Comprehensive/Expansive source view (how many lines code can you see at once?)
Show lines that have been changed during Edit before Save
N
Y
Bookmarks (create and save between edit sessions) and Bookmark views
Partial – Cannot Save Bookmarks
Y
Interactive Compile (Syntax Check) for COBOL
N – Must submit Batch z/OS Job
Y – Local or Remote
Interactive JCL Scan (Syntax Check) for JCL run-stream and Procs
N – Must submit Batch z/OS Job
Y – Local or Remote
Syntax/Compiler Error Automatic Statement Selection
N
Y
Local History for Edit Compare, or for undo of saved changes by timestamp
N
Y
COBOL Keyword and Language syntax HELP
N
Y – available with F1 over keyword
COBOL Perform Hierarchy View (shows nesting of Perform chains)
N
Y
Partial – can use SuperC
Y
Filtering data sets into logical folders (for find/change)
N
Y
Copybook expansion
N
Y
Issue TSO commands and other TSO and custom REXX Editing Macros and CLISTS
Y
Partial – Most but not all functionality
Open declaration on Selection
N
Y
Hex EDIT
Y
Y
Source File Electronic Compare
73
TSO/ISPF – IBM
versus
RDz
+ |COBOL
Analytics Tools – For Development
Software
Group
Rational software
Use Case Scenarios
TSO/ISPF
RDz + RAA
We need to ensure that the unit and integration test data beds have sufficient Code Coverage Analysis before
moving the application into production
Virtually impossible to achieve with ISPF search
techniques
Debug Tool
We would like to document the following for all new applications:
Manual, iterative, costly, error-prone and timeconsuming ISPF:
RAA Reports
JCL run-stream jobs, Procs and Parmlib data
Data Flow Diagram – all QSAM/VSAM files, DL/I databases and DB2 Tables/Views
A process flow diagram – all of the programs in each job
A list of all programs in the application. For each program:
 A graphical/hierarchical structure chart of the flow of control
Search
Edit – document with comments
Note graphical documentation is (for all practical
purposes) not supported
 A list of all files accessed
 A list of all copybooks
If online program:
 Show the transaction flow – front-to-back
 List associated system resources (CICS/IMS table gens)
 List online screens – and which programs send and receive them
Java / JavaScript web pages that access the application’s:
 Process (COMMAREA or LINKAGE)
 Data
A set of analysis metrics – that calculate overall code complexity
We’re planning on transforming several key VSAM and QSAM files into DB2 tables. In order to cost and scope this
effort, we need to know:
Manual, iterative, costly, error-prone and timeconsuming ISPF:
What JCL will have to be changed
Search
How many temporary (&&Temp and SortWork) files are affected (for QSAM)
Edit – document with comments
Standard (in-the-box) RAA reports
All areas of the COBOL programs that access the VSAM file that will have to be re-written
FDs
Copybooks and all other related WORKING STORAGE structures and variables
Linkage Section
PROCEDURE DIVISION paragraphs
All calls to sub-routines passing values
During the development of this app, the users realized they forgot about a key piece of information that will be
added to a DB2 table. We need to know what COBOL/PL1 programs and Java entities (Servlets, JSPs and EJBs)
reference this table – as they will more than likely need process the information in the new table/column
Debug an error that occurred during application development unit-test – including but not limited to:
Data exception
Operation exception
Arithmetic exception
Divide By Zero
Job Cancelled/Timeout (infinite loop)
Module Not Found
IMS Database Error or VSAM File Error Condition (invalid status code)
Standard (in-the-box) RAA reports
Manual, iterative, costly, error-prone and timeconsuming ISPF – and can only answer the question:
“What Happened”
All integrated tooling – and allows you to answer
the critical questions: “Where, What, Why
and How” did this problem happen:
 Search
RDz
 Edit/Compile/Retest
PD Tools
 May require additional tools:
RAA
 ABEND-AID
 File-AID
DB2 / SQL Error Condition
Incorrect Output (No ABEND Code – just incorrect results)
74
TSO/ISPF versus
RDzGroup
+ COBOL
Tools For Maintenance – 1 of 2
IBM Software
| Rational Analytics
software
Use Case Scenarios
TSO/ISPF
RDz + RAA
We need to ensure that the unit and integration test data beds have sufficient Code Coverage Analysis before moving
the application into production
Virtually impossible to achieve with ISPF search
techniques
Included in the product functionality
We need to change a file’s LRECL. What other jobs and COBOL programs will be affected?
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
Should we keep investing in maintenance or redesign this application (how complex is it)?
Subjective opinion
Built-in code metrics reports
Is this application a good candidate for outsourcing?
Subjective opinion
Built-in code metrics reports
What is the risk that this application will have performance issues in the near future?
Subjective opinion
Built-in code metrics reports
Find COPYBOOKS that are no longer used
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
Find dead (un-executed) code in any program in an application
Very costly and difficult to achieve – error-prone
Included in the product functionality
List the programs called by a particular program & List the programs that call a particular program
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
List the programs that use a data element of a particular name
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
We need to enlarge a DB2 table column, list the DB2 affected artifacts, COBOL copybooks, WORKING-STORAGE
and LINKAGE SECTION fields, program literals, Files – including JCL DD card (LRECL/BLKSIZE) parameters (for the
file itself and affected files (GDGs, &&TEMP and SORTWRK), print files, online screen macros, online system table
and including: XML files, WSDL definitions, EJBs, Property Files, Java Servlets & JSP and any HTML pages that have
to be changed
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
Bill and Julia are retiring next month (they’ve each worked here for 35+ years – and are mainly responsible for the
maintenance and support of 7 mission critical systems. We have hired and trained new COBOL developers, but how
can they grasp the:
Manual iterative, costly and time-consuming ISPF
searches – more likely combined with green-bar
listing/printout study
Included in the product functionality
We would like to statically analyze the program’s execution path (both forwards and backwards) in order to determine
how a particular routine ended up being invoked (we’re looking for fall-through logic)
Very costly and difficult to achieve – error-prone
Included in the product functionality
Find INSERTS into a VSAM file
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
Lately a certain batch job is taking too long to finish. We need to find out data sets and tables are being accessed in
order to determine if there are contention issues
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
We just bought a new SORT package and want to change all of the JCL in our shop to reference the new product
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
A key algorithm (that’s hard-coded in several modules in a large application) for computing tax and revenue has
changed, and we want to:
Manual, iterative, costly and time-consuming ISPF
searches – by expert shop developers
Included in the product functionality
Programs in an online transaction
Key data flows throughout the system (both in batch and online transactions)
Flow of control (both the batch and online transaction parts of these applications)
Job sequence and the JCL run-stream/Proc datasets
Inter and Intra-program dependencies and data relationships
Programs’ structure and relationships
Create a reusable sub-routine for this algorithm
Find all of the modules that contain the code
Replace the existing hard-coded logic with a call to the sub-routine
75
TSO/ISPF versus
RDzGroup
+ COBOL
Tools For Maintenance – 2 of 2
IBM Software
| Rational Analytics
software
Use Case Scenarios
TSO/ISPF
RDz + RAA
We need to change a date parm for batch streams, from USA format to ISO. Identify all of the batch streams that will
be affected.
Virtually impossible to achieve with ISPF search
techniques
Available queries against the RAA catalog
The users have decided to change a screen. Provide an initial estimate (scoping) of the amount of effort required by
listing all transactions and programs that will be impacted by this.
Manual, iterative, costly and time-consuming ISPF
searches
Available queries against the RAA catalog
We are trying to reengineer a large COBOL application. In the initial data analysis phase we need to remove
homonyms from the code. List all copybooks with the same name as other copybooks.
Manual, iterative, costly and time-consuming ISPF
searches
Available queries against the RAA catalog
We are trying to recover disk space. List all QSAM and VSAM datasets that are not used (referenced) in either the
Batch or Online application systems
Subjective opinion
Available queries against the RAA catalog
A production proc needs to be changed. List all of the datasets referenced.
Subjective opinion
Built-in code metrics reports
We want to change the over-night batch cycle, but are worried about contention issues. List all of the common
datasets between two applications (not Procs, not JCL entire applications)
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
Create a sorted list of all COBOL literals used in the PROCEDURE DIVISION.
Very costly and difficult to achieve – error-prone
Included in the product functionality
We plan to reengineer a QSAM file to DB2. List all of the CRUD operations against it, in order to begin the analysis
and cost estimates.
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
Manual, iterative, costly and time-consuming ISPF
searches
Included in the product functionality
We want to migrate a COBOL program from z/OS to AIX COBOL - What percentage of the code is platform-specific
Make a list of all unused Copybooks (see above, reclaiming disk space)
76
TSO/ISPF – versus
RDz + COBOL Analytics Tools – For ABEND Resolution and
IBM Software Group | Rational software
Production Support
Use Case Scenarios
Debug a data exception
S0C7 – Essentially it’s necessary to perform a usage
(intelligent-reference) analysis of what data has overlaid the
contents of
Debug a Data Set type of exception
001
002
TSO/ISPF
RDz + RAA
Manual, iterative costly, error-prone and time-consuming ISPF searches – working
backward in the source code, often across multiple jobs, attempting to follow the
instruction set that wrote invalid (non-numeric) data into storage.
By using RAA the developer will be able to understand the
context of the problem (What, Where, How, When and mostimportantly Why) some of these problems happen
Manual, iterative costly, error-prone and time-consuming ISPF searches – working
backward in the source code, often across multiple jobs, attempting to follow the
instruction set that wrote invalid (non-numeric) data into storage.
Use RAA automatic system tracing functionality – which
provides Data Flow analysis, and spans variables, modules,
jobs data files/databases and transactions.
013
May also need Impact Analysis – also built-in to the product
813 (file open error)
B37 (out of space condition)
Manual, iterative costly, error-prone and time-consuming ISPF searches – working
backward in the source code, often across multiple jobs, attempting to follow the
instruction set that wrote invalid (non-numeric) data into storage.
Use RAA automatic impact analysis functionality – which
spans variables, modules, jobs data files/databases and
transactions
Manual, iterative costly, error-prone and time-consuming ISPF searches – working
backward in the source code, often across multiple jobs, attempting to follow the
instruction set that wrote invalid (non-numeric) data into storage.
Use RAA automatic impact analysis functionality – which
spans variables, modules, jobs data files/databases and
transactions
Manual, iterative costly, error-prone and time-consuming ISPF searches – working
backward in the source code, often across multiple jobs, attempting to follow the
instruction set that wrote invalid (non-numeric) data into storage.
Use RAA code understanding schematics to grasp the logic
leading to (typically) an infinite loop.
Manual, iterative costly, error-prone and time-consuming ISPF searches – working
backward in the source code, often across multiple jobs, attempting to follow the
instruction set that wrote invalid (non-numeric) data into storage.
Use RAA automatic impact analysis functionality – which
spans variables, modules, jobs data files/databases and
transactions
Manual, iterative costly, error-prone and time-consuming ISPF searches – working
backward in the source code, often across multiple jobs, attempting to follow the
instruction set that wrote invalid (non-numeric) data into storage.
Use RAA reports to verify the logic sequencing, that caused
the invalid DL/I Return Code. Or, if some other DL/I error
use Impact Analysis tracing to find out the cause of the
problem.
Manual, iterative costly, error-prone and time-consuming ISPF searches – working
backward in the source code, often across multiple jobs, attempting to follow the
instruction set that wrote invalid (non-numeric) data into storage.
Use RAA reports to verify the logic sequencing, that caused
an R.I. problem during INSERT. Or, if some other SQL error
use Impact Analysis tracing to find out the cause of the
problem.
VSAM File Error Condition
Manual, iterative costly, error-prone and time-consuming ISPF searches – working
backward in the source code, often across multiple jobs, attempting to follow the
instruction set that wrote invalid (non-numeric) data into storage.
Depending on the type of error, use either the file/program
dependency reports, or impact analysis to track backwards
from the error to the source
Incorrect Output
Manual, iterative costly, error-prone and time-consuming ISPF searches – working
backward in the source code, often across multiple jobs, attempting to follow the
instruction set that wrote invalid (non-numeric) data into storage.
Use RAA automatic impact analysis functionality, on
incorrect values to reverse trace variables, modules, jobs
data files/databases etc. in the transaction or unit of work
Debug an Operation Exception
0C1
0C4
Arithmetic Exception
0C8
0CA
0CB (Divide By Zero)
Job Cancelled / Timeout condition
122/222/322
Module Not Found
806
IMS Database Error Condition
 Invalid or unexpected PCB status codes
DB2 / SQL Error Condition
Invalid or unexpected SQLCodes (Referential integrity
problem, -811, Duplicate Primary key, etc.)
No ABEND Condition
77
TSO/ISPF – IBM
versus
RDz
+ |COBOL
Analytics Tools – For SOA
Software
Group
Rational software
Functionality
TSO/ISPF
RDz + RAA
List most frequently called (hub) programs (identify as good candidate for SOA)
Manual, iterative, costly, error-prone and
time-consuming ISPF searches
RAA standard reports and functionality
included in the tools
List programs that are doing persistence or presentation functionality
Manual iterative, costly and timeconsuming ISPF searches
“
Should we keep investing in maintenance or redesign this application (how complex is it)?
Manual iterative, costly and timeconsuming ISPF searches
“
Identifying data validation assumptions from screen interactions, and ensuring that the data validation is done somewhere,
potentially as part of the contract with the calling service
Manual iterative, costly and timeconsuming ISPF searches
“
Separating the business logic that you want to reuse from what is not relevant.
Manual iterative, costly and timeconsuming ISPF searches
“
Which variables in the programs we want to SOA-enable represent business entities?
Manual iterative, costly and timeconsuming ISPF searches
"
Which statements in the program describe business rules
Manual iterative, costly and timeconsuming ISPF searches
"
We need to change a web service. Find all programs, applications and Java Classes that use a particular WSDL
Manual iterative, costly and timeconsuming ISPF – and probably PC-file
searches
Custom Queries from the RAA Catalog
Removing screen calls down in a call chain and replacing this with error return codes.
Manual iterative, costly and timeconsuming ISPF searches
“
78
TSO/ISPF – IBM
versus
RDz
+ |COBOL
Analytics Tools – For Testing
Software
Group
Rational software
Functionality
TSO/ISPF
RDz + RAA
I've changed a particular program, sub-routine, field or copybook – identify all the places it is used – across the enterprise - so I
can build quality test cases
Manual, iterative, costly, error-prone and
time-consuming ISPF searches
RAA standard reports and functionality
included in the tools + custom SQL queries
against meta-data stored in the catalog
Identify the screen and data resources that are needed to do testing: files, databases, etc.
Manual iterative, costly and timeconsuming ISPF searches
“
We are making a change that impacts a very large # of jobs across the enterprise, identify all of the input files (and not temporary
inter-job files/output files) by using the job-step sequence in the JCL procs
Manual iterative, costly and timeconsuming ISPF searches
"
Validate the code-coverage of our existing test-plan – down to the field level of affected variables due to a modification of a file
copybook
Manual iterative, costly and timeconsuming ISPF searches
“
Separating the business logic that you want to reuse from what is not relevant.
Manual iterative, costly and timeconsuming ISPF searches
“
Removing screen calls down in a call chain and replacing this with error return codes.
Manual iterative, costly and timeconsuming ISPF searches
“
79
TSO/ISPF – IBM
versus
RDz
+ |COBOL
Analytics Tools – For Data Analysis and
Software
Group
Rational software
Database Work
Functionality
TSO/ISPF
RDz + RAA
Find inefficient SQL Queries
Manual, iterative costly, error-prone and
time-consuming ISPF searches
RDz/Explain Tool – and SQL Best Practices
queries.
Added an index – Packages/Plans to re-bind. List programs to re-analyze
Manual, iterative costly, error-prone and
time-consuming ISPF searches
RAA Custom reports
We need to further normalize a table design. What programs and DCLGENs are affected
Manual, iterative costly, error-prone and
time-consuming ISPF searches
RAA Custom reports and meta-dictionary
lookups
What columns are good candidates for indexes (based on source reference/usage model)
Manual, iterative costly, error-prone and
time-consuming ISPF searches
“
We would like to offer 24/7 batch update support. What table and index combinations are candidates for locking and
contention issues?
Manual, iterative costly, error-prone and
time-consuming ISPF searches
“
What tables are accessed online? Batch? Both? Also list the report by Job Stream and by Transaction
Manual, iterative costly, error-prone and
time-consuming ISPF searches
“
What tables are frequently (or almost always) used together? We may want to de-normalize the design.
Manual, iterative costly, error-prone and
time-consuming ISPF searches
“
Lately a certain batch job is taking too long to finish. What data resources – including QSAM, VSAM files and DB2 tables
does it access?
Manual, iterative costly, error-prone and
time-consuming ISPF searches
“
We would like to partition our largest and most heavily used tables to support CPU and I/O access parallelism. What are the
best candidates? And what’s a good clustering key for partitioning?
Manual, iterative costly, error-prone and
time-consuming ISPF searches
“
We are designing new tables, and need to understand the application data access model (Select …vs… Update, Delete,
Insert) in order to find the best performance-oriented and clustering index combinations
Manual, iterative costly, error-prone and
time-consuming ISPF searches
“
We have just upgraded our DASD and need to re-visit the blocking factor (BLKSIZE) for the QSAM files on a given LPAR.
Manual, iterative costly, error-prone and
time-consuming ISPF searches
RAA Standard reports
We would like to build a CRUD matrix against our DB2 tables, Views and VSAM files
Manual, iterative costly, error-prone and
time-consuming ISPF searches
RAA Custom reports and meta-dictionary
lookups
Our current Data Center manager believes heavily in Stored Procedures. What are the best candidates for DB2 Stored
Procedures among our existing static plans?
Manual, iterative costly, error-prone and
time-consuming ISPF searches
“
List any SQL statements that join “large” tables without indexes on their foreign keys
Manual, iterative costly, error-prone and
time-consuming ISPF searches
“
Need to rename or modify the datatype of a column in a table – Show all impacts:
Manual, iterative costly, error-prone and
time-consuming ISPF searches
RAA Standard product Impact analysis tracing
process
Manual, iterative costly, error-prone and
time-consuming ISPF searches
RAA Custom reports and meta-dictionary
lookups
Indexes
Views
Application program copybooks – and all associated WORKING-STORAGE fields that are associated with the
changed copybook field(s)
SQL Statements
Java/J2EE web pages
We would like to explore the use in our shop of DB2 “outer joins”, as they are potential performance problems – where can
we get a list of them?
80
TSO/ISPF – IBM
versus
RDz
+ |COBOL
Analytics Tools, For Capacity
Software
Group
Rational software
Planning/System Tuning
Functionality
TSO/ISPF
RDz + RAA
DB2 sort pool sizing
Limited to traditional manual and ISPF multi-search
methods
Custom catalog queries on SQL statements that incur
DB2 sort
DB2 Buffer Pool Allocation
Limited to traditional manual and ISPF multi-search
methods
Standard reports with SQL output
Do I have enough resource (CPU, I/O, Storage,..) to do the job today?
Limited to traditional manual and ISPF multi-search
methods
RAA cumulative reports of batch and online system
resources
How do I size a new application?
RAA standard reports on resources
How do I establish my growth?
Custom catalog reports on JCL dataset extents over time
captured in the database
If I add these 4 new batch jobs, what will the affect be on:
RAA standard reports on new application resources:
CPU Utilization
 Program modules + online screens
I/O Storage
 I/O statements & SQL activity
How can I more accurately model my current workload?
“
The business side is predicting a 15% up-tick in growth and numbers of concurrent users. What effect
will the associated increase in CICS/DB2 traffic be on our network, production and testing subsystems?
RAA cumulative reports in the meta-model on system
resources
What is the combined VSAM file allocation currently required by a given application?
RAA standard reports
Note – the above static system documentation
would be used to complement standard SMF
data and Tivoli/OMEGAMON output analysis
81
TSO/ISPF – versus
RDz + COBOL Analytics Tools – For Project Management and
IBM Software Group | Rational software
Outsourcing Governance
Functionality
Lower the cost and length of the bidding process
TSO/ISPF
 Discuss with application Subject Matter Experts
 Manual iterative costly and time-consuming ISPF
searches
RDz + RAA
RAA Standard reports and metrics – showing application
size, scale, dependencies, data flow, and complexity
metrics
 Read through existing documentation
Improve year-on-year ROI for both supplier and client
Limited to traditional manual and verbal methods
RAA Standard reports and metrics
Bring new consultants up to speed with client code far faster
Y – but limited to PF-Keys
RAA Standard reports and metrics – and code
visualization
Generate core systems documentation in minutes, providing factual backup to strategic decisions and
aiding application understanding for future projects
No generation capabilities, only expensive and timeconsuming manual methods
RAA Standard reports and metrics
Improve client audit compliance through management information and status reporting
Limited to traditional manual and verbal methods
RAA coding best practices reports
Support consistent delivery of high-quality projects through fully automated, easily repeated
assessments across the entire core system landscape
Limited to traditional manual and verbal methods
RAA coding best practices reports
Reduce dependency on a client's time and expertise by automating application intelligence
N - Limited to traditional manual and verbal methods
RAA Standard reports and code visualization
Lower the cost and length of the bidding process
N - Limited to traditional manual and verbal methods
RAA Standard reports and metrics
82
TSO/ISPF – versus
RDz + COBOL Analytics Tools – Enlarge a DB2 Column (Just
IBM Software Group | Rational software
Application Work – not DBA portion)
TSO/ISPF
1. Use a 3rd Party tool to determine what DB2 PLANS reference the table. Or using SPUFI/QMF, write and execute a number of DB2/DBA-level System Catalog queries – referenced catalog tables include (but
are not limited to): SYSPLANS, SYSPLANDEP, SYSPACKAGES, SYSDBRMS, SYSTMT & Stored Procedure tables (if they are used)
RAA
Run RAA Standard impact analysis
reports.
2. Save the DB2/SQL Statement results to a TSO file – or printout. On an average large-scale z/OS production system, this could be well over 100 entries.
3. For each SQL Statement (for each of the (average) over 100 results listed in step 2)
Open and browse in the COBOL source
Find the statement
Find the host variable for the column to be enlarged
Note the DCLGEN record name (will have to be re-created)
(The hard part) Do iterative, recursive, discrete and explicit TSO text searches, to list all COBOL variables that this field interacts with (essentially, all COBOL "data manipulation" and "data
comparison" statements) that will need to be modified. Here is a partial list of explicit keywords, each if found factors into the recursive search:
 MOVE – and all variations of MOVE such as MOVE CORRESPONDING – which means you now must trace GROUP moves, not just the individual field itself
 (if a numeric field) ADD, SUBTRACT, DIVIDE, MULTIPLY, COMPUTE, SET
 IF, EVALUATE, INSPECT (WHEN clause)
 Literals that will need to be changed – esp. if part of comparisons
 STRING, UNSTRING and Reference Modification statements
 CALL USING/ENTRY USING
 WRITE, READ
 A host of LE calls and COBOL intrinsic functions
 PERFORM UNTIL loops with (if a variable is part of PERFORM USING)
… more
Disregard all hits (false-positives) in * comment lines
Repeat the above for each field affected (all fields related to any changed field become part of a linked list or, "association chain").
Be careful not miss any fields – anywhere in the association chain – this gets very difficult, when fields are externalized – see steps, 4  9 below)
List all of the Records affected in the FILE SECTION, or DL/I segments, or other DB2 DCLGENs
 Look for QSAM – VSAM file - DL/I database and DB2 table write operations
Create a list or printout of all affected fields and records
4. For all File Records found in step three affected Look for QSAM – VSAM file - DL/I database and DB2 table write operations
If DB2 Table SQL statement – return to Step 1
If any records are QSAM/VSAM files – including SORT/MERGE, &&TEMP files, SYSOUT, potentially log files:
 Find all JCL associated with the files
 The LRECL and BLKSIZE Parameters – that will need modification. SPACE parameter might need to be recalculated and extents
 If they are VSAM files or IMS databases built on VSAM files:
– you will need to modify the IDCAMS utility JCL used to DELETE/DEFINE the datasets
 If there are DL/I databases, you will have to change the DBD and modify the DL/I database – deleting and reloading (let's hope not)
5. If the field is passed from one program to another in CALL … USING/ENTRY USING
Repeat steps 3,4 and this step 5 – for all affected programs
6. If the field – or any associated field anywhere in the chain participates in printed reports:
Recalculate print columns to line up the fields according to the required report output
7. If the field – or any associated field anywhere in the chain is used in a CICS or IMS TM application
Recreate the screen UI – modify the BMS or MFS macros
Modify all COBOL variables affected by changes to the screen I/O
For CICS, you will have to factor in changes to the TS QUEUEs and Transaction Work Areas
For older IMS conversational programs, you will have to factor in changes for the IMS SPA definitions in the SYSGEN
8. (And here's the killer) For every file that any field in the chain is written to, you will need to trace each file through every JCL job stream and:
Repeat steps 3, 4, 5, 6, 7 and 8 for every program/file/field combination - and every new association chain produced
83