Rational Developer for System z

Step 5.3: Make preparations for generating the runtime code

In this step you will perform the following actions: (a) configure a connection to a remote z/OS® system using the Remote Systems view; (b) create data sets on MVS™ to contain COBOL and JCL files created by the Generate Runtime Code wizard; (c) create directories on z/OS UNIX System Services to contain Web services files generated by the Generate Runtime Code wizard; (d) create and start a connection to a CICS® Resource Definition server; and (e) obtain JCL templates that are customized for your remote z/OS system.

Set up a connection to z/OS in the Remote Systems view

In this step you will configure a connection to your remote z/OS system using the Remote Systems view in the Enterprise Service Tools perspective.

A component of the Rational® Developer for System z® called the Remote System Explorer allows you to view and modify MVS data sets and z/OS UNIX System Services files and directories through a user interface called the Remote Systems view.

The Remote Systems view is included in the Enterprise Service Tools perspective (and in other perspectives).

It not required that you use the Remote Systems view because you can perform the same steps manually by logging on to MVS or z/OS UNIX System Services and typing commands.

However, this tutorial uses the Remote System view because it is easier and more powerful than the manual method.

To set up a connection to your remote z/OS system in the Remote Systems view:

  1. To configure a connection to your remote z/OS system in the Remote Systems view follow the steps in Step B3(a). Create a connection to the remote z/OS system.

  2. To start the connection to your remote z/OS system in the Remote Systems view follow the steps in Step B3(b). Start the connection to the remote z/OS system.

Set up remote data sets to contain the generated MVS files

In this step you will use the Remote Systems view to allocate data sets on MVS to contain the COBOL source modules, copy book modules, and JCL modules that are generated by the Generate Runtime Code wizard.

For each flow for which you are generating runtime code you need three data sets on MVS on your remote z/OS system:
  • A data set to contain COBOL source code modules.
  • A data set to contain copy book modules.
  • A data set to contain JCL modules.

It is a good idea, if you intend to generate runtime code for more than one flow file as in this tutorial, to specify a separate group of data sets to contain the generated output files from each flow.

In this tutorial there are two flows for which runtime code needs to be generated. Therefore this tutorial uses two groups of data sets, which are shown in Table 1.
Table 1. Flows for which runtime code needs to be generated
Purpose of the data set: Data sets to contain files generated from CatalogOrder.seqflow: Data sets to contain files generated from CheckItemAvailability.seqflow:
To contain COBOL source code modules USER25.ESTCO.USER.SRCLIB USER25.ESTCA.USER.SRCLIB
To contain copy member modules USER25.ESTCO.USER.COPYLIB USER25.ESTCA.USER.COPYLIB
To contain JCL modules USER25.ESTCO.USER.JCL USER25.ESTCA.USER.JCL

To set up these data sets:

  1. Use the Remote Systems view to allocate the data sets following the steps in Step B3(c). Allocate partitioned data sets on MVS.

  2. Use the Remote Systems view to verify that the data sets have been created.

    Note: If you are using or renaming existing data sets instead of allocating new data sets it is a good idea to move or delete any members already existing in the data set so that the data set is empty. This makes it easier for you to see the new files generated by the Generate Runtime Code wizard.

Set up remote directories to contain the generated z/OS UNIX System Services files

In this step you will use the Remote Systems view to set up directories on z/OS UNIX System Services to contain the Web service files generated by the Generate Runtime Code wizard.

You need to specify two directories:
  • A subdirectory to contain the WSBind file.
  • A subdirectory to contain the WSDL file.

These directories are required only for the top-level flow, CatalogOrder.seqflow. You do not need similar directories for CheckItemAvailability.seqflow.

This tutorial uses the directories shown in Table 2.
Table 2. Remote directories
Purpose of the directory: Directories for CatalogOrder.seqflow: Directories for CheckItemAvailability.seqflow:
To contain the Web service BIND file /u/cicsts32/webservices/wsbind/cicssfrp None required.
To contain the WSDL file /u/cicsts32/webservices/wsbind/cicssfrp None required.

To set up these directories:

  1. Use the Remote Systems view to create the directories on z/OS UNIX System Services, following the steps in Step B3(d). Create directories on z/OS UNIX System Services.

  2. Use the Remote Systems view to verify that the directories have been created.

Create a connection to a CICS Resource Definition server

In this subtopic you will create and start a connection to a CICS Resource Definition server using the Application Deployment Manager component of Rational Developer for System z.

Certain additional features of the Generate Runtime Code wizard are available only if you create and activate a connection to a CICS Resource Definition server. This tutorial uses some of these additional features, so you should create and activate this connection if possible.

To create and start this connection follow the steps in the online help topic Step B4. (Optional) Create a connection to a CICS Resource Definition server.

Obtain customized JCL templates from your system administrator

This topic describes how to obtain customized versions of the JCL templates that the Generate Runtime Code wizard uses to create its JCL files.

A JCL template contains the text required to create a JCL file for some particular purpose (such as a JCL file to compile COBOL source code). Included within the text of a JCL template are variables and placeholders that can be set to actual values for a particular z/OS system. Also the text itself of a JCL template can be modified to add, remove, or change a JCL command.

Customizing a JCL template means setting the variables, placeholders, and text of a JCL template so that when the corresponding JCL file is generated by the Generate Runtime Code wizard, it is ready to run on your remote z/OS system.
Important: The alternative to using customized JCL templates is to manually modify each generated JCL file each time you run the Generate Runtime Code wizard, before you are able to run the JCL file on your remote z/OS system. Therefore it is recommended that you obtain customized JCL templates, so that the task of customization is done only once.

Typically the JCL files are customized by a system administrator or other person familiar with the z/OS system and with the JCL language.

To obtain customized JCL templates from your system administrator and install them on your workstation, follow the steps in Obtaining customized JCL templates from your system administrator.

For more information about customizing JCL templates, see Step B2. (Recommended) Customize the JCL templates.

Figure 1 and Figure 2 show the development of an example JCL file derived from the JCL template DFHMAXCJ. Figure 1 shows the JCL template DFHMAXCJ after it was customized from the original template using the editor in the JCL Templates page of the Preferences window. The following substitutions and additions were made:

Table 3. Changes made during customizing
Value before customizing: Customized value:
qual CICSTS32.FLOW.NQA17C01
hlqcics CICSBLD.V3R2M0.CICS
%MAT_HLQ%.USER.LINKLIB CUST.CICSC01.LOAD
(None) Add this line as the last line of COMPILE EXEC DFHMAXCP:

//         REG=0M

Figure 1. Customized JCL Template DFHMAXCJ
//%MAT_UID%C JOB (%MAT_ACCOUNT%),'%MAT_UID%',
// CLASS=A,MSGCLASS=H,NOTIFY=%MAT_UID%
//*************************** DFHMAXCJ *********************************
//* @START_RRS_COPYRIGHT@
//* VERSION: 1
//*
//* Licensed Materials - Property of IBM
//*
//* 5655-M15
//* 
//* (c) Copyright IBM Corp. 2000, 2009
//* @END_RRS_COPYRIGHT@
//**********************************************************************
//*
//   JCLLIB ORDER=(CICSTS32.FLOW.NQA17C01.SCIZSAMP)
//*
//* CURRENTLY SET FOR: %MAT_MEMBER%
//*
//COMPILE EXEC DFHMAXCP,
//         COPY1='%MAT_HLQ%.USER.COPYLIB',
//         COPY2='CICSTS32.FLOW.NQA17C01.SCIZMAC',
//         COPY3='CICSBLD.V3R2M0.CICS.SDFHCOB',
//         LINK2='CICSTS32.FLOW.NQA17C01.SCIZLOAD',
//         OBJLIB='CICSTS32.FLOW.NQA17C01.SCIZLOAD',
//         PROGRAM='%MAT_MEMBER%',
//         LINK='CUST.CICSC01.LOAD',
//         SOURCE='%MAT_HLQ%.USER.SRCLIB(%MAT_MEMBER%)',
//         REG=0M
//LINKSTEP.SYSIN    DD *
   INCLUDE OBJLIB(DFHMAF)
   NAME %MAT_MEMBER%(R)
/*
//
//****************** TRAILER: DFHMAXCJ *********************************

Figure 2 shows a JCL file created by the Generate Runtime Code wizard from the customized JCL template in Figure 1. The wizard made the following substitutions in the original:

Table 4. Changes made during generation of JCL file by the Generate Runtime Code wizard
Value before substitution: Substituted value: Source of substituted value:
%MAT_UID% USER25 Job Control User ID field1
%MAT_ACCOUNT% USER25 Job Control account field1
%MAT_MEMBER% SAMPCAPN Program name field2
%MAT_HLQ% USER25.ESTCO Deployment libraries HLQ field1
1This is an input field on the File selection page of the Generate Runtime Code wizard.

2This is an input field in the generation properties editor, in the generation properties for the flow node.

Figure 2. SAMPCAPN.JCL as created by the Generate Runtime Code wizard from the customized JCL template
//USER25C JOB (USER25),'USER25',
// CLASS=A,MSGCLASS=H,NOTIFY=USER25
//*************************** DFHMAXCJ *********************************
//* @START_RRS_COPYRIGHT@
//* VERSION: 1
//*
//* Licensed Materials - Property of IBM
//*
//* 5655-M15
//*
//* (c) Copyright IBM Corp. 2000, 2009
//* @END_RRS_COPYRIGHT@
//**********************************************************************
//*
//   JCLLIB ORDER=(CICSTS32.FLOW.NQA17C01.SCIZSAMP)
//*
//* CURRENTLY SET FOR: SAMPCAPN
//*
//COMPILE EXEC DFHMAXCP,
//         COPY1='USER25.ESTCO.USER.COPYLIB',
//         COPY2='CICSTS32.FLOW.NQA17C01.SCIZMAC',
//         COPY3='CICSBLD.V3R2M0.CICS.SDFHCOB',
//         LINK2='CICSTS32.FLOW.NQA17C01.SCIZLOAD',
//         OBJLIB='CICSTS32.FLOW.NQA17C01.SCIZLOAD',
//         PROGRAM='SAMPCAPN',
//         LINK='CUST.CICSC01.LOAD',
//         SOURCE='USER25.ESTCO.USER.SRCLIB(SAMPCAPN)',
//         REG=0M
//LINKSTEP.SYSIN    DD *
   INCLUDE OBJLIB(DFHMAF)
   NAME SAMPCAPN(R)
/*
//
//****************** TRAILER: DFHMAXCJ *********************************

Feedback