|
1
|
- Jon Sayles, IBM Software Group, Rational EcoSystems Team
|
|
2
|
- © 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
|
- Thanks to the following individuals, for assisting with this course:
- Reginaldo Barosa/IBM
- David Bean/IBM
|
|
4
|
- Audience
- This course is designed for application developers who have learned or
programmed in COBOL, and who need to do z/OS Traditional Development
and Maintenance as well as build leading-edge applications using COBOL
and Rational Developer for System z.
- Prerequisites
- This course assumes that the student has a basic understanding and
knowledge of software computing technologies, and general data
processing terms, concepts and vocabulary, as well as a working
knowledge of COBOL and z/OS.
- Knowledge of SQL (Structured Query Language) is assumed for database
access is assumed as well.
- Basic PC and mouse-driven development skills, terms and concepts are
also assumed.
|
|
5
|
- Course Name: Rational Developer
for System z Foundation Training
- 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 COBOL applications using z/OS
is expected. A working knowledge
of SQL is also recommended.
- Course Length: ~5days – or if done in self-paced mode, at your own pace
- Topics (Agenda)
- Getting Started - installing and configuring RDz - and the course materials, and using Eclipse
- The RDz Workbench
- Code analysis tools
- Editing
- Compiling programs
- Debugging local COBOL programs
- The Data Perspective:
- Working with relational data sources
- Modifying test data
- Editing and testing SQL statements
- Working with remote system resources:
- Connecting to a mainframe
- Data management
- Accessing and editing files
- 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
|
|
6
|
|
|
7
|
- After completing this topic, you should be able to:
- Show how to set up projects for host development
- Illustrate how to use the show dependencies option to find the required
files to build a COBOL project
- Explain how to perform remote and local syntax checking
- Show where errors are displayed and how to navigate to the position of
the error in the source code
- Describe how to generate execution JCL and submit JCL jobs for
processing
- Describe the difference between online and offline Subproject states
|
|
8
|
- RDz allows you to organize your files in multiple types of
project-formats, based on your application technical and organizational
requirements
- Remote Systems Explorer (RSE)
- For one-off or trivial (short-term) project tasks that only require
you to work on a few programs or JCL files within a single RDz session
- Use RSE to: analyze/edit/compile
- z/OS Projects – MVS Subprojects
- For project tasks that will persist over multiple RDz sessions
- For large tasks that will require many files
- Or tasks that may need any number and also different types of source
files
- Notes on MVS Subprojects:
- No local (only remote - IBM z/OS PD Tools) Debugger
- All resources ultimately wired back to their mainframe origins
- Your SCM (source code management) system
- PDS or sequential files
- AIX Projects
- For projects that you intend to develop, debug and deploy onto the AIX
platform and run as Unix binaries
- Workstation (local) z/OS Projects
- For projects that will ultimately run as Windows .EXE/.DLLs
- Can do local eclipse debugging
|
|
9
|
- z/OS Projects:
- Are RDz organizational constructs consisting of separate MVS
Subprojects
- Can be imported and exported
- MVS Subprojects are:
- Groupings of resources…basically a subset of a z/OS Project
- Populated by dragging and dropping files from a mainframe RSE
connections
- Kept in-sync – with mainframe host resources, when online
- (or can be) compiled and linked into a single load module
- Roughly analogous to an ISPF Library Group
|
|
10
|
- Productivity:
- Organization:
- Provide simple, useful way of organizing myriad files necessary for
tasks within your application development projects
- Provide hierarchical folder set to manage large number of files
- Simplified process:
- You can drag & drop Filtered mainframe files as a group
- And you can create a:
- Set of RDz properties to manage different compile/pre-compile source
needs for
Local Syntax Check.
- 1. Batch COBOL, 2. COBOL/CICS, 3. Batch COBOL/DB2, 4.
COBOL/CICS/DB2, etc.
- Single load module out of all files in one generated JCL stream
- Quality:
- Tied in to mainframe assets:
- All source changes (line-by-line deltas) resolved back to original
SCM:
- Electronically
- Unconditionally
- MIPS Reduction:
- Local syntax check …vs… running mainframe compiles
- Can develop in Online/Offline mode – for reduced TSO/ISPF session costs
– See notes for a deeper explanation of this.
|
|
11
|
- Create a project of type z/OS, of sub-type: MVS Subproject
- From Remote Systems Explorer (RSE):
- Connect to the remote system you wish to tie to define a z/OS Project
and MVS Subproject
- Create a Filter for the relevant PDSs
- From the Filter:
- Drag & Drop – or select copy & paste all of the host resources
you would like to make part of your MVS Subproject
- Programs
- Copybooks
- Other files: Load libraries, JCL, etc.
- From your new MVS Subproject:
- Analyze your requirements and program source
- Edit the COBOL source
- Compile – Locally or Remote – through JCL or using the RDz tooling
- Test (debug or run with JCL) – if batch
|
|
12
|
- Using RSE:
- Connect and login to your mainframe
- From z/OS Project Explorer:
- Select File > New > Project
- Type a z under Wizards
- Select z/OS Project
- Click Next
- From New z/OS Project:
- Name the project
- Make sure: ¤ Create an MVS Subproject is checked
- Click Finish
|
|
13
|
- Type the Subproject Name
- If you have more than one connection open, you can select the High-Level
Qualifier – which becomes the Host Short Name
- If there is a property group associated with your Workspace you can:
- Select it (as shown) by checking
- Edit it – by clicking:
- If not, you can:
- Create a new property group by clicking:
- Import a property group using the Property Group Manager view (not
shown)
- Click Finish
|
|
14
|
|
|
15
|
- Recall from the unit titled, "RDz Workbench" we introduced the
topic of project properties (see slide titled, "Enabling Your
Project for Copybooks"
- In a nutshell, properties or "resource properties", are
settings (think of them as analogous to compiler parms) that you use to
manage:
- The RDz product workflow (dialogs and options)
- How your application resources are generated, compiled and
linked
- Just the way you use compiler parms to control how the compiler
builds your executable files (what run-time
options to introduce into the machine code)
- A Property Group is an independent collection of resource properties
- Defined and maintained as a set
- Associated with one or more:
- Local (workstation) projects
- Remote Systems
- MVS Subprojects
- As an example of their use, you might define custom properties and
assign to different Property Groups for different technology
requirements
- COBOL (Batch) Subprojects
- COBOL CICS Subprojects
- COBOL DB2 (Batch) Subprojects
- COBOL DB2 CICS Subprojects
- AIX (or Windows-workstation) applications
- Web Services projects
- Projects that generate DB2 Stored Procedures
|
|
16
|
- In the previous unit, you:
- Imported a Property Group (or used one of your own
shop-specific files)
- Verified the settings
- Assigned it to the z/OS System, via RSE
- And if you didn't, please return to the unit titled: "RDZ Workbench – Using Remote Systems
Explorer" and re-do those steps, as you'll need to have finished that
exercise, in order to do the next parts of this lab
- To verify (that you're set up and ready to go):
- From z/OS Projects
- Right-click over your Subproject and select Properties
- Select the Property Group filter
- You should see a dialog like this, with a Property Group selected
(checked)
|
|
17
|
|
|
18
|
|
|
19
|
|
|
20
|
|
|
21
|
|
|
22
|
|
|
23
|
- When you double-click (open) a file in an MVS Subproject:
- The remote file is downloaded (copied) from z/OS to your PC
- The source lines (records) are translated from EBCDIC to ASCII
- A copy of the file is cached on your PC, and subsequent editing reuses
the cached file copy (assuming no changes are made to the dataset
contents on the host). This:
- Eliminates redundant
(unnecessary) z/OS file downloads and saves MIPS
- Improves editing performance of
opened/copied file
- Persists across close/re-open
of RDz
- Whether or not to use cached-copy is based on files “Last Modified”
timestamp
- Not available for a sequential
data set, or a member with no time stamp
|
|
24
|
|
|
25
|
- Displays the Copy members or Include files required to do a local syntax
check or a project build a COBOL or PL/I program.
- Show dependencies can be used to bring all the build dependencies into a
project.
- Action is valid from:
- Remote Systems view
- z/OS Projects view
- A file or the entire project
- A remote syntax check is performed on the resource.
- For a project, a syntax check for each COBOL or PL/I file
- The compiler tells you which copy or include files were used for the
compile.
|
|
26
|
|
|
27
|
|
|
28
|
|
|
29
|
|
|
30
|
|
|
31
|
|
|
32
|
|
|
33
|
|
|
34
|
|
|
35
|
|
|
36
|
|
|
37
|
|
|
38
|
|
|
39
|
|
|
40
|
|
|
41
|
|
|
42
|
|
|
43
|
|
|
44
|
|
|
45
|
|
|
46
|
|
|
47
|
|
|
48
|
- z/OS Projects can be in either of two states:
- 1. Online
- The project is connected to the z/OS system to which the
project refers
- You can directly change the data sets that are
stored in that system
- 2. Offline
- The project can only access mainframe resources that were explicitly
taken offline
- This allows you to work even if TSO is down - and you will notice very
quick development response time as well J
|
|
49
|
|
|
50
|
|
|
51
|
|
|
52
|
|
|
53
|
|
|
54
|
|
|
55
|
- After having completed this topic, you should be able to:
- Show how to set up projects for host development
- Illustrate how to use the show dependencies option to find the required
files to build a COBOL project
- Explain how to perform remote and local syntax checking
- Show where errors are displayed and how to navigate to the position of
the error in the source code
- Describe how to generate execution JCL and submit JCL jobs for
processing
- Describe the difference between online and offline Subproject states
|