Chapter 4: Advanced Data Set Information

This chapter expands on the information presented in the chapter Files and Data Sets in your User's Guide. It covers the following subjects:

4.1 Data Set Organizations

The data set organizations supported by Mainframe Express are shown in the following table.

Abbreviation Organization Comment
DA Direct access  
DAU Direct access, unmoveable  
GDG Generation data group  
IS Indexed sequential  
ISU Indexed sequential, unmoveable  
PDSM Partitioned data set member Micro Focus organization
PO Partitioned  
POU Partitioned, unmoveable  
PS Physical sequential  
PSU Physical sequential, unmoveable  
VSAM Virtual storage access method  

4.2 Record Formats

The following table shows the record formats for all the data set organizations except VSAM.

Abbreviation Format Control
Characters
Record
Delimiters
Comment
F Fixed None None  
FA Fixed ANSI None  
FB Fixed blocked None None Same as F format
FBA Fixed blocked ANSI None Same as FA format
FBM Fixed blocked Machine None Same as FM format
FBS Fixed blocked spanned None None Same as F format
FM Fixed Machine None  
FS Fixed spanned None None Same as F format
LSEQ Line sequential None Carriage return/line feed  
U Undefined     Results unpredictable on PC
V Variable None Micro Focus type  
VA Variable ANSI Micro Focus type  
VB Variable blocked None Micro Focus type Same as V format
VBA Variable blocked ANSI Micro Focus type Same as VA format
VBM Variable blocked Machine Micro Focus type Same as VM format
VBS Variable blocked spanned None Micro Focus type Same as V format
VM Variable Machine Micro Focus type  
VS Variable spanned None Micro Focus type Same as V format

Note: Blocked and spanned record formats are accepted by Mainframe Express but have no meaning in a PC environment.


The following table shows the record formats for VSAM files.

Abbreviation Format Control
Characters
Comment
ES Entry sequence None  
KS Key sequence None  
LS Linear sequence None Not supported
RR Relative record None  

Notes:


4.3 Logical Record Length

Mainframe Express works with logical record lengths as defined in the following table:

Record Format
Logical Record Length
Fixed Actual record length
Variable Actual record length + 4
LSEQ Maximum record length

4.4 Mapping to PC File Formats

Mainframe Express writes data sets to PC files using the following organization and record format mapping:

Mainframe PC  
Dataset Organization Record Format File
Organization
Record Format Comment
DA, DAU,
PS, PSU
Any fixed (Fnn) or variable (Vnn) format Sequential Micro Focus  
DA, DAU,
PS, PSU
LSEQ Line sequential Micro Focus Always uses ANSI character set. Can only be edited with a text editor
GDG       Catalog entry only
IS, ISU Any fixed (Fnn) or variable (Vnn) format Indexed sequential Micro Focus  
PDSM Any fixed (Fnn) or variable (Vnn) format Sequential Micro Focus  
PDSM LSEQ Line sequential Micro Focus  
PO, POU       Catalog entry only
VSAM ES Sequential ESDS  
VSAM ES Indexed sequential ESDS Alternate index defined
VSAM KS Indexed sequential Micro Focus  
VSAM LS Not supported    
VSAM RR Relative Micro Focus  

4.5 Dynamic PDS Member Lists

Dynamic PDS member lists enable you to specify a PC-based directory that is to represent the contents of a mainframe-hosted PDS. When you define a PDS using a dynamic member list, you use the Dynamic PDS tab of the Allocate Dataset dialog box to specify a directory and list of extensions; Mainframe Express scans the specified directory for files with extensions matching those in the extension list, then dynamically builds the PDS's member list using the files it finds.

Although you can use a single directory to represent the contents of more than one PDS by using different extensions for the PDS members, we strongly recommend that you do not use this approach, as it could lead to conflicting member names if , for example, the extensions are changed to a wildcard, or if more than one extension is used per dynamic PDS.

We recommend that you do not use a directory associated with a dynamic PDS model with any other PDS models (regardless of whether they are dynamic or not). Although member list processing works successfully in such a scenario, behavior could be unexpected when editing a member by double-clicking on it from the Catalog View if the two models had differing DCB information.

When adding a file into a dynamic PDS, you must ensure that the new file is in the same directory as the directory specified when the dynamic PDS was created.

When allocating a new PDS member, the extension used for the new member is the first extension specified in the extension list.

When deleting a PDS member in a dynamic PDS, you must check Also delete associated data file(s) before clicking OK on the Delete Catalog Entries dialog box for the deletion to be carried out fully.

4.6 Support for mfextmap.dat and PROXMVS Files

Mainframe Express provides support for PROXMVS files as well as mfextmap.dat files created when using COBOL Workbench, where PROXMVS and COBOL Workbench are earlier products from Micro Focus. For information on how to use such files, see the chapters Migrating from PROXMVS and Your Mfextmap File in your Migration Cookbook.

4.7 Support for Generation Data Groups

A generation data group (GDG) consists of two parts: a GDG model and a series of physical sequential (PS) data sets, called biases (also known as generation data sets) that are associated with the GDG.

There are two main ways to set up a GDG:

The following example illustrates a job that can be used to create a generation data group. STEP00 creates the GDG model and STEP01 creates five new GDG biases.

//MFIDMFGD JOB 'MFIDMFGD',CLASS=A,MSGCLASS=A,NOTIFY=MFIDF
//STEP00 EXEC PGM=IDCAMS
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//AMSDUMP DD SYSOUT=*
//SYSIN DD *
DELETE MFIDMF.TEST.GDG
DEFINE GENERATIONDATAGROUP
(NAME(MFIDMF.TEST.GDG) EMPTY NOSCRATCH LIMIT(96))
/*
//STEP01 EXEC PGM=IEFBR14
//SYSUXX DD DSN=MFIDMF.TEST.GDG(+1),DISP=(NEW,CATLG),SPACE=(TRK,(5,2))
//SYSUXY DD DSN=MFIDMF.TEST.GDG(+2),DISP=(NEW,CATLG),SPACE=(TRK,(5,2))
//SYSUXZ DD DSN=MFIDMF.TEST.GDG(+3),DISP=(NEW,CATLG),SPACE=(TRK,(5,2))
//SYSUXA DD DSN=MFIDMF.TEST.GDG(+4),DISP=(NEW,CATLG),SPACE=(TRK,(5,2))
//SYSUXB DD DSN=MFIDMF.TEST.GDG(+5),DISP=(NEW,CATLG),SPACE=(TRK,(5,2))

Five biases named MFIDMF.TEST.GDG.G0001V00, MFIDMF.TEST.GDG.G0002V00, MFIDMF.TEST.GDG.G0003V00, MFIDMF.TEST.GDG.G0004V00 and MFIDMF.TEST.GDG.G0005V00 are created by STEP01.

A bias can be processed by its relative number, its actual reference or as a part of the entire generation data group. For example, each of the following statements could be executed after running the previous job.

//SYSUT1 DD DSN=MFIDMF.TEST.GDG,DISP=SHR

This would cause the entire generation data group MFIDMF.TEST.GDG, consisting of a set of concatenated data sets MFIDMF.TEST.GDG.G0001V00 through MFIDMF.TEST.GDG.G0005V00, to be referenced.

//SYSUT1 DD DSN=MFIDMF.TEST.GDG(0),DISP=SHR

The relative number 0 would cause the data set named MFIDMF.TEST.GDG.G0005V00 to be referenced.

//SYSUT1 DD DSN=MFIDMF.TEST.GDG(-1),DISP=SHR

The relative number -1 would cause the data set named MFIDMF.TEST.GDG.G0004V00 to be referenced.

//SYSUT1 DD DSN=MFIDMF.TEST.GDG(+1),DISP=SHR

The relative number +1 would cause a new data set named MFIDMF.TEST.GDG.G0006V00 to be referenced.

//SYSUT1 DD DSN=MFIDMF.TEST.GDG.G0003V00,DISP=SHR

The actual reference G0003V00 would cause the data set named MFIDMF.TEST.GDG.G0003V00 to be referenced.

The increment of numbers occurs per job, so if you had two consecutive steps that referenced +1, then each step would be using the same data set.

4.7.1 Generation Data Group Restrictions

This section describes restrictions when using GDGs in Mainframe Express:


Copyright © 2002 Micro Focus International Limited. All rights reserved.
This document and the proprietary marks and names used herein are protected by international law.