![]() |
Populate the Catalog Micro Focus Enterprise Server |
| When technology complements business | Copyright © 1987-2012 SimoTime Enterprises All Rights Reserved |
| The SimoTime Home Page |
When doing an "application migration" or "transferring and sharing data" between a Mainframe System and a Windows System with Micro Focus Enterprise Server it can be a challenge to create the catalog entries for a user-defined application server. The unique specifications required for Sequential Data Files, VSAM Data Sets, Partitioned Data Sets and GDG Base Definitions add to the confusion. This document describes a possible solution to this challenge.
The process described in this document may be used as a model for automating the creation of the catalog entries. The process starts with a list of files in an Excel spreadsheet. The spreadsheet is saved as a Line Sequential (LSEQ) file with the records formatted as a text string of Comma-Separated-Values (CSV).
For this approach we have chosen to use Excel to manage the list of names and properties for the non-relational data files. It is possible to have all the non-relational data files defined in a single Excel spread sheet. However, we prefer to separate the files into four groups or four separate Excel spread sheets. The first Excel spread sheet is for Partitioned Data Sets (or PDS's). The second Excel spreadsheet is for Generation Data Groups (or GDG's). The third Excel spread sheet is for standard record sequential files (both fixed and variable length records). The fourth Excel spread sheet is for VSAM Data Sets.
| ||||||||||||||||
| The Four Categories of non-Relational Data and the Processes for Populating a Catalog |
Additional detail and links to documents with additional detail for each of the preceding processing tasks is provided in later sections of this document.
The following is the column structure for an Excel spreadsheet to be used as a starting point to populate the catalog.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Format of an Excel Spread Sheet |
The utility programs used in this approach to creating catalog entries will process the CSV files. However, since this approach is typically used in a mainframe-oriented, COBOL-oriented environment a processing step has been included to convert the CSV files that contain the list of names and properties to a sequential files with the traditional fixed field length and fixed record length format. This provides the COBOL application programmers with access to the information in a format that is familiar and easy to use.
Thie following COBOL Copy File (LONAPFFL.CPY) shows the record layout for the Record Sequential File with a Fixed Field Format
*****************************************************************
* LONAPFFL.CPY - a COBOL Copy File *
* Record Layout for the File Properties Repository *
* The record stucture is a fixed length of 1,024 characters *
* Copyright (C) 1987-2012 SimoTime Enterprises *
* All Rights Reserved *
* Provided by SimoTime Enterprises *
* Our e-mail address is: helpdesk@simotime.com *
* Also, visit our Web Site at http://www.simotime.com *
*****************************************************************
* The information that is imported into this format originates
* from an Excel spreadsheet. The spreadsheet is saved to an
* ASCII/Text File with a Comma-Separated-Values (or CSV) record
* structure.
*
* LONAP is an acronym for a List Of Names And Properties.
* CSV is an acronym for Comma-Separated-Values.
* FFL is an acronym for Fixed-Field-Length.
*
* A conversion program is used to convert the CSV File to a
* Record Sequential File with the following Fixed Field format.
*
* The fields are all fixed length.
* Numeric fields are right-adjusted with leading zeroes.
* Alpha-numeric fields are left adjusted with trailing spaces.
*
* Positions 73-80 of the following statements are used to
* identify the original columns used in the Excel spreadsheet.
*
01 LONAPFFL-REC. Excel
05 LONAPFFL-LEVEL-CHR.
10 LONAPFFL-LEVEL-NBR PIC 9(2). col-A
05 LONAPFFL-FILE-INFO.
10 LONAPFFL-DSN PIC X(54). col-B
10 LONAPFFL-DD-NAME PIC X(17). col-C
10 LONAPFFL-DSORG PIC X(4). col-D
10 LONAPFFL-RECFM PIC X(4). col-E
10 LONAPFFL-LRECL-MIN PIC 9(5). col-F
10 LONAPFFL-LRECL-MAX PIC 9(5). col-G
10 LONAPFFL-KEYPOS PIC 9(5). col-H
10 LONAPFFL-KEYLEN PIC 9(5). col-I
10 LONAPFFL-VSAM-DAT PIC X(44). col-J
10 LONAPFFL-VSAM-IDX PIC X(44). col-K
05 LONAPFFL-JOB-EXEC.
10 LONAPFFL-JCL-OVR1 PIC X(8). col-L
10 LONAPFFL-JCL-USR1 PIC X(8). col-M
10 LONAPFFL-JCL-USR2 PIC X(8). col-N
05 LONAP-EXTENDED-GROUP.
10 LONAPFFL-EXTENDED-S1 PIC X(4). col-O
10 LONAPFFL-EXTENDED-S2 PIC X(4). col-P
10 LONAPFFL-EXTENDED-M1 PIC X(16). col-Q
10 LONAPFFL-EXTENDED-M2 PIC X(16). col-R
10 LONAPFFL-EXTENDED-M3 PIC X(16). col-S
10 LONAPFFL-EXTENDED-M4 PIC X(16). col-T
10 LONAPFFL-EXTENDED-X1 PIC X(256). col-U
10 LONAPFFL-EXTENDED-X2 PIC X(256). col-V
05 FILLER PIC X(227).
*
*** LONAPFFL - End-of-Copy File - - - - - - - - - - - LONAPFFL *
*****************************************************************
*
The following five sub-sections provide a brief overview of the five categories of data structures and links to documents with additional technical detail.
The processing to create catalog entries for Partioned Datat Sets (PDS's) uses generated JCL by default. If an override job is specified then JCL is not generated and the override job is submitted to the internal reader. The generated JCL will use IEFBR14 with a DD statement to create the catalog entry.
Note: A PDS catalog entry simply points to the directory (or folder) where the PDS members are stored.
If User Job 1 is specifies it will be submitted before the generated or override job is submitted. If User Job 2 is specified it will be submitted after the generated or override job is submitted. The following is an example of the generated JCL to create a PDS for a PROC Library (or PDS).
**SIMOTIME-SEPARATOR-----------------------------------------SIMOTIME** //MAKEPO JOB SIMOTIME,CLASS=1,MSGCLASS=0,USER=SIMOTIME,NOTIFY=CSIP1 //* ******************************************************************* //* Do Catalog Entry for SIMOTIME.PDS.PROCLIB //* Generated JCL Code, the file properties were user defined. //PODEFINE EXEC PGM=IEFBR14 //SYSOUT DD SYSOUT=* //PROCLIB1 DD DSN=SIMOTIME.PDS.PROCLIB, // DISP=(NEW,CATLG,CATLG), // STORCLAS=MFI, // SPACE=(TRK,5), // DCB=(DSORG=PO,LRECL=00080,RECFM=LSEQ) //*MFE: %PCDSN=C:\SIMOSAM1\DEVL\PROCLIB\*.PRC //*
For the Micro Focus environment there is an ability to create dynamic PDS's. To do this requires information about the directioy where PDS members are stored and the file extension used with the PDS member. This information is specified in the "//*MFE: %PCDSN=" statement as shown in the preceding example.
This link provides detailed information to Identify, Document and Create Catalog Entries for Partioned Data Sets (PDS's) . This approach uses a list of PDS Members that are managed in an Excel Spreadsheet and saved as a Comma-Separated-Values (CSV) file. This provides for a documented, repeatable process.
The processing to create catalog entries for Generation Data Group's (or GDG's) uses generated JCL by default. If an override job is specified then JCL is not generated and the override job is submitted to the internal reader. The generated JCL will use IDCAMS and the DEFINE function to create the catalog entry for the GDG Base.
**SIMOTIME-SEPARATOR-User-Defined-JOB-2----------------------SIMOTIME**
//MAKEAGDG JOB SIMOTIME,CLASS=1,MSGCLASS=0,USER=SIMOTIME,NOTIFY=CSIP1
//* *******************************************************************
//* Do Catalog Entry for SIMOTIME.DATA.GDGROUP2
//* Generated JCL Code, the file properties were user defined.
//GDGIDXX1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE GDG( -
NAME(SIMOTIME.DATA.GDGROUP2) -
LIMIT(003) -
NOEMPTY -
SCRATCH)
/*
//*
**SIMOTIME-SEPARATOR-Generated-JCL-for-a-Sequential-File-----SIMOTIME**
//MAKERSEQ JOB SIMOTIME,CLASS=1,MSGCLASS=0,USER=SIMOTIME,NOTIFY=CSIP1
//* *******************************************************************
//* Do Catalog Entry for SIMOTIME.DATA.GDMODEL2
//* Generated JCL Code, the file properties were user defined.
//PSDEFINE EXEC PGM=IEFBR14
//SYSOUT DD SYSOUT=*
//GDMODEL2 DD DSN=SIMOTIME.DATA.GDMODEL2,
// DISP=(NEW,CATLG,CATLG),
// STORCLAS=MFI,
// SPACE=(TRK,5),
// DCB=(DSORG=PS,LRECL=00080,RECFM=FB)
//*
This suite of sample programs describes how to Identify, Document and Define a Generation Data Group (GDG) Once the GDG is defined the creation of a Generation Data Set (referred to as a generation or GDS) within the group is discussed. This provides for a documented, repeatable process.
The processing to create catalog entries for Sequential Files uses generated JCL by default. If an override job is specified then JCL is not generated and the override job is submitted to the internal reader. The generated JCL will use IEFBR14 with a DD statement to create the catalog entry.
If User Job 1 is specifies it will be submitted before the generated or override job is submitted. If User Job 2 is specified it will be submitted after the generated or override job is submitted. The following is an example of the generated JCL to create a catalog entry for a Sequentail File
**SIMOTIME-SEPARATOR-Generated-JCL-for-a-Sequential-File-----SIMOTIME** //MAKERSEQ JOB SIMOTIME,CLASS=1,MSGCLASS=0,USER=SIMOTIME,NOTIFY=CSIP1 //* ******************************************************************* //* Do Catalog Entry for SIMOTIME.DATA.CUSRE512 //* Generated JCL Code, the file properties were user defined. //PSDEFINE EXEC PGM=IEFBR14 //SYSOUT DD SYSOUT=* //CUSRE512 DD DSN=SIMOTIME.DATA.CUSRE512, // DISP=(NEW,CATLG,CATLG), // STORCLAS=MFI, // SPACE=(TRK,5), // DCB=(DSORG=PS,LRECL=00512,RECFM=FB) //*
This link provides detailed information to Identify, Document and Create Catalog Entries for Sequential Data Files . This approach uses a list of Sequential Data Files that are managed in an Excel Spreadsheet and saved as a Comma-Separated-Values (CSV) file. This provides for a documented, repeatable process.
The processing to create catalog entries for VSAM, KSDS's uses generated JCL by default. If an override job is specified then JCL is not generated and the override job is submitted to the internal reader. The generated JCL will use IDCAMS and the DEFINE function to create the catalog entry for the VSAM cluster.
If User Job 1 is specifies it will be submitted before the generated or override job is submitted. If User Job 2 is specified it will be submitted after the generated or override job is submitted. The following is an example of the generated JCL to create a catalog entry for a VSAM, KSDS
//MAKEKSDS JOB SIMOTIME,CLASS=1,MSGCLASS=0,USER=SIMOTIME,NOTIFY=CSIP1
//* *******************************************************************
//* Do Catalog Entry for SIMOTIME.UTIL.FPMASTER
//* Generated JCL Code, the file properties were user defined.
//KSDEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE CLUSTER (NAME(SIMOTIME.UTIL.FPMASTER) -
TRACKS(45,15) -
INDEXED) -
DATA (NAME(SIMOTIME.UTIL.FPMASTER.DAT) -
KEYS(00054,00002) -
RECORDSIZE(01024,01024) -
FREESPACE(10,15) -
CISZ(8192)) -
INDEX (NAME(SIMOTIME.UTIL.FPMASTER.IDX))
/*
//*
//* DATA (NAME(SIMOTIME.UTIL.FPMASTER.DAT)
//* KEYS(00054,00002)
//* RECORDSIZE(01024,01024)
//*
This suite of sample programs describes how to Identify, Document and Define a Key Sequenced Data Set (VSAM, KSDS) . Once the VSAM, KSDS is identified and documented the process for creating a catalog entry and copying the data into the pre-defined directory is discussed.
This category is reserved as a "Catch-All" for files and/or data sets that are typically used for specialized purposes on the mainframe. They may be critical to the application or used for debugging, tracking and tracing purposes.
The processing to create catalog entries for User-Defined uses generated JCL by default. If an override job is specified then JCL is not generated and the override job is submitted to the internal reader. Depending on the file specifications the generated JCL will use IEFBR14 or IDCAMS and the DEFINE function to create the catalog entry for a User-Defined file or data set.
If User Job 1 is specifies it will be submitted before the generated or override job is submitted. If User Job 2 is specified it will be submitted after the generated or override job is submitted. The following is an example of a user-coded JCL member that is very similar to the generated JCL that would be used to create a catalog entry for a VSAM, ESDS.
//ES128CJ1 JOB SIMOTIME,CLASS=1,MSGCLASS=0,NOTIFY=CSIP1
//* *******************************************************************
//* This program is provided by: SimoTime Enterprises *
//* (C) Copyright 1987-2012 All Rights Reserved *
//* Web Site URL: http://www.simotime.com *
//* e-mail: helpdesk@simotime.com *
//* *******************************************************************
//*
//* Text - Delete and Define an ESDS using IDCAMS.
//* Author - SimoTime Enterprises
//* Date - July 24, 2007
//*
//* The process will create a new Entry Sequenced Data Set (ESDS).
//*
//* This set of programs will run on a mainframe under ZOS or on a
//* Personal Computer with Windows and Micro Focus Mainframe Express
//* or Enterprise Server.
//*
//STEP0010 EXEC PGM=IDCAMS
//SYSIN DD *
DEFINE CLUSTER( -
NAME(SIMOTIME.ESDS.ESDSC128) -
NONINDEXED -
SHR(2 3) -
CYL(9 9) -
VOL(*)) -
DATA -
(NAME(SIMOTIME.ESDS.ESDSD128) -
RECSZ(128 128) -
CISZ(8192) -
FREESPACE(0 0))
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
The following diagram shows the steps in the processing cycle of creating the catalog entries.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Note-1: The SYS1SCHEDULE Command is used to Submit a Job via a call from another CMD file. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Note-2: The MFCATPOP Program reads a LIST file and submits jobs via the Internal Reader (INTRDR) to create the catalog entries. The Jobs may be user-defined or programatically-generated. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Processing Cycle to Create Catalog Entries |
Note: The light-green boxes are unique to the Mainframe and Micro Focus Enterprise Server/Studio (or Micro Focus Mainframe Express). The light-red boxes are unique to the PC with Windows and Micro Focus. The light-yellow boxes are decision points or program transitions in the processing logic. The light-blue boxes identify data structures such as Files, VSAM Data Sets or Relational Tables. The light-gray boxes identify a system function or information item.
The purpose of this document is to assist as a tutorial for new programmers or as a quick reference for experienced programmers. In the world of programming there are many ways to solve a problem. This document and the links to other documents are intended to provide a choice of alternatives.
Permission to use, copy, modify and distribute this software, documentation or training material for any purpose requires a fee to be paid to SimoTime Enterprises. Once the fee is received by SimoTime the latest version of the software, documentation or training material will be delivered and a license will be granted for use within an enterprise, provided the SimoTime copyright notice appear on all copies of the software. The SimoTime name or Logo may not be used in any advertising or publicity pertaining to the use of the software without the written permission of SimoTime Enterprises.
SimoTime Enterprises makes no warranty or representations about the suitability of the software, documentation or learning material for any purpose. It is provided "AS IS" without any expressed or implied warranty, including the implied warranties of merchantability, fitness for a particular purpose and non-infringement. SimoTime Enterprises shall not be liable for any direct, indirect, special or consequential damages resulting from the loss of use, data or projects, whether in an action of contract or tort, arising out of or in connection with the use or performance of this software, documentation or training material.
This section includes links to documents with additional information that is beyond the scope and purpose of this document.
To review all the information available on this site start at The SimoTime Home Page .
Note: You must be attached to the Internet to download a Z-Pack or view the list.
This document provides a quick summary of the File Status Key for VSAM data sets and QSAM files. This link requires an Internet connection.
Check out The SimoTime Glossary for a list of terms and definitions used in the documents provided by SimoTime.
This document was created and is maintained by SimoTime Enterprises.
If you have any questions, suggestions, comments or feedback please call or send an e-mail to: helpdesk@simotime.com
We appreciate hearing from you.
Founded in 1987, SimoTime Enterprises is a privately owned company. We specialize in the creation and deployment of business applications using new or existing technologies and services. We have a team of individuals that understand the broad range of technologies being used in today's environments. This includes the smallest thin client using the Internet and the very large mainframe systems. There is more to making the Internet work for your company's business than just having a nice looking WEB site. It is about combining the latest technologies and existing technologies with practical business experience. It's about the business of doing business and looking good in the process. Quite often, to reach larger markets or provide a higher level of service to existing customers it requires the newer Internet technologies to work in a complementary manner with existing corporate mainframe systems.
Whether you want to use the Internet to expand into new market segments or as a delivery vehicle for existing business functions simply give us a call or check the web site at http://www.simotime.com
| Return-to-Top |
| Populate a Catalog for the Micro Focus Enterprise Server Environment |
| Copyright © 1987-2012 SimoTime Enterprises All Rights Reserved |
| When technology complements business |
| http://www.simotime.com |