RDZ Workbench - zOS COBOL Development.ppt

5,592 views
5,364 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,592
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
129
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Technically-speaking, there is another type of project called a Host-Based Project. Host-based projects are defined on a z/OS system and can be downloaded to the workstation when you connect to the remote system. Host-based projects enable an installation to define and automatically propagate projects on client workspaces from a central location. There is some amount of administration involved in setting Host-based projects up, much of which is highly customized to your specific configuration and install-base. The documentation covers Host-based projects thoroughly, and we consider them out-of-scope for this course. You can also create USS (UNIX Sub System) Subprojects of z/OS. This is done in much the same way we'll describe creating MVS Subprojects.
  • MVS Subprojects can be either: Online – Synchronized through your host-connection upon file save operations Offline – Saves are to local (cached) copies of your source. This will be explained in a subsequent slide titled "Behind the Scenes"
  • You will first have to connect to the remote z/OS system. You will need to log on with a user ID and password and ensure that you have made a successful connection to the remote z/OS system. An MVS Subproject needs to be in a z/OS Project so Note: Prior to creating the new MVS Subproject you should create MVS filters for all the data sets that you wish to copy from the remote z/OS system to the MVS Subproject.
  • Type the Subproject name, then select the host short name and high-level qualifiers from their appropriate drop-down lists. At this stage, you also have an option to import a previously-defined project definition by clicking the Import project definition button.
  • The newly-created MVS Subproject gets placed into the z/OS Projects view of the workbench, along with any other z/OS or local projects that have already been created.
  • *** We realize this is a repeat of a slide from the previous unit titled RDz Workbench, however this topic is important (and in our experience "new" enough) to most programmers to bear repetition. Plus it segue-ways into the next set of slide topics  Rational Developer for System z uses property groups to make defining, updating, and sharing resource properties easier and more manageable. MVS Subprojects work hand-in-hand with Properties to allow you to specify Compile settings Resolving COPY and Include statements
  • The compiler settings are inherited from the compiler setting properties of the MVS File definition. If these settings need to be changed, you can step through by clicking the Next button for each step and making the modifications. Finally, click Finish . Instructor Notes: Details: These settings are the same as those that were defined in the MVS File properties, which was discussed in an earlier lecture unit.
  • To add data sets from the Remote System to the MVS Subproject, right-click the desired data set and select Add to Project.. from the pop-up menu. Note: You can select more than one data set to add to the MVS Subproject by holding the CTRL and selecting the desired data sets.
  • Select the name of the MVS Subproject which you are adding the data sets to, then click Finish .
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • Double-clicking on one of the COBOL programs of the MVS Subproject opens it with the editor.
  • When a remote file is opened in an editor or copied to local, it is downloaded and a local copy is created. Then the local copy is opened in the editor or copied to the target. The caching function reuses this local copy as long as the remote file is not modified. This eliminates unnecessary downloads and improves performance. It uses the last modified time stamp of the remote file to see if the cached copy is valid. This means that a sequential data set and a member with no time stamp are not supported by caching. If any of the mapping properties, such as a transfer type and code pages, of the remote file have been changed, the cached copy cannot be used, because downloaded local file will be different. The cache is persistent and valid across shutdown and restart of the workbench. Instructor Notes: Details: A cached copy is placed in FttRemoteTempFiles project as FttRemoteTempFiles/connection_name/hlq/data_set/member file. For example, the cached copy of a member IGYTSALE in HLQ.SOURCE.COBOL data set on mvs07 is FttRemoteTempFiles/mvs07/HLQ/HLQ.SOURCE.COBOL/IGYTSALE. FttRemoteTempFiles is an Eclipse project, but filtered out in the z/OS Projects view and the Navigator view. To see the project and cached copies, the filter must be removed from the Filters Menu. Currently, only way to clear the cached copies is to delete the files explicitly. When a connection name is renamed in the Remote Systems view, some functions, such as the local syntax check does not work. This is because the local copy contains the connection name in its path, but not adjusted on rename. To recover from the situation, the connection name has to be renamed back to the original name.
  • With the file open with the editor, select Edit > Find/Replace from the menu.
  • The show dependencies function will tell you about all the resources needed to build your program or project. As such, it takes the guesswork out of finding which copybooks the compiler is going to use. Names of the dependent files are passed back in either the ADATA or the XML file.
  • To set compiler options for a show dependencies or remote syntax check operation, do these steps: On the Procedures and Steps tab of the COBOL or PL/I Settings page, expand the ELAXFCOC or ELAXFPL1 procedure name. Double-click the COBOL or PLI step. The COBOL or PL/I Compile Step Options window opens. Select the Support Error Feedback check box. This check box prompts the compiler to allocate an XML file during show dependencies or remote syntax check operations. Rational Developer for System z parses this XML file to display dependent files. Add XINFO(XML) to the Compiler Options field of the COBOL or PL/I Compile Step Options window.
  • For show dependencies to work, the JES subsystem must be connected.
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • When you request a local syntax check for a remote COBOL or PL/I file, Developer for System z™ searches the remote system for all dependencies (such as copybooks and include files) and caches these files in a temporary location in your workspace. The list of files is also stored as a property of the remote file. This search and temporary caching enables Developer for System z to complete a syntax check without requiring you to add the dependent files to your MVS™ subproject. After copying all the program’s dependent files using the Show dependencies function of the workbench, your local syntax check should work without returning any errors. Note: Remote syntax checking is performed in a similar way, in this case, select Syntax Check > Remote from the pop-up menu. The syntax check compilation is then run on the remote z/OS system and the z/OS system is searched for the dependent files.
  • The results of the local syntax check show in the Remote Error List, if there are any messages. In this example, a single informational message has been returned after running the local syntax check.
  • In this example and error has purposely been introduced into a COBOL program on the remote z/OS system. Right-click anywhere in the editor and select Syntax Check > Remote from the pop-up menu.
  • The errors resulting from a remote syntax check will be displayed in the Remote Error List, if there are any. Double-clicking on the error in the Remote Error List will take you to the point of the error in the editor. In addition, hovering over the error icon in the line number will display the error message.
  • The JCL Data Set and Member Name dialog shows where the output of the generate JCL will go. You can optionally change these values, then click OK .
  • You can submit the JCL job for processing by typing submit server-name from the command line underneath the editor, where server-name is the short name of one of the z/OS servers you are connected to.
  • When the JCL is submitted, it is assigned a job number by the Job Entry Subsystem (JES). You can view the output under the My Jobs filter of the JES file system in the Remote Systems view.
  • On this page you see the output of the link edit step of the job, which is displayed in the editor after double-clicking the step LKED:SYSPRINT of JOB03225 in JES. The return code shown in this example is 0.
  • This page shows the results from running the batch program IGYIVP.cbl. THIS PROGRAM IS USED TO VERIFY A SUCCESSFUL INSTALLATION OF: The Enterprise COBOL compiler and Language Environment run-time library.
  • This page shows the results from running the batch program IGYIVP.cbl. THIS PROGRAM IS USED TO VERIFY A SUCCESSFUL INSTALLATION OF: The Enterprise COBOL compiler and Language Environment run-time library.
  • To enable the COBOL columns, From Window > Preferences, expand LPEX Editor, System z LPEX Editor, COBOL Parser, and check the column 8 and 12 margin check boxes
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • To create an MVS Subproject, you have to be connected to a remote system. However, you do not have to remain connected to the remote system to work on resources associated with the project. You can work offline. To accomplish this goal, you disconnect your resources, work locally on your workstation, and then connect the resources back to the remote system when that is appropriate. You can then continue to work online. The work offline feature is a convenience that lets you edit your source code, syntax check the code, and save your changes when a host connection is not available.
  • When you take a project offline, non-source files and datasets are automatically disabled from edit
  • The resources are now in an offline state. You can edit the files locally without being connected to the remote z/OS system.
  • Now when you edit the file, the changes are being made to a local (offline) copy of the program.
  • When you switch back to the online state, you have to manually select the files you want to upload. A dialog opens, allowing you to compare the local and remote versions the files. You can use this dialog to upload or download the versions of the files you would like to keep. Clicking on the Work Online button displays a warning message, indicating that any changed files not uploaded to the remote system will be lost.
  • After manually uploading, there should no longer be any changes in the Changes pane. Click Work Online .
  • If you expand MVS Files, you will see that a default filter is automatically created for you with your log on user ID as the high-level qualifier. You will see all data sets starting with that high-level qualifier (if there are any).
  • RDZ Workbench - zOS COBOL Development.ppt

    1. 1. Enterprise COBOL Education Using Rational Developer for System Z RDz Workbench and z/OS Development Jon Sayles, IBM Software Group, Rational EcoSystems Team
    2. 2. IBM Trademarks and Copyrights <ul><ul><li>© Copyright IBM Corporation 2007,2008, 2009. All rights reserved. </li></ul></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>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. </li></ul></ul>
    3. 3. Course Contributing Authors <ul><li>Thanks to the following individuals, for assisting with this course: </li></ul><ul><ul><li>Reginaldo Barosa/IBM </li></ul></ul><ul><ul><li>David Bean/IBM </li></ul></ul>
    4. 4. Course Overview <ul><li>Audience </li></ul><ul><ul><li>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. </li></ul></ul><ul><li>Prerequisites </li></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>Knowledge of SQL (Structured Query Language) is assumed for database access is assumed as well. </li></ul></ul><ul><ul><li>Basic PC and mouse-driven development skills, terms and concepts are also assumed. </li></ul></ul>
    5. 5. Course Topics <ul><li>Course Name: Rational Developer for System z Foundation Training </li></ul><ul><li>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 </li></ul><ul><li>Pre-requisites: Some experience developing COBOL applications using z/OS is expected. A working knowledge of SQL is also recommended. </li></ul><ul><li>Course Length: ~ 5days – or if done in self-paced mode, at your own pace </li></ul><ul><li>Topics (Agenda) </li></ul><ul><ul><ul><li>Getting Started - installing and configuring RDz - and the course materials, and using Eclipse </li></ul></ul></ul><ul><ul><ul><li>The RDz Workbench </li></ul></ul></ul><ul><ul><ul><ul><li>Code analysis tools </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Editing </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Compiling programs </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Debugging local COBOL programs </li></ul></ul></ul></ul><ul><ul><ul><li>The Data Perspective: </li></ul></ul></ul><ul><ul><ul><ul><li>Working with relational data sources </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Modifying test data </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Editing and testing SQL statements </li></ul></ul></ul></ul><ul><ul><ul><li>Working with remote system resources: </li></ul></ul></ul><ul><ul><ul><ul><li>Connecting to a mainframe </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Data management </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Accessing and editing files </li></ul></ul></ul></ul><ul><ul><ul><li>z/OS Application Development </li></ul></ul></ul><ul><ul><ul><ul><li>Creating MVS Subprojects </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Creating and customizing project properties </li></ul></ul></ul></ul><ul><ul><ul><li>Debugging z/OS Applications </li></ul></ul></ul><ul><ul><ul><ul><li>Debugging Batch Applications </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Setting Debug Tool for Online Applications </li></ul></ul></ul></ul><ul><ul><ul><li>Working with File Manager </li></ul></ul></ul><ul><ul><ul><ul><li>Creating test data </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Editing complex file-types </li></ul></ul></ul></ul><ul><ul><ul><li>Working with mainframe ABENDs using Fault Analyzer </li></ul></ul></ul><ul><ul><ul><ul><li>Creating Fault History views </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Analyzing and solving mainframe ABENDs </li></ul></ul></ul></ul><ul><ul><ul><li>Creating and modifying BMS Maps using the BMS Map Editor </li></ul></ul></ul>
    6. 6. The RDz Workbench UNIT Topics: <ul><li>Use of MVS Subprojects for Developing z/OS Applications </li></ul><ul><li>Data file options </li></ul><ul><li>Appendix </li></ul>
    7. 7. Topic objectives <ul><li>After completing this topic, you should be able to: </li></ul><ul><ul><li>Show how to set up projects for host development </li></ul></ul><ul><ul><li>Illustrate how to use the show dependencies option to find the required files to build a COBOL project </li></ul></ul><ul><ul><li>Explain how to perform remote and local syntax checking </li></ul></ul><ul><ul><li>Show where errors are displayed and how to navigate to the position of the error in the source code </li></ul></ul><ul><ul><li>Describe how to generate execution JCL and submit JCL jobs for processing </li></ul></ul><ul><ul><li>Describe the difference between online and offline Subproject states </li></ul></ul> Note: 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. 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. 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. 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 &quot;how to&quot; – and don't be perplexed at differences in screen captures. 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 to your company's unique and idiosyncratic procedures and protocols.
    8. 8. Types of Projects <ul><li>RDz allows you to organize your files in multiple types of project-formats, based on your application technical and organizational requirements </li></ul><ul><ul><li>Remote Systems Explorer ( RSE ) </li></ul></ul><ul><ul><ul><li>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 </li></ul></ul></ul><ul><ul><ul><li>Use RSE to: analyze/edit/compile </li></ul></ul></ul><ul><ul><li>z/OS Projects – MVS Subprojects </li></ul></ul><ul><ul><ul><li>For project tasks that will persist over multiple RDz sessions </li></ul></ul></ul><ul><ul><ul><li>For large tasks that will require many files </li></ul></ul></ul><ul><ul><ul><li>Or tasks that may need any number and also different types of source files </li></ul></ul></ul><ul><ul><ul><li>Notes on MVS Subprojects: </li></ul></ul></ul><ul><ul><ul><ul><li>No local (only remote - IBM z/OS PD Tools) Debugger </li></ul></ul></ul></ul><ul><ul><ul><ul><li>All resources ultimately wired back to their mainframe origins </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Your SCM (source code management) system </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>PDS or sequential files </li></ul></ul></ul></ul></ul><ul><ul><li>AIX Projects </li></ul></ul><ul><ul><ul><li>For projects that you intend to develop, debug and deploy onto the AIX platform and run as Unix binaries </li></ul></ul></ul><ul><ul><li>Workstation (local) z/OS Projects </li></ul></ul><ul><ul><ul><li>For projects that will ultimately run as Windows .EXE/.DLL s </li></ul></ul></ul><ul><ul><ul><li>Can do local eclipse debugging </li></ul></ul></ul>See Slide Notes on Host-based and UNIX Projects
    9. 9. What are z/OS Projects and what are MVS Subprojects? <ul><li>z/OS Projects: </li></ul><ul><ul><li>Are RDz organizational constructs consisting of separate MVS Subprojects </li></ul></ul><ul><ul><li>Can be imported and exported </li></ul></ul><ul><li>MVS Subprojects are: </li></ul><ul><ul><li>Groupings of resources…basically a subset of a z/OS Project </li></ul></ul><ul><ul><li>Populated by dragging and dropping files from a mainframe RSE connections </li></ul></ul><ul><ul><li>Kept in-sync – with mainframe host resources, when online </li></ul></ul><ul><ul><li>(or can be) compiled and linked into a single load module </li></ul></ul><ul><ul><li>Roughly analogous to an ISPF Library Group </li></ul></ul>z/OS Project Dataset PDS Member 1 to many 1 to many 1 to many Connection MVS Subproject
    10. 10. Why use MVS Subprojects? <ul><li>Productivity: </li></ul><ul><ul><li>Organization: </li></ul></ul><ul><ul><ul><li>Provide simple, useful way of organizing myriad files necessary for tasks within your application development projects </li></ul></ul></ul><ul><ul><ul><li>Provide hierarchical folder set to manage large number of files </li></ul></ul></ul><ul><ul><li>Simplified process: </li></ul></ul><ul><ul><ul><li>You can drag & drop Filtered mainframe files as a group </li></ul></ul></ul><ul><ul><ul><li>And you can create a: </li></ul></ul></ul><ul><ul><ul><ul><li>Set of RDz properties to manage different compile/pre-compile source needs for Local Syntax Check. </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>1. Batch COBOL, 2. COBOL/CICS, 3. Batch COBOL/DB2, 4. COBOL/CICS/DB2, etc. </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Single load module out of all files in one generated JCL stream </li></ul></ul></ul></ul><ul><li>Quality: </li></ul><ul><ul><li>Tied in to mainframe assets: </li></ul></ul><ul><ul><ul><li>All source changes (line-by-line deltas) resolved back to original SCM: </li></ul></ul></ul><ul><ul><ul><ul><li>Electronically </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Unconditionally </li></ul></ul></ul></ul><ul><li>MIPS Reduction: </li></ul><ul><ul><li>Local syntax check …vs… running mainframe compiles </li></ul></ul><ul><ul><li>Can develop in Online/Offline mode – for reduced TSO/ISPF session costs – See notes for a deeper explanation of this. </li></ul></ul>
    11. 11. How do I Define a z/OS Project and MVS Subprojects? <ul><li>Create a project of type z/OS , of sub-type: MVS Subproject </li></ul><ul><li>From Remote Systems Explorer ( RSE ): </li></ul><ul><ul><li>Connect to the remote system you wish to tie to define a z/OS Project and MVS Subproject </li></ul></ul><ul><ul><li>Create a Filter for the relevant PDSs </li></ul></ul><ul><ul><li>From the Filter: </li></ul></ul><ul><ul><ul><li>Drag & Drop – or select copy & paste all of the host resources you would like to make part of your MVS Subproject </li></ul></ul></ul><ul><ul><ul><ul><li>Programs </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Copybooks </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Other files: Load libraries, JCL, etc. </li></ul></ul></ul></ul><ul><li>From your new MVS Subproject: </li></ul><ul><ul><li>Analyze your requirements and program source </li></ul></ul><ul><ul><li>Edit the COBOL source </li></ul></ul><ul><ul><li>Compile – Locally or Remote – through JCL or using the RDz tooling </li></ul></ul><ul><ul><li>Test (debug or run with JCL) – if batch </li></ul></ul>
    12. 12. Creating an MVS Subproject (1 of 2) <ul><li>Using RSE: </li></ul><ul><ul><li>Connect and login to your mainframe </li></ul></ul><ul><li>From z/OS Project Explorer: </li></ul><ul><ul><li>Select File > New > Project </li></ul></ul><ul><ul><li>Type a z under Wizards </li></ul></ul><ul><ul><li>Select z/OS Project </li></ul></ul><ul><ul><li>Click Next </li></ul></ul><ul><li>From New z/OS Project: </li></ul><ul><ul><li>Name the project </li></ul></ul><ul><ul><li>Make sure:  Create an MVS Subproject is checked </li></ul></ul><ul><ul><li>Click Finish </li></ul></ul>
    13. 13. Creating an MVS Subproject (2 of 2) <ul><li>Type the Subproject Name </li></ul><ul><li>If you have more than one connection open, you can select the High-Level Qualifier – which becomes the Host Short Name </li></ul><ul><li>If there is a property group associated with your Workspace you can: </li></ul><ul><ul><li>Select it (as shown) by checking </li></ul></ul><ul><ul><li>Edit it – by clicking: </li></ul></ul><ul><li>If not, you can: </li></ul><ul><ul><li>Create a new property group by clicking: </li></ul></ul><ul><ul><li>Import a property group using the Property Group Manager view (not shown) </li></ul></ul><ul><li>Click Finish </li></ul>
    14. 14. MVS Subproject in the z/OS Projects view <ul><li>You should now see your Subproject in the z/OS Projects view </li></ul><ul><li>Note that your Subproject name will likely be different, as it reflects the connection name to your LPAR </li></ul><ul><li>What's next? </li></ul><ul><ul><li>Verifying MVS Subproject Properties </li></ul></ul><ul><ul><li>Populating your Subproject (copying content from the mainframe to your workstation) </li></ul></ul><ul><ul><li>Program development work: </li></ul></ul><ul><ul><ul><li>Checking dependencies and working with copybooks </li></ul></ul></ul><ul><ul><ul><li>Edit/Local Syntax Check </li></ul></ul></ul><ul><ul><ul><li>Remote compile </li></ul></ul></ul><ul><ul><li>Synchronizing source code changes with the mainframe </li></ul></ul><ul><ul><li>And workshops!  </li></ul></ul>
    15. 15. RDz Project Properties and Property Groups – Reprise*** <ul><li>Recall from the unit titled, &quot;RDz Workbench&quot; we introduced the topic of project properties (see slide titled, &quot; Enabling Your Project for Copybooks&quot; </li></ul><ul><ul><li>In a nutshell, properties or &quot; resource properties &quot;, are settings (think of them as analogous to compiler parms) that you use to manage: </li></ul></ul><ul><ul><ul><li>The RDz product workflow (dialogs and options) </li></ul></ul></ul><ul><ul><ul><li>How your application resources are generated, compiled and linked </li></ul></ul></ul><ul><ul><ul><ul><li>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) </li></ul></ul></ul></ul><ul><li>A Property Group is an independent collection of resource properties </li></ul><ul><ul><li>Defined and maintained as a set </li></ul></ul><ul><ul><li>Associated with one or more: </li></ul></ul><ul><ul><ul><li>Local (workstation) projects </li></ul></ul></ul><ul><ul><ul><li>Remote Systems </li></ul></ul></ul><ul><ul><ul><li>MVS Subprojects </li></ul></ul></ul><ul><li>As an example of their use, you might define custom properties and assign to different Property Groups for different technology requirements </li></ul><ul><ul><li>COBOL ( Batch ) Subprojects </li></ul></ul><ul><ul><li>COBOL CICS Subprojects </li></ul></ul><ul><ul><li>COBOL DB2 ( Batch ) Subprojects </li></ul></ul><ul><ul><li>COBOL DB2 CICS Subprojects </li></ul></ul><ul><ul><li>AIX (or Windows-workstation) applications </li></ul></ul><ul><ul><li>Web Services projects </li></ul></ul><ul><ul><li>Projects that generate DB2 Stored Procedures </li></ul></ul>Properties Property Group MVS Subproject Workstation Subproject RSE z/OS Filter MVS Subproject Properties Property Group Properties Property Group See Notes
    16. 16. Verifying Properties for an MVS Subproject <ul><li>In the previous unit, you: </li></ul><ul><li>Imported a Property Group (or used one of your own shop-specific files) </li></ul><ul><li>Verified the settings </li></ul><ul><li>Assigned it to the z/OS System, via RSE </li></ul><ul><li>And if you didn't, please return to the unit titled: &quot;RDZ Workbench – Using Remote Systems Explorer&quot; and re-do those steps, as you'll need to have finished that exercise, in order to do the next parts of this lab </li></ul><ul><li>To verify (that you're set up and ready to go) : </li></ul><ul><li>From z/OS Projects </li></ul><ul><li>Right-click over your Subproject and select Properties </li></ul><ul><li>Select the Property Group filter </li></ul><ul><li>You should see a dialog like this, with a Property Group selected (checked) </li></ul>
    17. 17. Add z/OS resources to the MVS Subproject (1 of 2) <ul><li>There are several ways you can add resources to an MVS Subproject from z/OS: </li></ul><ul><ul><ul><li>Using RSE: </li></ul></ul></ul><ul><ul><ul><ul><li>1. Select an entire PDS …or… </li></ul></ul></ul></ul><ul><ul><ul><ul><li>2. Select specific PDS source file members …or… Select a combination of: </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Individual sequential files …and… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Individual PDS members </li></ul></ul></ul></ul></ul><ul><ul><li>After you have selected the resources you wish to add: </li></ul></ul><ul><ul><ul><ul><li>Right-click and select: </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Add to Subproject… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>continued on next slide… </li></ul></ul></ul></ul></ul><ul><li>You can also add resources from RSE by simply: </li></ul><ul><ul><ul><ul><li>Holding down the Ctrl key </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Selecting specific files </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Dragging & Dropping your selected files from RSE to the Subproject </li></ul></ul></ul></ul></ul>Adding explicitly-selected files to an MVS Subproject
    18. 18. Add z/OS resources to the MVS Subproject (2 of 2) Select your Project and Subproject Name Resources added to z/OS Projects Important Note: When you add resources to a Subproject the files themselves are not copied from z/OS. Only links ( pointers ) to the original files on z/OS are added.
    19. 19.  Create an MVS Subproject – Workshop <ul><li>If you are working on your own mainframe: </li></ul><ul><ul><li>Following the steps on the previous slides, and create an MVS Subproject and assign it to the MyProperties.xml Property Group </li></ul></ul><ul><li>If you are working on the Sandbox or zServerOS: </li></ul><ul><ul><li>Log on to the Sandbox or to zServerOS: </li></ul></ul><ul><ul><ul><li>From Remote Systems, expand: My Data Sets – under MVS Files </li></ul></ul></ul><ul><ul><ul><li>From z/OS Projects - Create an MVS Subproject and assign it to the LAB2_Remote_COBOL.xml Property Group </li></ul></ul></ul>
    20. 20.  Add Resources to an MVS Subproject – Workshop – 1of 2 <ul><li>If you are working on your own mainframe: </li></ul><ul><ul><li>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 </li></ul></ul><ul><li>If you are working on the Sandbox*** </li></ul><ul><ul><ul><li>From Remote Systems - Expand some of the PDS files and select some copy members, COBOL programs, JCL files and a LOAD module </li></ul></ul></ul><ul><ul><ul><li>Right-click and Add the selected resources to your MVS Subproject </li></ul></ul></ul><ul><ul><ul><li>Add additional files (your choice) </li></ul></ul></ul><ul><ul><ul><li>From EM4Zxx.POT.COBOL </li></ul></ul></ul><ul><ul><ul><li>- add CUSVSAM.cbl </li></ul></ul></ul><ul><ul><ul><li>to your MVS Subproject </li></ul></ul></ul>*** The zServerOS workshop starts on the next slide
    21. 21.  Add Resources to an MVS Subproject – Workshop – 2 of 2 <ul><ul><li>If you are working accessing zServerOS directly: </li></ul></ul><ul><ul><ul><li>From Remote Systems, add the following resources to your MVS Subproject </li></ul></ul></ul><ul><ul><ul><ul><li>From <HLQ>.TEST.COBOL: </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>HOSPCALC </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>HOSPCRFL </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>HOSPEDIT </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>HOSPIN </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>HOSPSORT </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>HOSPSRCH </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>CUSVSAM </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>The entire <HLQ>.TEST.JCL library: </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>And its two members </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>From <HLQ>.TEST.LOAD </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>HOSPCRFL </li></ul></ul></ul></ul></ul><ul><li>When finished, your MVS Subproject should show new entries  </li></ul>
    22. 22. Open (Edit) the MVS Resource in the Content Area  Double-click To open a file, copybook, etc. in the Content Area
    23. 23. What Happens Upon &quot;File Open&quot;? <ul><li>When you double-click (open) a file in an MVS Subproject: </li></ul><ul><ul><li>The remote file is downloaded (copied) from z/OS to your PC </li></ul></ul><ul><ul><li>The source lines (records) are translated from EBCDIC to ASCII </li></ul></ul><ul><ul><li>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: </li></ul></ul><ul><ul><ul><li>Eliminates redundant (unnecessary) z/OS file downloads and saves MIPS </li></ul></ul></ul><ul><ul><ul><li>Improves editing performance of opened/copied file </li></ul></ul></ul><ul><ul><ul><li>Persists across close/re-open of RDz </li></ul></ul></ul><ul><ul><li>Whether or not to use cached-copy is based on files “Last Modified” timestamp </li></ul></ul><ul><ul><ul><li>Not available for a sequential data set, or a member with no time stamp </li></ul></ul></ul>Your Workstation z/OS System Is clicked resource cached and is the Last Modified timestamp the same as on z/OS? Get copy from cache on your Workstation Download copy from z/OS Y N RDz Tooling z/OS Projects
    24. 24. Working with Copybooks <ul><li>Many options, for doing work with copybooks: </li></ul><ul><ul><li>Find COPY/INCLUDE statements inside your program source </li></ul></ul><ul><ul><li>Browse (open) copybook in the Content Area </li></ul></ul><ul><ul><li>Open Declaration (of a field that's defined inside a copybook) </li></ul></ul><ul><ul><li>The z/OS Projects Context Menu: Show Dependencies… </li></ul></ul><ul><ul><ul><li>Brings copybooks into the MVS Subproject, caches them, and makes them available for: </li></ul></ul></ul><ul><ul><ul><ul><li>Local Syntax Check (which saves TSO cycles) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>All other RDz work </li></ul></ul></ul></ul><ul><li> Recall how to isolate copy/include references in your programs: </li></ul>Ctrl/F Find copybooks For compressed list click All Can also restrict search to columns: 8  12
    25. 25. MVS Subproject Show Dependencies… <ul><li>Displays the Copy members or Include files required to do a local syntax check or a project build a COBOL or PL/I program. </li></ul><ul><li>Show dependencies can be used to bring all the build dependencies into a project. </li></ul><ul><li>Action is valid from: </li></ul><ul><ul><li>Remote Systems view </li></ul></ul><ul><ul><li>z/OS Projects view </li></ul></ul><ul><ul><li>A file or the entire project </li></ul></ul><ul><li>A remote syntax check is performed on the resource. </li></ul><ul><ul><li>For a project, a syntax check for each COBOL or PL/I file </li></ul></ul><ul><li>The compiler tells you which copy or include files were used for the compile. </li></ul>
    26. 26. Show Dependencies – Required Properties <ul><li>Recall from the previous unit that, unless you wish to over-ride your COBOL Compile proc, you should leave Compiler Options blank </li></ul><ul><li>In addition, you must specify something in the data set qualifier for compiler errors field of the compile options. </li></ul><ul><li>Recall from the previous unit that you must enter only: </li></ul><ul><ul><li><HLQ> . </li></ul></ul><ul><ul><li><DSName> </li></ul></ul><ul><ul><li>… and no other qualifiers for the Compiler Errors dataset. </li></ul></ul><ul><ul><li>This file is a sequential dataset, dynamically allocated by job Show dependencies kicks off. </li></ul></ul><ul><ul><li>It is used to store XML data when the show dependencies step is run. </li></ul></ul>
    27. 27. Show Dependencies – Process Show dependencies returns a list of build dependencies.
    28. 28. Show Dependencies – Add to Subproject (Results) Dependent copybook added to Subproject <ul><li>Editor facilities for working with copybooks done locally (with cached version): </li></ul><ul><ul><li>Saves time </li></ul></ul><ul><ul><li>Saves MIPS </li></ul></ul>
    29. 29.  Show Dependencies – MVS Subproject – Workshop – 1 of 5 <ul><li>Whether you are working on your own mainframe, on the Sandbox or accessing zServerOS directly: </li></ul><ul><ul><ul><li>Edit the Properties (using Property Group Manager) – and verify that: </li></ul></ul></ul><ul><ul><ul><ul><li>All of the Data Sets are available: </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Press Check Data Sets </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Your dataset name qualifiers are as shown  </li></ul></ul></ul></ul>
    30. 30.  Show Dependencies – MVS Subproject – Workshop – 2 of 5 <ul><li>From the Link tab, change: </li></ul><ul><li>Link Libraries </li></ul><ul><li>Load Module Location </li></ul><ul><li>Note – if you are using: </li></ul><ul><ul><li>Your own mainframe you will enter your own custom values </li></ul></ul><ul><ul><li>The Sandbox you should use: <HLQ>.POT. … </li></ul></ul><ul><ul><li>zServerOS directly use: <HLQ>.TEST. … (as shown) </li></ul></ul><ul><li> Close and save changes to the Properties </li></ul>
    31. 31.  Show Dependencies – MVS Subproject – Workshop – 3 of 5 <ul><li>If you are working on your own Mainframe </li></ul><ul><ul><ul><li>From z/OS Projects/MVS Subproject folder: </li></ul></ul></ul><ul><ul><ul><ul><li>Right-click over a COBOL program that contains copybooks </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Select: Show Dependencies </li></ul></ul></ul></ul><ul><li>If you are working on the Sandbox or zServerOS: </li></ul><ul><ul><ul><li>From z/OS Projects/MVS Subproject folder: </li></ul></ul></ul><ul><ul><ul><ul><li>(One at a time) Right-click over a COBOL program that contains copybooks – the following programs do: </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>HOSPEDIT </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>CUSVSAM </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Select : Show Dependencies </li></ul></ul></ul></ul><ul><ul><ul><li>- After the JCL job finishes running, select all COPYLIB build dependencies and add them to your MVS Subproject </li></ul></ul></ul>
    32. 32.  Working With Copybooks in an MVS Subproject – Workshop – 4 of 5 Edit a program that references one or me copybooks. Right-click over the copybook file name and Browse the Copy Member. Optionally customize your Workbench views as shown
    33. 33.  Working With Copybooks in an MVS Subproject – Workshop – 5 of 5 As before, edit a program that references one or me copybooks. Right-click over the copybook file name and Browse the Copy Member.
    34. 34. Local Syntax Check Local/Windows COBOL Compiler Syntax Error Messages <ul><li>Local Syntax Checking is a way to verify your COBOL code, that: </li></ul><ul><ul><li>Saves you time </li></ul></ul><ul><ul><li>Saves MIPS </li></ul></ul><ul><li>You can fire off a Local Syntax Check from: </li></ul><ul><ul><li>The z/OS Projects context menu </li></ul></ul><ul><ul><li>A context menu option in the editor </li></ul></ul>
    35. 35. Local Syntax Check Results 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
    36. 36. Remote Syntax Check (from within the Editor) <ul><li>A Remote Syntax Check submits a z/OS job (based on the job card and properties you established for your z/OS Project) </li></ul><ul><li>Detailed results of the job run can be seen from the JES filter </li></ul><ul><li>Like the Local Syntax Check, you can fire off a Remote Syntax Check from: </li></ul><ul><ul><li>Within an Edit session </li></ul></ul><ul><ul><li>The z/OS Projects context menu </li></ul></ul><ul><li>Note that you will first need to save changes to your program's source </li></ul>Oops
    37. 37. Remote Syntax Check Errors and the Remote Error List <ul><li>Errors are returned to the Remote Error List, and can be double-clicked, to position the cursor on the line in question </li></ul><ul><li> Best Practice: </li></ul><ul><ul><li>Clear (remove) all error messages from the Remote Error List prior to doing a Syntax Check using this context menu: </li></ul></ul>
    38. 38. Generate JCL (1 of 2) <ul><li>If your project properties are specified correctly, you can use them to generate JCL for z/OS: </li></ul><ul><ul><li>COBOL Compile </li></ul></ul><ul><ul><li>Compile/Link </li></ul></ul><ul><ul><li>Compile/Link/Go </li></ul></ul><ul><li>From z/OS Projects: </li></ul><ul><ul><li>Select the program you wish to generate JCL for </li></ul></ul><ul><ul><li>Right-click and from the Context Menu select the option you want </li></ul></ul><ul><ul><li>(optional) You can over-ride the generated dataset names </li></ul></ul>
    39. 39. Generate JCL (2 of 2) <ul><li>The previous step will submit a job that generates JCL. </li></ul><ul><li>When it finishes: </li></ul><ul><li>From the Remote System view: </li></ul><ul><ul><li>Expand the PDS you generated in to </li></ul></ul><ul><ul><li>Open (double-click) the JCL member name (by default, same name as the COBOL program) </li></ul></ul>
    40. 40. Submit the JCL to Run the Job <ul><li>With the JCL generated you can now submit it, to finish your build process </li></ul><ul><li>From the editor: </li></ul><ul><ul><li>Right-click over the JCL </li></ul></ul><ul><ul><ul><li>Select Submit from the Context Menu </li></ul></ul></ul><ul><ul><li> … or… </li></ul></ul><ul><ul><li>Type submit in the command line </li></ul></ul><ul><ul><ul><li>Press  Enter </li></ul></ul></ul><ul><li>Note the JOBID: - so you can pick it up in the RSE JES Filter </li></ul>
    41. 41. Checking Output in JES <ul><li>Use Remote System Explorer (JES Filter) to manage the job: </li></ul><ul><ul><li>Refresh My Jobs </li></ul></ul><ul><ul><li>Review the job output </li></ul></ul><ul><ul><li>Purge the JES queue when finished </li></ul></ul><ul><li>Also, you can view the listing file, to see the compiler/link stats and messages </li></ul>
    42. 42. JES Output: Link edit step <ul><li>Can generate JCL for Compile/Link  </li></ul><ul><ul><li>Before you fire off the job, ensure that load library is correct and has enough space allocated </li></ul></ul>
    43. 43. JES output: Go Step – 1 of 2 <ul><li>Can generate JCL for Compile/Link/GO </li></ul><ul><ul><li>Must ensure that Project Properties ( Run-time Options ) – have necessary parameters and DD cards </li></ul></ul><ul><ul><li>For the GO step, add any necessary: </li></ul></ul><ul><ul><li>- Parm values </li></ul></ul><ul><ul><li>- DD cards </li></ul></ul><ul><ul><li>Can optionally generate Debug JCL </li></ul></ul>
    44. 44. JES output: Go Step – 2 of 2 Submit Generated JCL Job
    45. 45.  Syntax Checking Workshop – 1 of 3 <ul><li>If you're using your own mainframe: </li></ul><ul><ul><li>Create some syntax errors in one of your test COBOL programs in the MVS Subproject </li></ul></ul><ul><ul><li>Do a Local Syntax check, and clean up the errors. </li></ul></ul><ul><li>If you're using the Sandbox or zServerOS: </li></ul><ul><li>From your MVS Subproject, load CUSVSAM into the editor </li></ul><ul><li>Right-click over the program in the editor and select: </li></ul><ul><ul><li>Syntax Check > Local (and only do a Syntax Check) </li></ul></ul><ul><li>From the Remote Error List – clean up all Syntax Errors in the code. Hints: </li></ul><ul><ul><li>The first MOVE statement must start in the &quot;B&quot; margin </li></ul></ul><ul><ul><li>Comment out the 2nd MOVE statement </li></ul></ul><ul><ul><li>Add a period to the ADD 1 to W-CUST-NO. statement </li></ul></ul><ul><li> See Slide Notes on how to enable the COBOL column markers as shown in the screen capture </li></ul>
    46. 46.  Generate JCL Workshop – 2 of 3 <ul><li>If you're using your own mainframe: </li></ul><ul><ul><li>Follow the steps below, substituting your own files and (if exists) your own custom compile/link Proc </li></ul></ul><ul><li>If you're using the Sandbox or zServerOS: </li></ul><ul><li>From your MVS Subproject </li></ul><ul><li>Right-click over CUSVSAM </li></ul><ul><li>Select: Generate JCL > For Compile Link </li></ul><ul><li>Verify the Data Set names </li></ul><ul><li>Click OK </li></ul><ul><li>This will create a compile/link member in the <HLQ>.TEST.JCL library </li></ul>
    47. 47.  Working With JCL Jobs Workshop – 3 of 3 <ul><li>Expand <HLQ>.TEST.JCL </li></ul><ul><ul><li>Select the newly created (CUSVSAM) JCL member </li></ul></ul><ul><ul><li>Right-click and Submit the JCL as a batch job </li></ul></ul><ul><li>If you fixed the CUSVSAM syntax errors </li></ul><ul><ul><li>… and if your MVS Subproject properties and Datasets for COBOL compile and link are correct </li></ul></ul><ul><ul><ul><li>… your generated compile/link job should run successfully </li></ul></ul></ul><ul><ul><ul><li>… and you should get a load module created in <HLQ>.TEST.LOAD </li></ul></ul></ul><ul><li>Feel free to (using Remote Systems) browse the libraries or look at the Listing produced - in the above: <HLQ>.TEST.LISTING(CUSVSAM) </li></ul>
    48. 48. States of a z/OS Project <ul><li>z/OS Projects can be in either of two states: </li></ul><ul><li>1. Online </li></ul><ul><ul><li>The project is connected to the z/OS system to which the project refers </li></ul></ul><ul><ul><li>You can directly change the data sets that are stored in that system </li></ul></ul><ul><li>2. Offline </li></ul><ul><ul><li>The project can only access mainframe resources that were explicitly taken offline </li></ul></ul><ul><ul><li>This allows you to work even if TSO is down or if your mainframe connection is down - and you will notice very quick development response time as well  </li></ul></ul>Online Subproject Offline Subproject Connection
    49. 49. Working Offline (1 of 5) <ul><li>Steps – from z/OS Projects </li></ul><ul><li>Right-click over the Project name </li></ul><ul><li>Select Work Offline… </li></ul><ul><li>Select the resources you want copied to your workstation </li></ul><ul><li>(optional) View and/or select dependent resources to be copied down </li></ul>1. 2. 3. 4.
    50. 50. Working Offline (2 of 5) <ul><li>RDz will </li></ul><ul><li>Copy the selected files to your workstation </li></ul><ul><li>Place any non-copied resources into a disabled (non-editable) state </li></ul><ul><ul><li>See grayed-out entries above </li></ul></ul><ul><li>Mark the project as [Offline] </li></ul>
    51. 51. Working Offline (3 of 5) <ul><li>Assume now that you: </li></ul><ul><li>Edit your source offline </li></ul><ul><li>Save code changes </li></ul><ul><li>… and want to synchronize your offline Subproject and code modifications with z/OS </li></ul><ul><li>From z/OS Projects </li></ul><ul><ul><li>Select the Offline Project </li></ul></ul><ul><ul><li>From the Context menu, select Work Online (this starts a job to synchronize your code) </li></ul></ul>
    52. 52. Return to Online State (4 of 5) <ul><li>Verify change dialog: </li></ul><ul><li>RDz detects all source lines that have been changed while offline. A wizard/dialog allows you to: </li></ul><ul><ul><li>Compare each delta </li></ul></ul><ul><ul><li>Accept (Upload) the change </li></ul></ul><ul><ul><li>Write over the change (move the code from z/OS to the workstation copy) </li></ul></ul><ul><ul><li>Do nothing (in case you want to continue to work Offline </li></ul></ul><ul><li>When you're finished, click: Work Online </li></ul><ul><ul><li>RDz resolves all of your edit and source control decisions </li></ul></ul><ul><ul><li>Copies your original Subproject resources from z/OS to your PC </li></ul></ul><ul><ul><li>Puts the project in an Online state </li></ul></ul>
    53. 53. Subproject Returned to Online State (5 of 5)
    54. 54.  MVS Subproject &quot;States&quot; Workshop <ul><li>Whether you are using your own mainframe, accessing zServerOS directly or using the Sandbox do the following: </li></ul><ul><li>From the previous slide steps – starting with: Working Offline (1 of 5): </li></ul><ul><ul><li>Change the state of your MVS Subproject (on your workstation) from online to offline </li></ul></ul><ul><ul><li>Modify (edit) a few COBOL statements – to be safe, consider adding a few COBOL comments </li></ul></ul><ul><ul><li>Change the state of your Subproject back to Online </li></ul></ul><ul><ul><li>Walk through the verification wizard, and accept your code changes </li></ul></ul><ul><ul><li>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 </li></ul></ul>
    55. 55. Topic Objectives <ul><li>After having completed this topic, you should be able to: </li></ul><ul><ul><li>Show how to set up projects for host development </li></ul></ul><ul><ul><li>Illustrate how to use the show dependencies option to find the required files to build a COBOL project </li></ul></ul><ul><ul><li>Explain how to perform remote and local syntax checking </li></ul></ul><ul><ul><li>Show where errors are displayed and how to navigate to the position of the error in the source code </li></ul></ul><ul><ul><li>Describe how to generate execution JCL and submit JCL jobs for processing </li></ul></ul><ul><ul><li>Describe the difference between online and offline Subproject states </li></ul></ul>
    56. 56. RDz Workbench and z/OS Development Appendices
    57. 57. Frequently Asked Questions <ul><li>Can I add JES members (and STC's) to an MVS Subproject subproject? </li></ul><ul><ul><li>Not currently </li></ul></ul><ul><li>The <HLQ>.ERRORCOB data set does not yet exist, is this correct? </li></ul><ul><ul><li>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) </li></ul></ul><ul><li>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? </li></ul><ul><ul><li>You separate COPYLIB and load module/OBJ library datasets in the Properties by one or more spaces </li></ul></ul><ul><li>When Generate JCL is done, are the compiler options taken from the linked property groups ? </li></ul><ul><ul><li>Actually no. Over-rides are taken from there. But the original compiler options (defaults) are buried in the PROC executed </li></ul></ul><ul><li>How are full builds done normally in a mainframe shop - can those be launched from RDz </li></ul><ul><ul><li>RDz only has knowledge of: </li></ul></ul><ul><ul><ul><li>MVS Subprojects </li></ul></ul></ul><ul><ul><ul><li>Individual resources </li></ul></ul></ul><ul><ul><li>You can rebuild an MVS Subproject using this Context Menu option </li></ul></ul><ul><li>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? </li></ul><ul><ul><li>Correct - RSE does not need to be connected, in order to use an Offline MVS Subproject </li></ul></ul><ul><li>If I started a new COBOL program locally, how do I make it into a MVS subproject or on the mainframe </li></ul><ul><ul><li>Move the new program to a mainframe LPAR that is connected to a subproject </li></ul></ul><ul><ul><li>Then add the program to the subproject from the LPAR connection </li></ul></ul>
    58. 58. Frequently Asked Questions - continued <ul><li>Can I include HTML, CSS and JavaScript files in my MVS Subproject too? </li></ul><ul><ul><li>Yes, if those files are exist in the LPAR connected to your Subproject </li></ul></ul><ul><li>If we want to make our changes made in the Local system reflect in Z/OS, how to do that </li></ul><ul><ul><li>If the Subproject is online: Ctrl/S (save) </li></ul></ul><ul><ul><li>If the Subproject is offline: Right-click, and from the Context Menu select: Work Online </li></ul></ul><ul><li>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? </li></ul><ul><ul><li>Yes to both questions. RDz uses cached copies of files </li></ul></ul>

    ×