Running a TSO Session | REXX Support |
Mainframe Express enables you to build and test an MVS mainframe application on your PC up to the point where it is ready to be transferred to your mainframe system for final testing and production. You can also perform any subsequent maintenance of the application at a PC.
An important part of an MVS application is the JCL jobstream that controls its execution. Mainframe Express provides facilities to support the use of batch JCL jobstreams on the PC. Within the integrated development environment (IDE) of Mainframe Express, you can:
All mainframe operations require you to have installed and configured the relevant mainframe-access products.
A major objective of the JCL support is to keep the operations on the PC as similar as possible to those done on the mainframe. Thus on your PC, you can:
Much of the information in the chapter Running a TSO Session also applies to JCL support. We recommend that you read that chapter before using JCL. In addition, you need to understand more about the following topics:
Each of these topics is discussed below.
You can run the same JCL jobstreams on the PC as you can on the mainframe. Mainframe Express checks the JCL statements for errors as far as possible. Several parameters, especially on DD statements, have no meaning in a PC environment and are ignored at run time. This section describes the differences that apply when using JCL jobstreams in the Mainframe Express environment instead of the MVS mainframe environment.
Mainframe Express supports the following JCL features:
INCLUDE
statements)Mainframe Express does not support the following JCL features:
CNTL
and
ENDCNTL
statements)
SYSIN DD *
statements for instream data sets
JOBLIB
and STEPLIB DD
statements
JOBCAT
STEPCAT
SYSABEND
SYSMDUMP
SYSUDUMP
SYSCHK
SYSCKEOV
More information about the JCL statements supported by Mainframe Express is given later in this section.
Mainframe Express supports the running of JCL jobstreams either directly
or via the TSO SUBMIT
command and the Micro Focus extension
ASUBMIT
. You can run these TSO commands in a TSO session and
with the IKJEFT01 utility.
Files containing JCL jobstreams and cataloged procedures can be downloaded from the mainframe or created on the PC. Cataloged procedures should be stored as members of partitioned data sets, known as procedure libraries. The procedure libraries are defined to Mainframe Express in two different ways:
JCLLIB
statement, for a
single job
Mainframe Express
searches these libraries in the order specified above. Unlike the
mainframe, you cannot define procedure libraries for an individual job
(with the JOBLIB DD
statement) or job step (with the STEPLIB
DD
statement).
If the JCL references a program (such as utility) which does not have a comparable PC version, you can replace the program name with the MFJBR14 utility. This utility simply executes a return to the caller, but other parts of the job step (such as data set allocation and disposition) are tested.
The jobstream is processed in three phases:
IF
, THEN
, ELSE
) or
conditional parameters (COND
) that apply.More details of the second and third phases are given later.
For a full description of JCL statements, please refer to your IBM OS/390 MVS JCL Reference manual.
Mainframe Express supports the following JCL statements:
Statement |
Description |
---|---|
DD |
Defines the allocation and disposition of a data set |
EXEC |
Defines a job step, including the program or cataloged procedure to be run |
JCLLIB |
Specifies procedure libraries and their search order |
JOB |
Defines a job. Mainframe Express supports only one job per jobstream |
INCLUDE |
Specifies where pre-defined JCL statements are to be included in the jobstream |
IF/THEN/ELSE/ENDIF |
Specifies conditional execution of JCL statements |
PROC |
Defines the start of an instream JCL procedure |
PEND |
Defines the end of an instream JCL procedure |
SET |
Defines the values to be assigned to symbolic parameters |
OUTPUT |
Mainframe Express treats this as a DD statement |
Mainframe Express does not support the following JCL statements. They are checked only for correct syntax.
Statement |
Description |
---|---|
COMMAND |
Issues commands to MVS and JES2 |
CNTL |
Defines the start of a set of program control statements |
ENDCNTL |
Defines the end of a set of program control statements |
XMIT |
Transmits records from JES3 |
Mainframe Express performs the following functions when it scans a JCL jobstream:
JOB
statement, checks all
parameter values except the accounting information and programmer's
name. It then extracts the job-name, message level
(MSGLEVEL), message class (MSGCLASS), type of run (TYPRUN), restart
step-name (RESTART) and any conditional expression (COND).
A jobstream can contain only one job; a second JOB
statement causes a JCL error and all subsequent statements are ignored.
EXEC
statement, checks all
parameter values except ACCT. Extracts the program-name
(PGM), any parameters to pass to the program (PARM) and
any conditional expression (COND).
DD
statement, checks the values
for the AMP, COPIES and RETPD parameters and the
parameters from which it extracts the data set-name (DSN or DSNAME),
SYSOUT class (SYSOUT), record format (RECFM or DCB=(RECFM)), logical
record length (LRECL or DCB=(LRECL)), and data set disposition (DISP).
INCLUDE
statements and
resolves any symbolic parameters (on SET and PROC
statements). A missing procedure causes a JCL error. Mainframe
Express searches the procedure libraries in the following order:
Mainframe Express performs the following functions when it runs a job step:
If Mainframe Express does not find a data set that is defined with DISP=SHR or OLD, the run terminates.
You can submit to the mainframe jobs that you have created on the PC. Any JCL procedures used by the job must reside in a procedure library on the mainframe and you should include a suitable //PROC statement in the jobstream, such as:
//PROC JCLLIB ORDER=procedure-library
Any application programs used by the job must reside in a load library on the mainframe and you should include a suitable //JOBLIB statement in the jobstream, such as:
//JOBLIB DD DSN=load-library,DISP=SHR
Mainframe Express supports most mainframe data set organizations and record formats, as described in the chapter Advanced Data Set Information in your IDE Technical Guide.
Mainframe Express also supports temporary data sets and in-stream data sets included in the jobstream.
Mainframe Express emulates the interface between application programs and MVS in order to allocate data sets and pass parameters. These facilities are described below for COBOL programs. Similar rules apply to Assembler programs.
MVS provides a direct connection between the filename used in the program and the corresponding data set name used in the JCL. For example, for SYSUT1 in a COBOL program:
SELECT INFILE ASSIGN TO UT-S-SYSUT1
connects to
//SYSUT1 DD DSN=DSNAME1,DISP=OLD
and allocates to the program the PC file representing the data set named DSNAME1.
And, for SYSUT2:
SELECT OUTFILE ASSIGN TO UT-S-SYSUT2
connects to
//SYSUT2 DD DSN=DSNAME2,DISP=(NEW,CATLG),...
and allocates to the program a PC file representing the data set named DSNAME2. The file is created and cataloged automatically when the jobstream is run.
Parameters specified in the JCL PARM parameter are passed to the program using the same rules as the mainframe. For information on the linkage area that is used, see the chapter Running a TSO Session.
Copyright © 1999 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names
used herein are protected by international law.
Running a TSO Session | REXX Support |