z/OS ISPF Software Configuration and Library Manager Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


FLMATVER macro

z/OS ISPF Software Configuration and Library Manager Guide and Reference
SC19-3625-00

Use this macro to enable the audit and version utility and to define the group and the type of members in that group to record audit and version information for.

You must specify the name of the VSAM data sets to contain the audit information and the name of the partitioned data sets to contain the versions using the FLMCNTRL and FLMALTC macros. You can define multiple versioning partitioned data sets for a project.

Using the group and type defined in the FLMATVER macro, SCLM records information in the VSAM data set each time a member's accounting information is created, updated, or deleted within that SCLM group. This information is a record that contains the member's accounting information, the type of operation, the user ID of the user who performed the operation, and the date and time the operation occurred.

You can use the FLMATVER macro to store a version of a member. The member is stored when the particular SCLM operation (such as SAVE) has completed successfully. The version contains the information to recreate the member as it previously existed. You can disable the versioning function while maintaining the audit capabilities. Version information is captured each time an editable member or an output that is not record format U is created or updated, but not when it is deleted. Sequence number differences can be ignored by coding the SEQNUM parameter, otherwise, they are treated as data.

Macro format

Read syntax diagramSkip visual syntax diagram
>>-FLMATVER--GROUP=-+-group-+--,TYPE=-+-type-+------------------>
                    '-*-----'         '-*----'   

>--+-----------------------+--+-------------------+------------->
   '-,SEQNUM=-+-STANDARD-+-'  |           .-NO--. |   
              +-STD------+    '-,VERSION=-+-YES-+-'   
              +-COBOL----+                            
              '-NONE-----'                            

>--+----------------------------+--+--------------------+------><
   '-,VERCOUNT=number_to_retain-'  |            .-YES-. |   
                                   '-,CHECKSUM=-+-NO--+-'   

Parameters

GROUP|*
The name of the group for which the audit data, version data, or both, is to be maintained. The group must be defined in the project. Use an asterisk (*) to indicate all groups.
,TYPE|*
The name of the type for which the audit data, version data, or both, is to be maintained. The type must be defined in the project. Use an asterisk (*) to indicate all types.

Audit information can be captured for editable or noneditable types. Version information can be captured for editable types and non-editable types that are not record format U. This means that you can maintain version information for types such as "source" and "object", but not for load modules or other data that has record format U. Therefore, if you have a project with record format U data, such as load modules, do not specify TYPE=* and VERSION=YES. If you attempt to version data that is record format U, an error message is issued during SCLM processing.

,SEQNUM=STANDARD|STD|COBOL|NONE
If you specify STANDARD, STD, or COBOL, SCLM ignores sequence number differences when creating a version of a member.

STANDARD or STD means ignore differences in the last eight columns of the data for fixed formats, and the first eight columns of the data for variable formats. In both cases the ignored columns are presumed to be standard sequence numbers.

COBOL means ignore differences in the first six columns of the data, which are presumed to be COBOL sequence numbers.

Omitting this parameter, or specifying NONE, indicates that all columns are to be treated as data.
Note: When changing the value of the SEQNUM specification for a project, also change the VERPDS specification on the FLMCNTRL or FLMALTC macros for the affected groups. Failure to do so may cause checksum verification errors when attempting to recover versions created with the previous specification (see the CHECKSUM keyword).
,VERSION=YES|NO
If you specify YES, both the versioning and auditing processes are active. If you specify NO, versioning is not active; however, the audit process is active. If not specified, VERSION will default to NO. Version data can be captured for any editable or non-editable (output) members that are not record format U.
Note: You cannot have versioning without auditing.
,VERCOUNT=number_to_retain
The number of versions to keep in the version partitioned data set for the group or type specified. If you specify a value of zero (0), then all versions associated with a member are kept.

If you specify a value of two (2) or more, each time a member is changed the latest copy of the member is stored and the earliest copy is deleted, so that the number of versions remains constant. Any audit records that are associated with versions that have been deleted are retained, but no longer indicate that a version of the member exists. If you do specify a value of two or more, allocate a separate VERPDS for each combination of group and type that has versioning enabled.

Note: Failure to allocate a separate VERPDS for each combination of group and type can cause retrieval problems. Use the FLMALTC macro, or use the @@FLMGRP variable in the VERPDS name.

If a VERCOUNT value is not specified on the FLMATVER macro or if a value of one (1) is specified, then the value specified using the VERCOUNT parameter on the FLMCNTRL macro is used. If a VERCOUNT value is not specified on either macro, then all versions associated with a member are kept.

,CHECKSUM=YES|NO
If you specify YES or omit this parameter, checksum verification of versions on retrieval is in effect.
In the case of message FLM39220 Return Code 34, which indicates a damaged version or a version created before SEQNUM support was available in SCLM, you may take this action to override the checksum verification failure:
  • Insert the CHECKSUM=NO parameter.
  • Reassemble the project definition.
  • Retry retrieval of the version.
Attention: The validity of the retrieved version is not assured. This procedure is recommended for emergency use only.

Example

The statements shown here illustrate how to capture versions of members as well as auditing information.

The first of these statements saves versions of members with TYPE=COBOL and GROUP=PROD, ignoring differences in columns 1-6 where COBOL sequence numbers are expected. The second statement saves versions of your COPYBOOK members, including the non-editable members that might have been generated as a result of building a BMS member. The third statement tells SCLM to keep only the latest two versions of your object modules. This overrides any VERCOUNT specified on the FLMCNTRL macro for the project.
FLMATVER GROUP=PROD,TYPE=COBOL,VERSION=YES,SEQNUM=COBOL
FLMATVER GROUP=PROD,TYPE=COPYBOOK,VERSION=YES
FLMATVER GROUP=PROD,TYPE=OBJ,VERSION=YES,VERCOUNT=2
Note: If sequence number differences are to be ignored, full length source lines are saved in the delta file for all lines with non-sequence number differences, but lines that differ only in the sequence number are not saved in the delta file. So, when the version is retrieved, the original sequence numbers for unchanged lines are lost. Instead, the sequence numbers for the most current version are retained.
This statement saves only the auditing information for members with TYPE=PASCAL and GROUP=PROD:
FLMATVER GROUP=PROD,TYPE=PASCAL,VERSION=NO
Note: You can omit the VERSION=NO parameter as it is the default. If omitted, versions of the member will not be saved.

The order of the FLMATVER macros is important to keep in mind. Versioning is enabled/disabled in the order specified, so after turning versioning off for GROUP=* or TYPE=*, any later FLMATVER macros that specify a particular GROUP or TYPE will be ignored.

In this example, no version will be saved for PROJ.AAA.SOURCE.
    FLMATVER GROUP=*,TYPE=*,VERSION=NO
    FLMATVER GROUP=AAA,TYPE=SOURCE,VERSION=YES
However, if the two statements are reversed, a version of PROJ.AAA.SOURCE will be saved.
    FLMATVER GROUP=AAA,TYPE=SOURCE,VERSION=YES
    FLMATVER GROUP=*,TYPE=*,VERSION=NO

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014