rdz workbench - zos cobol development.ppt
DESCRIPTION
TRANSCRIPT
®
IBM Software Group
© 2006 IBM Corporation
Enterprise COBOL Education Using Rational Developer for System ZEnterprise COBOL Education Using Rational Developer for System Z
RDz Workbench and z/OS DevelopmentRDz Workbench and z/OS Development
Jon Sayles, IBM Software Group, Rational EcoSystems Team
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 Contributing Authors
Thanks to the following individuals, for assisting with this course: Reginaldo Barosa/IBM David Bean/IBM
4
Course Overview
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 Topics
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
UNIT
Topics:
The RDz WorkbenchThe RDz Workbench
Use of MVS Subprojects for Developing z/OS ApplicationsUse of MVS Subprojects for Developing z/OS Applications Data file options Appendix
7
Topic objectives
After completing this topic, you should be able to: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 projectExplain how to perform remote and local syntax checkingShow where errors are displayed and how to navigate to the position of the error in the source codeDescribe how to generate execution JCL and submit JCL jobs for processingDescribe the difference between online and offline Subproject states
Note:Note: In this topic you will be connecting to a z/OS mainframe. The screen captures all In this topic you will be connecting to a z/OS mainframe. The screen captures all
describe connecting to a public z/OS machine that IBM makes available – during classes.describe connecting to a public z/OS machine that IBM makes available – during classes.
If you are taking this course through standard IBM services delivery you should be able to use the If you are taking this course through standard IBM services delivery you should be able to use the properties (I/P address, port#s, etc.), logon IDs and passwords that your instructor provides you with.properties (I/P address, port#s, etc.), logon IDs and passwords that your instructor provides you with.
But you may also be taking this course standalone – and in that case, you will need to speak to your But you may also be taking this course standalone – and in that case, you will need to speak to your company's Systems Programming staff to learn how to connect and logon.company's Systems Programming staff to learn how to connect and logon.
It sort of goes without saying that the actual file names in the screen captures of mainframe libraries and It sort of goes without saying that the actual file names in the screen captures of mainframe libraries and datasets will vary. So you should focus on the process and steps and "how to" – and don't be perplexed datasets will vary. So you should focus on the process and steps and "how to" – and don't be perplexed at differences in screen captures.at differences in screen captures.
You also may be using your company's own Source Control Management system – to do things like You also may be using your company's own Source Control Management system – to do things like builds, compiles, etc. In that case much of the remote functionality in RDz will be customized and tailored builds, compiles, etc. In that case much of the remote functionality in RDz will be customized and tailored to your company's unique and idiosyncratic procedures and protocols.to your company's unique and idiosyncratic procedures and protocols.
8
Types of Projects
RDz allows you to organize your files in multiple types of project-formats, based on your application technical and organizational requirements Remote Systems Explorer (RSERSE)
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/.DLL.EXE/.DLLs Can do local eclipse debugging
See Slide Notes on See Slide Notes on Host-based and Host-based and UNIX ProjectsUNIX Projects
9
What are z/OS Projects and what are MVS Subprojects?
z/OS Projects:z/OS Projects:Are RDz organizational constructs
consisting of separate MVS Subprojects
Can be imported and exported
MVS MVS SubprojectsSubprojects are: are:Groupings of resources…basically a
subset of a z/OS ProjectPopulated 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 analogousanalogous to an ISPF Library Group
z/OS Projectz/OS Project
DatasetDataset
PDS MemberPDS Member
1 to many
1 to many
1 to many
Connection
Connection
MVS SubprojectMVS Subproject
10
Why use MVS Subprojects?
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
How do I Define a z/OS Project and MVS Subprojects?
1. Create a project of type z/OS, of sub-type: MVS Subproject
2. 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.
3. 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
Creating an MVS Subproject (1 of 2)
Using RSE:Connect and login to your Connect and login to your
mainframe mainframe
From z/OS Project Explorer:Select File > New > ProjectFile > New > Project Type a zz under WizardsSelect z/OS Projectz/OS Project Click Next
From New z/OS Project:Name the projectMake sure:
Create an MVS Subproject isis checked
Click Finish
13
Creating an MVS Subproject (2 of 2)
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 checkingEdit 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 FinishFinish
14
MVS Subproject in the z/OS Projects view
You should now see your Subproject in the z/OS Projects view
Note that your Subproject name will likely be different, as it reflects the connection name to your LPAR
What's next?What's next?Verifying MVS Subproject PropertiesPopulating your Subproject (copying content from the mainframe to your workstation)Program development work:
Checking dependencies and working with copybooks Edit/Local Syntax Check Remote compile
Synchronizing source code changes with the mainframeAnd workshops!
15
RDz Project Properties and Property Groups – Reprise***
Recall from the unit titled, "RDz Workbench" we introduced the topic of project properties (see slide titled, "Enabling Your Project for Copybooks"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 GroupProperty Group is an independent collection of resource propertiesDefined and maintained as a setAssociatedAssociated with one or more:with one or more:
Local (workstation) projectsLocal (workstation) projects Remote SystemsRemote Systems MVS SubprojectsMVS Subprojects
As an example of their use, you might define custom properties and assign to different Property Groups for different technology requirements COBOL (COBOL (Batch) Subprojects) Subprojects COBOL CICS SubprojectsCOBOL CICS Subprojects COBOL DB2 (COBOL DB2 (Batch) Subprojects) Subprojects COBOL DB2 CICS SubprojectsCOBOL DB2 CICS Subprojects AIX (or Windows-workstation) applicationsAIX (or Windows-workstation) applications Web Services projectsWeb Services projects Projects that generate DB2 Stored ProceduresProjects that generate DB2 Stored Procedures
PropertiesProperties
PropertyPropertyGroupGroup
MVSMVSSubprojectSubproject
WorkstationWorkstationSubprojectSubproject
RSERSEz/OSz/OSFilterFilter
MVSMVSSubprojectSubproject
PropertiesProperties
PropertyPropertyGroupGroup
PropertiesProperties
PropertyPropertyGroupGroup
See NotesSee Notes
16
Verifying Properties for an MVS Subproject
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 "RDZ Workbench – –
Using Remote Systems Explorer" 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
Add z/OS resources to the MVS Subproject (1 of 2)
There are several ways you can add resources to an MVS Subproject from z/OS:
Using RSE:1. Select an entire PDS …or…
2. Select specific PDS source file members …or… Select a combination of:– Individual sequential files …and… – Individual PDS members
After you have selected the resources you wish to add:
–Right-clickRight-click and select: –Add to Subproject…Add to Subproject…
continued on next slide…
You can also add resources from RSE by simply:You can also add resources from RSE by simply:– Holding down the Ctrl keyHolding down the Ctrl key
– Selecting specific files– Dragging & Dropping your selected files from RSE to the Subproject
Adding explicitly-selected files to an MVS Subproject
18
Select your Project and Subproject NameSelect your Project and Subproject NameSelect your Project and Subproject NameSelect your Project and Subproject Name
Add z/OS resources to the MVS Subproject (2 of 2)
Resources added to z/OS ProjectsResources added to z/OS Projects
Important Note:Important Note: When you add resources to a Subproject the files When you add resources to a Subproject the files themselves are themselves are notnot copied from z/OS. Only links ( copied from z/OS. Only links (pointerspointers) to the original ) to the original files on z/OS are added.files on z/OS are added.
19
If you are working on your own mainframe:If you are working on your own mainframe: Following the steps on the previous slides, and create an MVS Subproject and assign it to the Following the steps on the previous slides, and create an MVS Subproject and assign it to the
MyProperties.xml Property GroupMyProperties.xml Property Group
If you are working on the Sandbox or zServerOS: Log on to the Sandbox or to zServerOS:
1. From Remote Systems, expand: My Data Sets – under MVS Files
2. From z/OS Projects - Create an MVS Subproject and assign it to the LAB2_Remote_COBOL.xml Property Group
Create an MVS Subproject – Workshop
20
If you are working on your own mainframe:If you are working on your own mainframe:Following the steps on the previous slides, add a number of Copylib members, COBOL programs Following the steps on the previous slides, add a number of Copylib members, COBOL programs
(at least one that has copy or include statements) and a Load Module to your MVS Subproject and a Load Module to your MVS Subproject
If you are working on the Sandbox*** From Remote Systems - Expand some of the PDS files and select some copy members, COBOL
programs, JCL files and a LOAD module
Right-click and Add the selected resources to your MVS Subproject
Add additional files (your choice) From EM4Zxx.POT.COBOL
- add CUSVSAM.cblCUSVSAM.cbl
to your MVS Subproject
Add Resources to an MVS Subproject – Workshop – 1of 2
*** The zServerOS workshop *** The zServerOS workshop starts on the next slidestarts on the next slide
21
If you are working accessing zServerOS directly: From Remote Systems, add the following resources to your MVS Subproject
– From <HLQ>.TEST.COBOL:From <HLQ>.TEST.COBOL:– HOSPCALC– HOSPCRFL– HOSPEDIT– HOSPIN– HOSPSORT– HOSPSRCH– CUSVSAM
– The entire <HLQ>.TEST.JCL library:The entire <HLQ>.TEST.JCL library:– And its two members
– From <HLQ>.TEST.LOADFrom <HLQ>.TEST.LOAD– HOSPCRFL
When finished, your MVS Subproject should show new entries
Add Resources to an MVS Subproject – Workshop – 2 of 2
22
Open (Edit) the MVS Resource in the Content Area
Double-clickTo open a file, copybook, etc.
in the Content Area
23
What Happens Upon "File Open"?
When you double-click (open) a file in an MVS Subproject:The remote file is downloaded (copied) from z/OS to your PCThe source lines (records) are translated from EBCDIC to ASCIIA copy of the file is cachedcached 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
YourYourWorkstationWorkstation
z/OS System
Is clicked resource Is clicked resource cached cached andand is the is the
Last Modified Last Modified timestamp the timestamp the
same as on z/OS?same as on z/OS?
Get copy from cache on your
Workstation
Download copy from z/OS
YY
NNRDzRDzToolingTooling
z/OS Projects
24
Working with Copybooks
Many options, for doing work with copybooks:FindFind COPY/INCLUDE statements inside your program sourceBrowseBrowse (open) copybook in the Content AreaOpen DeclarationOpen Declaration (of a field that's defined inside a copybook)The z/OS Projects Context Menu: Show Dependencies…The z/OS Projects Context Menu: Show Dependencies…
Brings copybooks into the MVS Subproject, caches them, and makes them available for:
– Local Syntax Check (which saves TSO cycles)
– All other RDz work
Recall how to isolate copy/include references in your programs:
Ctrl/FCtrl/FFind copybooks
For compressed list
click AllAll
Can also restrict search to columns: 8 12
25
MVS Subproject Show Dependencies…
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 viewz/OS Projects viewA 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
Show Dependencies – Required Properties Recall from the previous unit
that, unless you wish to over-ride your COBOL Compile proc, you should leave Compiler Options blank
In addition, you must specify something in the data set qualifier for compiler errors field of the compile options.
Recall from the previous unit that you must enter only:
<HLQ><HLQ>..<DSName><DSName>
…and no other qualifiers for the Compiler Errors dataset.
This file is a sequential dataset, dynamically allocated by job Show dependencies kicks off.
It is used to store XML data when the show dependencies step is run.
27
Show Dependencies – Process
Show dependencies returns a list of
build dependencies.
28
Show Dependencies – Add to Subproject (Results)
Dependent copybook added to Subproject
Dependent copybook added to Subproject
Editor facilities for working with copybooks done locally (with cached version):
• Saves time• Saves MIPS
Editor facilities for working with copybooks done locally (with cached version):
• Saves time• Saves MIPS
29
Whether you are working on your own mainframe, on the Sandbox or accessing zServerOS directly:
Edit the Properties (using Property Group Manager) – and verify that:– All of the Data Sets are
available:– Press Check Data Sets
– Your dataset name qualifiers are as shown
Show Dependencies – MVS Subproject – Workshop – 1 of 5
30
From the LinkLink tab, change: Link Libraries Load Module Location
Note – if you are using: Your own mainframe you will
enter your own custom values The Sandbox you should use:
<HLQ>.POT. <HLQ>.POT. …… zServerOS directly use:
<HLQ>.TEST. … (as shown)
Close and save changes to the Properties
Show Dependencies – MVS Subproject – Workshop – 2 of 5
31
If you are working on your own MainframeIf you are working on your own Mainframe From z/OS Projects/MVS Subproject folder:
– Right-click over a COBOL program that contains copybooks
– Select: Show Dependencies
If you are working on the Sandbox or zServerOS: From z/OS Projects/MVS Subproject folder:
(One at a time) Right-click over a COBOL program that contains copybooks – the following programs do:
– HOSPEDIT– CUSVSAM
–Select: Show Dependencies
- After the JCL job finishes running, select all COPYLIB build dependencies and add them to your MVS Subproject
Show Dependencies – MVS Subproject – Workshop – 3 of 5
32
Edit a program that references one or me copybooks. Right-click over the copybook file name and Browse the Copy Member.
Working With Copybooks in an MVS Subproject – Workshop – 4 of 5
Optionally Optionally customize customize
your your Workbench Workbench
views as views as shownshown
33
As before, edit a program that references one or me copybooks. Right-click over the copybook file name and Browse the Copy Member.
Working With Copybooks in an MVS Subproject – Workshop – 5 of 5
34
Local Syntax Check
Local/WindowsLocal/WindowsCOBOLCOBOL
CompilerCompiler
Syntax ErrorSyntax ErrorMessagesMessages
Local Syntax Checking is a way to verify your COBOL code, that:
• Saves you time• Saves MIPS
Local Syntax Checking is a way to verify your COBOL code, that:
• Saves you time• Saves MIPS
You can fire off a Local Syntax Check from: • The z/OS Projects context menu• A context menu option in the editor
You can fire off a Local Syntax Check from: • The z/OS Projects context menu• A context menu option in the editor
35
Local Syntax Check Results
If you check: Refresh dependencies new versions of all copy/include files are downloaded to your workstation
If you check: Refresh dependencies new versions of all copy/include files are downloaded to your workstation
Results of Local Syntax Check (and Remote Syntax Check) are placed into the Remote Error List view
This screen capture shows i-level (informational, like COBOL w-level) messages
Results of Local Syntax Check (and Remote Syntax Check) are placed into the Remote Error List view
This screen capture shows i-level (informational, like COBOL w-level) messages
36
Remote Syntax Check (from within the Editor)
A Remote Syntax Check submits a z/OS job (based on the job card and properties you established for your z/OS Project)
Detailed results of the job run can be seen from the JES filter
Like the Local Syntax Check, you can fire off a Remote Syntax Check from:Within an Edit sessionThe z/OS Projects context menu
Note that you will first need to save changes to your program's source
Oops Oops
37
Remote Syntax Check Errors and the Remote Error List
Errors are returned to the Remote Error List, and can be double-clicked, to position the cursor on the line in question
Best Practice:Clear (remove) all error
messages from the Remote Error List prior to doing a Syntax Check using this context menu:
38
Generate JCL (1 of 2)
If your project properties are specified correctly, you can use them to generate JCL for z/OS:COBOL CompileCompile/LinkCompile/Link/Go
From z/OS Projects:From z/OS Projects:Select the program you wish to
generate JCL forRight-click and from the Context Menu
select the option you want
(optional) You can over-ride the generated dataset names
39
Generate JCL (2 of 2) The previous step will submit a job that
generates JCL.
When it finishes:
From the Remote System view:From the Remote System view:Expand the PDS you generated in toOpen (double-click) the JCL member name (by
default, same name as the COBOL program)
40
Submit the JCL to Run the Job With the JCL generated you can now submit it, to finish your build process
From the editor:From the editor:Right-click over the JCL
Select Submit Submit from the Context Menu
…or…Type submitsubmit in the command line
Press Enter
Note the JOBID: - so you can pick it up in the RSE JES Filter
41
Checking Output in JES
Use Remote System Explorer (JES Filter) to manage the job:Refresh My JobsReview the job outputPurge the JES queue when finished
Also, you can view the listing file, to see the compiler/link stats and messages
42
JES Output: Link edit step
Can generate JCL for Compile/Link Before you fire off the job, ensure that load library is correct and has enough space allocated
43
JES output: Go Step – 1 of 2
Can generate JCL for Compile/Link/GOMust ensure that Project Properties (Run-time OptionsRun-time Options) – have necessary parameters and DD cards
For the GO step, add any necessary:
- Parm values
- DD cards
Can optionally generate Debug JCL
44
JES output: Go Step – 2 of 2
Submit Generated JCL JobSubmit Generated JCL Job
45
If you're using your own mainframe:
Create some syntax errors in one of your test COBOL programs in the MVS Subproject
Do a Local Syntax check, and clean up the errors.
If you're using the Sandbox or zServerOS:
1. From your MVS Subproject, load CUSVSAM into the editor
2. Right-click over the program in the editor and select:
Syntax Check > Local (and only do a Syntax Check)
3. From the Remote Error List – clean up all Syntax Errors in the code. Hints:
The first MOVE statement must start in the "B" margin
Comment out the 2nd MOVE statement Add a period to the ADD 1 to W-CUST-
NO. statement
See Slide Notes on how to enable the COBOL column markers as shown in the screen capture
Syntax Checking Workshop – 1 of 3 Syntax Checking Workshop – 1 of 3
46
If you're using your own mainframe:Follow the steps below, substituting your own files and (if exists) your own custom compile/link Proc
If you're using the Sandbox or zServerOS:
Generate JCL Workshop – 2 of 3
From your MVS Subproject Right-click over CUSVSAM Select: Generate JCL > For Compile Link Verify the Data Set names
Click OKOK
This will create a compile/link member in the <HLQ>.TEST.JCL library
47
Expand <HLQ>.TEST.JCLSelect the newly created (CUSVSAM) JCL memberRight-click and Submit the JCL as a batch job
If you fixed the CUSVSAM syntax errors… and if your MVS Subproject properties and
Datasets for COBOL compile and link are correct … your generated compile/link job should run successfully
… and you should get a load module created in <HLQ>.TEST.LOAD
Feel free to (using Remote Systems) browse the libraries or look at the Listing produced - in the above: <HLQ>.TEST.LISTING(CUSVSAM)
Working With JCL Jobs Workshop – 3 of 3
48
States of a z/OS Project
z/OS Projects can be in either of two states:1. Online1. OnlineThe project is connected to the z/OS system to which the
project refersYou can directly change the data sets that are
stored in that system
2. Offline2. OfflineThe project can only access mainframe resources that were explicitly taken offlineThis allows you to work even if TSO is down or if your mainframe connection is or if your mainframe connection is
downdown - and you will notice very quick development response time as well
Connection
Connection
OnlineOnlineSubprojectSubproject
OfflineOfflineSubprojectSubproject
49
Working Offline (1 of 5)
Steps – from z/OS Projects1. Right-click over the Project name2. Select Work Offline…3. Select the resources you want copied to your workstation4. (optional) View and/or select dependent resources to be
copied down
1.1.
2.2.
3.3.
4.4.
50
Working Offline (2 of 5)
RDz will Copy the selected files to your workstation Place any non-copied resources into a disableddisabled (non-editable) state See grayed-out entries above
Mark the project as [Offline]
51
Working Offline (3 of 5)Assume now that you: Edit your source offline Save code changes …and want to synchronize your offline Subproject and code modifications with z/OS
From z/OS Projects Select the Offline Project From the Context menu, select Work Online Work Online (this starts a job to synchronize your code)
52
Return to Online State (4 of 5)
Verify change dialog: RDz detects all source lines that have been changed
while offline. A wizard/dialog allows you to: Compare each delta Accept (Upload) the change Write over the change (move the code from z/OS to the
workstation copy) Do nothing (in case you want to continue to work Offline
When you're finished, click: Work OnlineWork Online RDz resolves all of your edit and source control decisions Copies your original Subproject resources from z/OS to
your PC Puts the project in an Online state
53
Subproject Returned to Online State (5 of 5)
54
Whether you are using your own mainframe, accessing zServerOS directly or using the Sandbox do the following:
From the previous slide steps – starting with: Working Offline (1 of 5): Change the state of your MVS Subproject (on your workstation) from online to offline Modify (edit) a few COBOL statements – to be safe, consider adding a few COBOL
comments Change the state of your Subproject back to Online Walk through the verification wizard, and accept your code changes When the program is back in its online state, try opening the file remotely (using the Remote
Systems Explorer) to verify that your offline project work was successful
MVS Subproject "States" Workshop
55
Topic Objectives
After having completed this topic, you should be able to: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 projectExplain how to perform remote and local syntax checkingShow where errors are displayed and how to navigate to the position of the error in the source codeDescribe how to generate execution JCL and submit JCL jobs for processingDescribe the difference between online and offline Subproject states
®
IBM Software Group
© 2006 IBM Corporation
RDz Workbench and z/OS DevelopmentRDz Workbench and z/OS Development
AppendicesAppendices
57
Frequently Asked Questions
Can I add JES members (and STC's) to an MVS Subproject subproject?
Not currently
The <HLQ>.ERRORCOB data set does not yet exist, is this correct?
Yes - You do not need to create this dataset. The RDz system will generate it for you (it's an XML file that lives on the mainframe)
Can we mention more than one copybook libraries that should be used for compilation in the property group? Similarly can mention than one object libraries that can be used during linking process?
You separate COPYLIB and load module/OBJ library datasets in the Properties by one or more spaces
When Generate JCL is done, are the compiler options taken from the linked property groups ?
Actually no. Over-rides are taken from there. But the original compiler options (defaults) are buried in the PROC executed
How are full builds done normally in a mainframe shop - can those be launched from RDz
RDz only has knowledge of: MVS Subprojects Individual resources
You can rebuild an MVS Subproject using this Context Menu option
Can we work in offline mode if the remote system is not connected, meaning that when we open RDz we don't need to sign on, we just start work with an offline z/OS project?
Correct - RSE does not need to be connected, in order to use an Offline MVS Subproject
If I started a new COBOL program locally, how do I make it into a MVS subproject or on the mainframe
1. Move the new program to a mainframe LPAR that is connected to a subproject2. Then add the program to the subproject from the LPAR connection
58
Frequently Asked Questions - continued
Can I include HTML, CSS and JavaScript files in my MVS Subproject too?
Yes, if those files are exist in the LPAR connected to your Subproject
If we want to make our changes made in the Local system reflect in Z/OS, how to do that If the Subproject is online: Ctrl/S (save) If the Subproject is offline: Right-click, and from the Context Menu select: Work Online
Once the Code is in the content area of RDz, it means the file is downloaded to the cache? Is it same for RSE also? Yes to both questions. RDz uses cached copies of files