Mainframe Express enables you to start a TSO session to execute TSO commands. You can specify the TSO commands individually or include them in CLISTs or REXX execs.
You can also run TSO commands in batch mode via the IKJEFT01 utility. This utility is particularly useful for command sequences that are well defined and frequently used and that do not require user interaction. More information about IKJEFT01 is given in the chapter Mainframe Utilities in your IDE Technical Guide.
On a mainframe, a TSO session is started with a JCL job. This job usually contains DD statements that define data sets used by the session. In Mainframe Express, this facility is emulated by means of a CLIST named usertso.tso, which contains ALLOCATE commands to define the data sets. More information about this CLIST is given in the chapter TSO Support in your IDE Technical Guide
You can start a TSO session in one of two ways depending on whether you want to:
Each of these methods is described below.
To start a TSO session in order to run commands individually:
The TSO session starts, the initialization phase of the USERTSO CLIST runs, and you see the READY prompt. You can then specify the individual TSO commands.
To terminate the session, enter the logoff command. The termination phase of the USERTSO CLIST runs and the TSO session ends.
To start a TSO session in order to run a CLIST or REXX exec:
The TSO session starts and the initialization phase of the USERTSO CLIST runs. Then Mainframe Express scans the file that you selected for syntax errors. If no errors are found, the CLIST or REXX exec runs. When it completes, the termination phase of the USERTSO CLIST runs and the TSO session ends.
If you need to terminate a CLIST and REXX exec while it is running, press Ctrl-Break. This is equivalent to PA1 on the mainframe.
A major objective of Mainframe Express is to keep the operations on the PC as similar as possible to those done on the mainframe. Thus, when using a TSO session, you can:
To use a TSO session effectively, you need to understand how Mainframe Express supports:
Each of these topics is discussed below.
You can continue to use MVS data set names in Mainframe Express. However, the data sets are actually stored as PC files with different names. Mainframe Express maintains a data set catalog to relate the MVS data set name to the PC filename and to store other information about the data set.
Mainframe Express maintains a catalog for the data sets used in a project. At the start of a Mainframe Express session, you can specify the names of the project file and the catalog you want to use. If the catalog exists, Mainframe Express uses it. If it does not exist, Mainframe Express creates it. The project file's location is used for all files created by Mainframe Express for the project unless you override it.
Before you run a CLIST or REXX exec, you must catalog any existing data sets that it uses. To catalog data sets you can:
You do not need to allocate explicitly a new data set created by a CLIST or REXX exec because Mainframe Express allocates it dynamically when the CLIST or REXX exec is run.
You can see the entries in the catalog with the Catalog View of the IDE. The fields in each catalog entry are described in the chapter The Mainframe Express Interface.
The format of the catalog is new for Mainframe Express. Thus, if you are migrating from PROXMVS or the MVS Workbench, you should use the appropriate migration utility supplied with Mainframe Express. This converts an existing catalog to the new format. The PROXMVS utility is named MFCVTPXC and is described in the chapter Migrating from PROXMVS in your Migration Cookbook. The MVS Workbench utility is named MVSWBCNV and is described in the chapter Migrating from MVS Workbench in your Migration Cookbook.
Mainframe Express enables you to continue using the existing PROXMVS file names if you check the Convert dots to subfolders check box on the General page of the Catalog page on the Project Settings dialog box. The name required for an existing file depends on the data set organization. Details of these naming conventions are given in the chapter Migrating from PROXMVS in your Migration Cookbook.
Mainframe Express supports most mainframe data set organizations and record formats. Details are given in the chapter Advanced Data Set Information in your IDE Technical Guide.
The physical blocking of records is not supported in a PC environment. Thus, Mainframe Express accepts data sets defined with blocked record format but ignores the blocksize values. Similarly, spanned records are also not supported.
The maximum record length is 32,760 bytes.
Note: If you use undefined-length records, the results are likely to be unpredictable.
Normally, the data set names used on the mainframe would have no meaning on a PC. However, Mainframe Express enables you to continue using these data set names in your TSO commands by relating them to PC file names. When you download a data set from the mainframe or create a new data set at the PC, Mainframe Express assigns an appropriate file name.
In a mainframe environment, the EBCDIC character set is used; in a PC environment, the ANSI character set is used. Therefore, Mainframe Express has to be able to work with both.
To minimize the amount of conversion done by Mainframe Express, you should use the ANSI character set for source files (such as CLISTs and COBOL programs) and the EBCDIC character set for data files. This is what Mainframe Express assumes. However, it does convert EBCDIC source input files to ANSI if necessary. Similarly, it also converts SYSOUT output files to ANSI for display or printing purposes.
If you download a data set from the mainframe, you can request conversion to ANSI. When defining the data set to Mainframe Express, you should specify the actual character set used by the PC file.
Mainframe Express emulates the functions of the following mainframe batch utilities:
These names are used as aliases for the Mainframe Express emulation programs. You can see the list of programs by clicking Project Settings on the Project menu and then clicking the Aliases tab.
For more information about these utilities, see the chapter Mainframe Utilities in your IDE Technical Guide.
Mainframe Express emulates the interface between application programs and MVS in order to allocate data sets and pass parameters. These two facilities are described below for COBOL programs. Similar rules apply to Assembler programs.
Mainframe Express provides a direct connection between the file name in the COBOL SELECT clause and the corresponding data set name used in the TSO ALLOCATE statement. For example, for SYSUT1:
SELECT INFILE ASSIGN TO UT-S-SYSUT1
ALLOCATE FILE(SYSUT1) DATASET(dsname1) 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
ALLOCATE FILE(SYSUT2) DATASET(dsname2) NEW CATALOG
and allocates to the program a PC file representing the data set named dsname2. The file is created and cataloged automatically when the CLIST is run.
Mainframe Express passes any parameters specified in the TSO CALL command to the COBOL program, using the same rules as the mainframe. The linkage area is:
01 PARM. 03 PARM-LENGTH PIC 9(4) COMP. 03 PARM-DATA PIC X OCCURS 100.
If a program requires a different parameter structure, it should be called from another program that sets up the linkage correctly.
The general differences that apply to the use of CLISTs in Mainframe Express compared to the mainframe are:
A full description of the commands and statements allowed in the CLIST is given in the chapter TSO Support in your IDE Technical Guide.
If a CLIST references a program which does not have a comparable PC version, you can replace the program name with the MFJBR14 utility (or its alias IEFBR14). This utility simply executes a return to the caller but other parts of the CLIST (in particular, data set allocation and disposition) are tested.
Mainframe Express validates TSO program-names using IBMs list of valid characters. Valid characters in this list are @ # and $, although in some codepages the conversion of these characters causes incompatibilities with the name validation. If you experience problems using any of these special characters in the name of a TSO program, Mainframe Express enables you to specify up to three characters to be substituted for the @ # and $ characters. See the online help for information on how to do this.
The general differences that apply to the use of REXX execs in Mainframe Express compared to the mainframe are:
For more information about support for TSO in Mainframe Express, see the chapter TSO Support in your IDE Technical Guide.
If a REXX exec references a program which does not have a comparable PC version, you can replace the program name with the MFJBR14 utility (or its alias IEFBR14). This utility simply executes a return to the caller but other parts of the exec (in particular, data set allocation and disposition) are tested.
Mainframe Express uses debuggers to run COBOL and Assembler programs that are invoked via Start Debugging or Run on the Debug menu. Thus, you need to interact with the debuggers to proceed through program execution. They are described in the following chapters:
Debugging COBOL Applications
Debugging Assembler Programs.
Copyright © 2001 Micro Focus International Limited. All rights reserved.
This document and the proprietary marks and names used herein are protected by international law.