PreviousConfiguring Utilities Assembler ExtensionNext

Chapter 8: SourceConnect Customization for Revolve

8.1 Introducing SourceConnect

This chapter introduces functionality known as SourceConnect that enables you to make use of MFA to access files on a mainframe. The features provided by SourceConnect are available in some Workbench tools as well as in a number of add-on products, including Mainframe Express and Revolve.

To use SourceConnect to access mainframe files as described in this document, you must have previously installed and configured MFA. See the following topics for more information on SourceConnect and how to set it up:

The following topics provide background information on SourceConnect functionality:

Important note: Many mainframe installations own source code that contains imbedded hex values. These hex values are handled by MFA and SourceConnect, in two different ways, depending upon your requirements.

8.2 Benefits of Using SourceConnect

SourceConnect makes the mainframe, or PVCS, appear to MERANT applications as a normal workstation drive and directory structure. All mainframe source type datasets, such as PDS's, Librarian and Panvalet datasets, are available through SourceConnect. SourceConnect automatically filters out other datasets, such as sequential datasets, VSAM, and PDS's that are of record format U.

In addition, PVCS files are also handled by SourceConnect, which allows all of the SourceConnected applications to be able to access the various files within the PVCS archives as simply as accessing workstation drives and directories.

SourceConnect provides full security as well as data integrity in this cooperative mainframe/workstation environment. Security is maintained through the standard mainframe SAF mechanisms, such as RACF, ACF/2 or Top Secret. Data integrity is maintained through the SourceConnect interfaces with the mainframe.

By using SourceConnect, you can leave your source on the mainframe, and dynamically access it using MERANT tools that are SourceConnect enabled.

Revolve is fully SourceConnect enabled, and all of its applications interface with SourceConnect, allowing the user to access the mainframe source files as simply as accessing files on a workstation.

Some of the SourceConnect-enabled Workbench tools that provide this functionality are as follows:

SourceConnect is not available in Object COBOL, so Animator V2 and the COBOL Compiler do not provide access to mainframe-based files unless you are using Workbench.

In addition to these Workbench tools, a number of MERANT add-on products let you take advantage of SourceConnect's mainframe access. These add-on products include:

8.3 Controlling the Location of Files

When using SourceConnect to work on a workstation but access source files on a mainframe, there will be files you want SourceConnect to read to and write from on the mainframe, but also files that you want to keep locally. This topic describes the mechanisms that SourceConnect uses to enable you to control which files are based on the mainframe and which are workstation based.

When you edit your configuration to specify the mainframe files you want to be able to use, one of the entries you add is extensions. A file on the workstation with an extension specified in an extensions entry will be accessible on the mainframe as appropriate.

To decide whether or not a file is to be accessible on the mainframe, SourceConnect first checks the drive the file is on. If the drive is logically specified in a drive entry in the configuration, the next process is to check the extension of the file.

If the file's extension is specified by an extensions entry (or specified by the extensions parameter of a Panvalet, PDS, Librarian, or In-house system entry), the file is read from or written to the mainframe. If the extension is not specified in the configuration file, or is not line sequential, it is read from or written to the current working directory instead, preserving the existing files on the mainframe. This is not true for PVCS however, all files are automatically available to be read from or written to PVCS without the need of configuring the extension list.

8.4 Protecting Mainframe Files from Being Overwritten

When working on a mainframe, it is common practice to read a member from one dataset, edit it, then save it to a different dataset, avoiding the overwriting of the original member. This topic describes how you can emulate this sort of behavior using SourceConnect.

To perform this sort of operation, you use the if-writing-to, or dataset update redirection entry in the configuration. This entry takes two parameters: the first parameter defines a protected dataset, and the second defines the alternate dataset to be written to when attempting to write to the protected dataset. SourceConnect prevents the first dataset from being written to by transparently writing to the second dataset instead. Subsequent reads will check this alternate dataset first before checking the protected dataset. If the member is found in the alternate dataset, then it is read from there.

A typical example of this would be to read files from a production dataset, but save edited versions of the files to a testing dataset.

8.5 Security

When you access a mainframe using SourceConnect, you are prompted for a user-id and password when needed. SourceConnect makes use of a daemon to store the user-id and password in memory (not to disk). This information is then available from the daemon whenever needed until the PC is re-booted or the MFDAEMON CLOSE command is executed. Security must be turned on at all times.

8.6 Configuring SourceConnect with Revolve

Before you use the SourceConnect functionality to work with mainframe or PVCS files, you must perform three configuration steps:

8.6.1 Editing Your Configuration

You need to edit your SourceConnect configuration before you can access mainframe based files. You use the GUI SourceConnect configuration program to set your environment. To start up the configuration go to the SourceConnect Access entry under the Utilities pull-down in your Revolve environment.

You define a drive letter to represent an entire mainframe, and you can associate a default set of datasets with that drive letter. For example, you can define S: to access an entire mainframe, but set up a default set of datasets so that S:\*.* refers to all datasets starting with PROD.LEVEL1.

8.6.2 Configure Server

To gain access to the mainframe, you must provide some details on how to get there. This information is the same as is used by Drag and Drop, or the Compare and Synchronize Monitor. In fact, these applications share the same information, so if you change it for one, you have changed it for all applications on your workstation.

CCI communication module Select either CCITC32 or CCIAP32 depending upon which method you are using.
Standard server name Specify the name of the standard mainframe server, as specified during the installation of the MFA product.
Standard server machine parms If you are using APPC, or direct connect TCP/IP then you will need to enter information here. For APPC, you would most likely enter the LUname.mode, for example WKSLU010.#INTER where WKSLU010 is your LU name. For TCP/IP direct connect, you would enter MFNODE:xxx.xxx.xxx.xxx,MFPORT:yyyy where xxx.xxx.xxx.xxx would be the IP address, or DNS name, of your mainframe, and yyyy would be the assigned TCP/IP port that the standard mainframe server is to listen on.
Endevor server name Specify the name of the MFA E/Option mainframe server, as specified during the installation of the MFA product. Note: E/Option support is currently not available for SourceConnect.
Endevor server machine parms If you are using APPC, or direct connect TCP/IP then you will need to enter information here. For APPC, you would most likely enter the LUname.mode, for example WKSLU010.#INTER where WKSLU010 is your LU name. For TCP/IP direct connect, you would enter MFNODE:xxx.xxx.xxx.xxx,MFPORT:yyyy where xxx.xxx.xxx.xxx would be the IP address, or DNS name, of your mainframe, and yyyy would be the assigned TCP/IP port that the E/Option mainframe server is to listen on. Note: E/Option support is currently not available for SourceConnect.

8.6.3 Configure Cache and Security

Specifies a directory for internal use when accessing mainframe files. This directory is also used to contain a log file detailing any exceptions that occur while accessing the mainframe files.

Specifies whether or not a daemon is started to manage password handling. You must turn this on for SourceConnect to work. When interacting with the mainframe via SourceConnect, you are prompted for a mainframe password whenever necessary. The password and user-id information is stored in memory (not to disk) and used whenever needed.

8.6.4 Configure Mainframe Drives

Defines a drive letter for use within tools supporting SourceConnect technology. The drive letter is mapped to a mainframe catalog search value.

Select a drive letter that you wish to have mapped to the mainframe. Existing real drives are made non-selectable.

By selecting the type mainframe you are required to enter the catalog search criteria for that logical SourceConnect drive. The drive letter gives you access to the entire mainframe, subject to standard mainframe security rules, however, in a workstation directory list against the logical SourceConnect drive, only datasets that match the criteria will be displayed. You may specify multiple search criteria, delimited by semi-colons, in this field. All datasets that match any of these criteria will be accessible. It is not recommended to enter search criteria that would produce too wild of a search. MFA is limited to about 1300 returned entries for a catalog search, and for each one the VTOC information has to be obtained. This could result in a performance problem if too many are requested by the search criteria.

For example, if you defined drive S: with the catalog search criteria of CSI01.JPD;MFI01.LAS, then all datasets that start with either CSI01.JPD or MFI01.LAS will be displayed in a workstation directory list when S:\*.* is used. You may use an asterisk in the middle or end of the search criteria as well. For example CSI01.*.COBOL will give all datasets that begin with CSI01 and end with COBOL.

You can map multiple drive letters onto the mainframe to enable you to perform default directory searches on multiple catalog-search prefixes. This means you can access more than one catalog-search environment as different drive letters. This is only necessary when you want to see a different directory list of mainframe datasets when drive-letter :\*.* is referenced.

8.6.5 Configure PVCS Drives

Defines a drive letter for use within tools supporting SourceConnect technology. The drive letter is mapped to a PVCS configuration file.

Select a drive letter that you wish to have mapped to PVCS. Existing real drives are made non-selectable.

To access PVCS, you would specify the fully qualified location of the PVCS configuration file to be used for your environment. You must be using PVCS version 5.2 or greater. Optionally, a promotion group or version label can be specified as well.

Important note: if you are using the version label operand for the PVCS drive, then all files will be read from the labelled version level, but any updates will create a distinct branch, that the user is responsible to merge, using PVCS tools, when complete.

8.6.6 Configure Partitioned Datasets

Defines a named dataset as being a PDS. It is not recommended to use this entry, as all non-migrated PDS's are automatically picked up by SourceConnect, based on the catalog search criteria for the logical drive. By default the associated extension for the dataset is the last qualifier in the dataset name. You can globally override all datasets with a specific last qualifier to a specific workstation extension by using the configure global extension overrides item bar.

The only reasons to use this configure partitioned dataset item bar, would be if the dataset could be migrated or, if you wished to override the specific associated workstation extension for this partitioned dataset, without affecting the override for other partitioned datasets with the same last qualifier, as all of these entries are automatically added to the directory search function, then you may have additional datasets that do not match the search criteria appearing in the list..

Partitioned dataset specify the name of the partitioned dataset
Use extension specify the extension that members of this dataset are to be associated with

Any extensions specified here are automatically added to the configure controlled extensions list.

8.6.7 Configure Migrated Partitioned Datasets

If your PDS's are migratable, then SourceConnect is unable to determine the dataset type, based on the VTOC information, as this does not exist while a dataset is migrated. If you wish for SourceConnect to "see" these datasets as well, then you must explicitly add them to the configure partitioned datasets list.

8.6.8 Configure Librarian Datasets

Defines a named dataset as being a Librarian dataset. By default the associated extension for the dataset is the last qualifier in the dataset name. You can globally override all datasets with a specific last qualifier to a specific workstation extension by using the configure global extension overrides item bar. With Librarian however, multiple extensions are possible as Librarian keeps information about the member type in its database. You can specify that these various types be associated with various workstation extensions. All of these entries are automatically added to the directory search function, then you may have additional datasets that do not match the search criteria appearing in the list.

Librarian dataset specify the name of the Librarian dataset
Default extension the default may be specified for any members that do not match the specific extensions listed in the override list
Extension override list specify the type/extension mapping that members of this dataset are to be associated with

Any extensions specified here are automatically added to the configure controlled extensions list.

8.6.9 Configure Panvalet Datasets

Defines a named dataset as being a Panvalet dataset. By default the associated extension for the dataset is the last qualifier in the dataset name. You can globally override all datasets with a specific last qualifier to a specific workstation extension by using the configure global extension overrides item bar. With Panvalet however, multiple extensions are possible as Panvalet keeps information about the member type in its database. You can specify that these various types be associated with various workstation extensions. All of these entries are automatically added to the directory search function, then you may have additional datasets that do not match the search criteria appearing in the list.

Panvalet dataset specify the name of the Panvalet dataset
Default extension the default may be specified for any members that do not match the specific extensions listed in the override list
Extension override list specify the type/extension mapping that members of this dataset are to be associated with

Any extensions specified here are automatically added to the configure controlled extensions list.

8.6.10 Configure In-house System Datasets

Defines a named dataset as being an In-house System dataset. An In-house System dataset gives SourceConnect access to your own source code control system, through the mainframe program MFLSCIHS. The user provides assembler source for a few specific routines in this mainframe program. By default the associated extension for the dataset is the last qualifier in the dataset name. You can globally override all datasets with a specific last qualifier to a specific workstation extension by using the configure global extension overrides item bar. With some in-house systems however, multiple extensions are possible as the in-house system keeps information about the member type in its database. You can specify that these various types be associated with various workstation extensions. All of these entries are automatically added to the directory search function, then you may have additional datasets that do not match the search criteria appearing in the list.

In-house dataset specify the name of the in-house system dataset
Default extension the default may be specified for any members that do not match the specific extensions listed in the override list
Extension override list specify the type/extension mapping that members of this dataset are to be associated with

Any extensions specified here are automatically added to the configure controlled extensions list.

8.6.11 Configure Controlled Extensions

This is one of the most important configuration parameters for SourceConnect. You will need to understand this statement, to be able to define and control mainframe files as SourceConnected files. This defines controlled extensions for input/output requests on the drive letters specified in the drive entries. Any file with an extension not in the list specified by this entry, or be in the default list, is written to the current working directory instead of to the relevant dataset on the mainframe. If an extension was defined in the partitioned dataset, Librarian dataset, Panvalet dataset, or in-house system dataset parameters, then it does not have to be added here as well. This is done for you by SourceConnect. For PVCS however, all files are automatically available to be read from or written to PVCS without the need of configuring the extension list.

Extension to control specify the file extension that you want SourceConnect to control when accessing SourceConnect controlled drives. If the extension you are working with is not defined here, in the configure global extension overrides list, or in the default list supplied by SourceConnect, then SourceConnect will not try to access the file on the mainframe, but instead re-direct the request to the current working directory.

Use this entry to define which files MERANT tools can input/output to the mainframe. Do not include work files (such as .INT, .GNT, and .LST files) created by these tools in the list.

The following extensions are used by default:

ASSEM, ASSEMBLE, ASM, BMS, C, CBL, CIC, CNTL, CLIST, COB, COBOL, CONTROL, COP, COPY, COPYLIB, CPP, CPY, CSD, CTL, CTRL, DBD, DCT, DYL, ECL, FCT, GEN, H, INC, INCL, INCLUDE, JCL, JOB, LNK, MAC, MACLIB, MFS, MLC, PCT, PGM, PLI, PPT, PRC, PROC, PROCLIB, PSB, RCT, SCH, SRC, SOURCE, TSO, TXT, TEXT

There are a number of extensions you must not specify. These are as follows:

CSI, DLL, DLW, GDY, GNT, EXE, IDY, INT, LIST, LST, OBJ

Files with these extensions are always written to the current working directory. If you specified any of these extensions, a message is output when SourceConnect initializes.

8.6.12 Configure Global Extension Overrides

This is one of the most important configuration parameters for SourceConnect. You will need to understand this statement, to be able to define and control mainframe files as SourceConnected files. This defines controlled extensions for input/output requests on the drive letters specified in the drive entries, with changes in the mainframe type to this specific extension. You may globally override mainframe types to be specific extensions with this statement. This is very useful, as it prevents you from having to code a partitioned dataset, Librarian dataset, Panvalet dataset, or in-house system dataset statement for each dataset that you wish to override the extension with. For example, if you wanted to override all mainframe types of SOURCE to be CBL, then specify SOURCE as the mainframe type, and CBL as the associated workstation extension. You can of course add multiple of these parameters.

Mainframe type to override specify the mainframe type that you want SourceConnect to convert to the workstation extension
Associated workstation extension specify the file extension that you want SourceConnect to use and control when accessing SourceConnect controlled drives for the mainframe type specified

8.6.13 Configure Dataset Update Redirections

Forces all writes or rewrites to a specified dataset to be made to an alternative dataset, preserving the original. Additionally, the alternate dataset is checked first when doing a read of a member. A typical use for this entry is to ensure that source files are read from a production dataset, but any updated files are written to a separate, test dataset to avoid overwriting the existing files.

When writing to specify the name of the protected, typically production, dataset. This can be a partitioned dataset, Librarian dataset, Panvalet dataset, or in-house system dataset.
Redirect to specify the name of the unprotected, typically development, dataset. This can be a partitioned dataset, Librarian dataset, Panvalet dataset, or in-house system dataset.

8.7 Notes on Using 8.3 Filenames

If your PC uses 8.3 filenames (a maximum of eight characters for a base name, followed by a period, followed by a maximum of three characters for an extension), as used by the FAT file system, there are two precautions you need to take to ensure the correct functioning of mainframe file access:


Copyright © 1999 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names used herein are protected by international law.
PreviousConfiguring Utilities Assembler ExtensionNext