rdz workbench - zos cobol development.ppt

58
® IBM Software Group © 2006 IBM Corporation Enterprise COBOL Education Using Rational Developer for Enterprise COBOL Education Using Rational Developer for System Z System Z RDz Workbench and z/OS Development RDz Workbench and z/OS Development Jon Sayles, IBM Software Group, Rational EcoSystems Team

Upload: tess98

Post on 22-Apr-2015

4.795 views

Category:

Documents


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: RDZ Workbench - zOS COBOL Development.ppt

®

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

Page 2: RDZ Workbench - zOS COBOL Development.ppt

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.

Page 3: RDZ Workbench - zOS COBOL Development.ppt

3

Course Contributing Authors

Thanks to the following individuals, for assisting with this course: Reginaldo Barosa/IBM David Bean/IBM

Page 4: RDZ Workbench - zOS COBOL Development.ppt

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.

Page 5: RDZ Workbench - zOS COBOL Development.ppt

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

Page 6: RDZ Workbench - zOS COBOL Development.ppt

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

Page 7: RDZ Workbench - zOS COBOL Development.ppt

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.

Page 8: RDZ Workbench - zOS COBOL Development.ppt

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

Page 9: RDZ Workbench - zOS COBOL Development.ppt

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

Page 10: RDZ Workbench - zOS COBOL Development.ppt

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.

Page 11: RDZ Workbench - zOS COBOL Development.ppt

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

Page 12: RDZ Workbench - zOS COBOL Development.ppt

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

Page 13: RDZ Workbench - zOS COBOL Development.ppt

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

Page 14: RDZ Workbench - zOS COBOL Development.ppt

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!

Page 15: RDZ Workbench - zOS COBOL Development.ppt

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

Page 16: RDZ Workbench - zOS COBOL Development.ppt

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)

Page 17: RDZ Workbench - zOS COBOL Development.ppt

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

Page 18: RDZ Workbench - zOS COBOL Development.ppt

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.

Page 19: RDZ Workbench - zOS COBOL Development.ppt

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

Page 20: RDZ Workbench - zOS COBOL Development.ppt

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

Page 21: RDZ Workbench - zOS COBOL Development.ppt

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

Page 22: RDZ Workbench - zOS COBOL Development.ppt

22

Open (Edit) the MVS Resource in the Content Area

Double-clickTo open a file, copybook, etc.

in the Content Area

Page 23: RDZ Workbench - zOS COBOL Development.ppt

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

Page 24: RDZ Workbench - zOS COBOL Development.ppt

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

Page 25: RDZ Workbench - zOS COBOL Development.ppt

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.

Page 26: RDZ Workbench - zOS COBOL Development.ppt

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.

Page 27: RDZ Workbench - zOS COBOL Development.ppt

27

Show Dependencies – Process

Show dependencies returns a list of

build dependencies.

Page 28: RDZ Workbench - zOS COBOL Development.ppt

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

Page 29: RDZ Workbench - zOS COBOL Development.ppt

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

Page 30: RDZ Workbench - zOS COBOL Development.ppt

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

Page 31: RDZ Workbench - zOS COBOL Development.ppt

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

Page 32: RDZ Workbench - zOS COBOL Development.ppt

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

Page 33: RDZ Workbench - zOS COBOL Development.ppt

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

Page 34: RDZ Workbench - zOS COBOL Development.ppt

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

Page 35: RDZ Workbench - zOS COBOL Development.ppt

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

Page 36: RDZ Workbench - zOS COBOL Development.ppt

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

Page 37: RDZ Workbench - zOS COBOL Development.ppt

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:

Page 38: RDZ Workbench - zOS COBOL Development.ppt

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

Page 39: RDZ Workbench - zOS COBOL Development.ppt

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)

Page 40: RDZ Workbench - zOS COBOL Development.ppt

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

Page 41: RDZ Workbench - zOS COBOL Development.ppt

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

Page 42: RDZ Workbench - zOS COBOL Development.ppt

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

Page 43: RDZ Workbench - zOS COBOL Development.ppt

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

Page 44: RDZ Workbench - zOS COBOL Development.ppt

44

JES output: Go Step – 2 of 2

Submit Generated JCL JobSubmit Generated JCL Job

Page 45: RDZ Workbench - zOS COBOL Development.ppt

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

Page 46: RDZ Workbench - zOS COBOL Development.ppt

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

Page 47: RDZ Workbench - zOS COBOL Development.ppt

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

Page 48: RDZ Workbench - zOS COBOL Development.ppt

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

Page 49: RDZ Workbench - zOS COBOL Development.ppt

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.

Page 50: RDZ Workbench - zOS COBOL Development.ppt

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]

Page 51: RDZ Workbench - zOS COBOL Development.ppt

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)

Page 52: RDZ Workbench - zOS COBOL Development.ppt

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

Page 53: RDZ Workbench - zOS COBOL Development.ppt

53

Subproject Returned to Online State (5 of 5)

Page 54: RDZ Workbench - zOS COBOL Development.ppt

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

Page 55: RDZ Workbench - zOS COBOL Development.ppt

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

Page 56: RDZ Workbench - zOS COBOL Development.ppt

®

IBM Software Group

© 2006 IBM Corporation

RDz Workbench and z/OS DevelopmentRDz Workbench and z/OS Development

AppendicesAppendices

Page 57: RDZ Workbench - zOS COBOL Development.ppt

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

Page 58: RDZ Workbench - zOS COBOL Development.ppt

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