Defining IAM data sets with the IAM ISPF panels
One of the easiest ways to allocate an IAM data set is through the IAM ISPF panels. They feature a fill in the blanks mechanism, along with providing easy specification of various IAM overrides all on one screen. To get to the IAM Define panel, select option I on the IAM Primary Option Menu panel. Be sure to fill-in the Data Set Name field and the Data Set Type field. Optionally, you can specify an existing IAM or VSAM data set as a model for the data set attributes.
Example of the IAM primary option menu
OPTION ===>
I - Allocate (DEFINE) a new IAM Dataset Ver 11.0.00
V - Allocate (DEFINE) a new VSAM Cluster
D - Delete a Dataset, Cluster, Path, or Alternate Index
C - Copy an IAM Dataset, VSAM KSDS, or VSAM ESDS
M - Move an IAM Dataset, VSAM KSDS, or VSAM ESDS
R - Rename a Dataset, Cluster, Path, or Alternate Index
U - Invoke an IAM Utility program
blank - Display IAM Dataset or VSAM Cluster Information
Enter dataset name (required for all options except U)
Dataset Name ===> 'MVSPXC.IAM.PRA1'
Dataset Type ===> C C=Cluster X=AIX P=Path (options I, V Only)
Enter Model or New dsname (optional for options I and V, required for option R)
Model|Newname ===>
Delete Confirmation ===> YES Yes|No
View IDCAMS statements ===> NO Yes|No|Only
IAM ISPF define panel
Once you click Enter, the Define an IAM File panel is displayed. If you had specified a MODEL data set, the information from the model is filled in on the definition panel, any of which can be changed. This panel includes the various parameters and attributes that can be specified for the file. Note that this panel displays the fully qualified data set name at the top left. The attributes essentially match those that must be specified on an IDCAMS Define Cluster request. The More: + on the top right of the display indicates that additional fields are available, and that you scroll down to see them. (The panel as shown is fully inclusive) Further down includes an area to specify the various IAM Overrides that affect the file definition. Once the necessary attributes are specified, click Enter to allocate the file. The data entered on the panel is highlighted text in the example.
IAM Data set define panel (1 of 2)
COMMAND ===>
Data Set Name: MVSPXC.IAM.EXAMPLE
More: +
ALLOCATION
Volume ===> DCS100 Multi-Volume Allocation ===> NO
SMS Storage Class ===> SMSPOOL
SMS Data Class ===>
SMS Mgmt Class ===>
SMS Extended Fmt ===> Yes|No
Keylabel (Up to 64 characters):
===>
Cyls|Recs|Trks ===> RECO
Primary Space ===> 1
Secondary Space ===> 1
EATTR ===> Opt/No
Recatalog ===> NO
DSN Type ===> BAsic|EXtfmt|LArge|LInear BASIC
ATTRIBUTES
KSDS|ESDS|RRDS ===> KSDS
Max Recordsize ===> 100
Avg Recordsize ===> 70
Key Length ===> 5
Key Offset ===> 5
CI Size ===> 10
CI/CA Free % ===> 10 / 10
Shareoption ===> 2
Spanned Records ===> NO Yes|No
RETENTION
Days ===> 0-9999
Expiration Date ===> YYYY.DDD
IAM CREATE OVERRIDES CURRENT DEFAULTS
IAM Format ===> ENHANCED Enhanced/Compatible ENHANCED
ANYVOL Unit ===>
PRO Format ===> Yes|No NO
IAM data set define panel (2 of 2)
COMMAND ===>
Data Set Name: MVSPXC.IAM.EXAMPLE
More: -
Secondary Space ===> 1
EATTR ===> Opt/No
Recatalog ===> NO
DSN Type ===> BAsic|EXtfmt|LArge|LInear BASIC
ATTRIBUTES
KSDS|ESDS|RRDS ===> KSDS
Max Recordsize ===> 100
Avg Recordsize ===> 70
Key Length ===> 5
Key Offset ===> 5
CI Size ===> 10
CI/CA Free % ===> 10 / 10
Shareoption ===> 2
Spanned Records ===> NO Yes|No
RETENTION
Days ===> 0-9999
Expiration Date ===> YYYY.DDD
IAM CREATE OVERRIDES CURRENT DEFAULTS
IAM Format ===> ENHANCED Enhanced/Compatible ENHANCED
ANYVOL Unit ===>
PRO Format ===> Yes|No NO
Blocking Factor ===> 1-15,>300
Var. Overflow ===> Yes|No YES
Space Release ===> Yes|No YES
Data Compress ===> Yes|No|HW|SW
Dictionary ===> HW Dictionary Name
Minbufno ===> 1-204
Maxbufno ===> 1-204
PSEUDORBA (ESDS) ===> Yes|No
Extended ESDS ===> Yes|No
Journalling ===> Blank=None 1=Before 2=After 3=Both
RLSID ===> Default IAMRLS for dataset
If all the required parameters have been specified, and the allocation is successful, then the IAM Primary Option Menu will be re-displayed, with the status message in the top right corner. Note the highlighted feedback, which indicates that the IAM data set was successfully allocated. To verify that the file has been defined how you want it; click Enter to have the IAM data set attribute ISPF panel displayed.
IAM data set define confirmation
OPTION ===>
I - Allocate (DEFINE) a new IAM Dataset Ver 11.0.00
V - Allocate (DEFINE) a new VSAM Cluster
D - Delete a Dataset, Cluster, Path, or Alternate Index
C - Copy an IAM Dataset, VSAM KSDS, or VSAM ESDS
M - Move an IAM Dataset, VSAM KSDS, or VSAM ESDS
R - Rename a Dataset, Cluster, Path, or Alternate Index
U - Invoke an IAM Utility program
blank - Display IAM Dataset or VSAM Cluster Information
Enter dataset name (required for all options except U)
Dataset Name ===> IAM.EXAMPLE
Dataset Type ===> C C=Cluster X=AIX P=Path (options I, V Only)
Enter Model or New dsname (optional for options I and V, required for option R)
Model|Newname ===>
Delete Confirmation ===> YES Yes|No
View IDCAMS statements ===> NO Yes|No|Only
IAM file characteristics display
IAM responds with the IAM File Characteristics display, with the various attributes filled in. The format of the display is based on the format of the file being displayed. There are displays for IAM Enhanced format files, as seen below, a display for IAM Compatible format files, and a display for VSAM files.
IAM ISPF data set attributes display
COMMAND ===>
Dataset Name: MVSPXC.IAM.EXAMPLE
More: +
Definition Allocation
Record Length: 100 Volume: DCS101
Record Format: VARIABLE Device Type: 3390
Key Length/Offset: 5 / 5 Tracks in use: 0
Spanned Recs: NO Block Size: 13682
Dataset Type: KSDS Blocking Factor: 10
Share Option: 2 Alloc Type: TRACKS
Release: YES Primary Alloc: 1
Storage Class: SMSPOOL Secondary Alloc: 1
Data Class: Compressed Keys: NO
Mgmt Class: MIG14 Compressed Data: NO
IAM File Format LARGE IAM Format: ENHANCED
Keylabel:
Statistics Extended Area
Creation: 2023.019 Overflow Records: 0
Expiration: 0000.000 Blocks Allocated: 0
Last Reference: 2023.019 Blocks Used: 0
Records: 0 Overflow Blocks: 0
Deletes: 0 PE Blocks: 0
Inserts: 0 Blocks Available: 0
Updates: 0 Variable Overflow: YES
Minimum Buffers:
Maximum Buffers: Other Information
Defined RLSID:
EATTR: OPT
Associations
Defining IAM data sets with the TSO define cluster command
IAM data sets can also be defined with the TSO Define Cluster command. While this does not provide the same ease of use as the IAM ISPF panels, it is an option if the IAM ISPF panels have not been installed. This command essentially is identical to the IDCAMS Define Cluster command, with the same format and parameters. Some of the abbreviations may be slightly different. Refer to the IDCAMS Define section for information relating to the parameters required for IAM data sets. Also, you can issue the TSO command: "HELP DEFCL” to get the information about the TSO DEFINE CLUSTER command.
Example of TSO define cluster
Example of a TSO define cluster command for an IAM data set
Enter TSO commands below:
===> define cluster(name(mvspxc.cluster1) owner($IAM) keys(8 0) recordsize(100
256) cylinders(1 0) freespace(10 10) vol(DCX001) shareoptions(2 3) reuse
Place cursor on choice and press enter to Retrieve command
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
TSO responds with the following messages:
TSO response to define cluster command
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME DCX001 IS 0
After the file has been defined, you can use the TSO LISTCAT ALL command to see the file attributes. The following example shows how to issue the LISTCAT and the results.
Example TSO LISTCAT command
ISPF Command Shell
Enter TSO commands below:
===> listcat ent(mvspxc.cluster1) all
Place cursor on choice and press enter to Retrieve command
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
TSO LISTCAT ALL Output
As a result of the LISTCAT ALL, IAM produces what is called an IAMPRINT Report, which is written directly to the TSO terminal, which is followed by the standard IDCAMS SYSPRINT output. Refer to the section on IAM Reports for complete details on the IAMPRINT Report.
TSO LISTCAT output
------------------------------------------------------------------------------
DATASET TYPE - = KSDS - REUSABLE ------------- = YES
RECORD SIZE -- = 256 - AVERAGE RECORD SIZE -- = 100
KEY SIZE ----- = 8 - KEY OFFSET ----------- = 0
SIMULATED CISZ = 8192 - RELEASE -------------- = YES
SHARE OPTIONS = 2 - FREESPACE - CI% - CA% = 10 10
ENCRYPTED ---- = NO - OVERFLOW FORMAT ------ = VARIABLE
FILE DEFINED - = 2023.019 - 01/19/2023 - 6:45 AM = 06:45:56
FILE FORMAT -- = LARGE-FRMT - FILE STATUS ----------== UNLOADED
BLOCK SIZE --- = 13682 - BLOCK FACTOR ---------== 0
STORCLAS ----- = NULL - MGMTCLAS -------------== NULL
DATACLAS ----- = NULL - EATTR ----------------== OPT
VOLUME COUNT - = 1 - SPACE USED -----------== N/A TRACKS
VOLSER ------- = DCX001 - SPACE ALLOCATED ------== 15 TRACKS
TOTAL EXTENTS = 1 - TOTAL SPACE ----------== 15 TRACKS
PRIMARY SPACE = 1 - SECONDARY SPACE ------== 0 CYL
MULTIVOL ----- = PRIMARY - MAXSECONDARY----------== 0
------------------------------------------------------------------------------
IAM499 IAM LISTCAT(11.0.00) PROCESSING COMPLETED
NONVSAM ------- MVSPXC.MVSPXC.CLUSTER1
IN-CAT --- CATALOG.UCAT.SRMPLXA
HISTORY
DATASET-OWNER-------$IAM CREATION--------2023.019
RELEASE----------------2 EXPIRATION------0000.000
ENCRYPTIONDATA
DATA SET ENCRYPTION-----(NO)
VOLUMES
VOLSER------------DCX001 DEVTYPE------X'3010200F' FSEQN---------
---------0
ASSOCIATIONS--------(NULL)
ATTRIBUTES
***
Defining IAM data sets with the TSO ALLOC command
IAM files can also be defined with the TSO ALLOC Command. This is similar to defining IAM files through JCL. This command provides far fewer specifications than the DEFINE Command, allowing only the basic essentials to be specified. The ALLOC Command has the same parameters as added to the JCL DD card: RECORG, LRECL, KEYLEN, and KEYOFF. The use of a DATACLAS will add a few more fields, such as share options and free space. The highlighted text indicates the command and the operands. For complete information on the ALLOC command, use HELP ALLOC.
Example of TSO ALLOC command
Enter TSO commands below:
===> alloc da(mvspxc.cluster3) recorg(ks) lrecl(256) keylen(8) keyoff(0) cyl sp
ace(1 1) storclas(SMSPOOL)
Place cursor on choice and press enter to Retrieve command
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
The ALLOC Command will either respond with error messages, or return with no messages at all, which indicates success. As with the prior DEFINE CLUSTER Command, you can issue a LISTCAT ALL just to validate the allocation.
Summary
As you can see, there are several methods available for defining IAM files. The most common method is to use the IDCAMS DEFINE CLUSTER command, however, there are other choices. The other methods include through JCL DD cards, or through various mechanisms under TSO. The key ingredient is that you have to indicate that the file is to be an IAM file instead of a VSAM file. This is done by using OWNER($IAM), or by placing $IAM within the data set name, or by using a DATACLAS or STORCLAS with $IAM in the class name. For many files, this is the only change required to use IAM instead of VSAM.