Previous Topic: @HEADER-Heading Formatting for Logonid DisplayNext Topic: @SETUP-DSECT Map Initialization Macro


@MLID-Logonid Compression Macro

The @MLID macro specifies a logonid compression algorithm CA ACF2 for z/VM uses to conserve storage space. Logonid compression eliminates unused or unnecessary information from the resident copy of the logonid record. There are three sections to a minilogonid:

Site‑dependent minilogonids do not need to include those fields predefined under BASE and VM because the minilogonid construction routines include them. See the System Programmer's Guide for information about minilogonid requirements. The syntax for the @MLID macro is:


@MLID	           id,base,tleng,(maxfield,minfield),...,(maxfield,minfield),
$LASTPRM
id

The ID assigned to this compression algorithm. This is a one to eight character valid assembler label. CA ACF2 for z/VM reserves the names BASE and VM. They define the minimum minilogonid requirements for CA ACF2 for z/VM system processing. However, you can add logonid record fields at the end of the VM minilogonid.

base

The label for a DSECT statement that defines the minilogonid section. The base and id operands cannot be the same.

Tleng

A symbol equated to the total length of the minilogonid section.

(maxfield,minfield)

Lets you can take any number of fields from the full logonid and include them in the minilogonid. You must define each field using two symbols; maxfield is the symbol operand of the @CFDE macro that specifies a field in the full logonid record and minfield defines the associated field name in the minilogonid record. These parameters are the assembler symbols in the associated DSECTs for each field. See the Default Field Definition Record appendix to see the shipped @MLID fields.

$LASTPRM

Checks the syntax for additional positional parms and missing commas. This operand is required and must always be the last operand of the @MLID macro.

You must supply BASE and VM definitions. Site @MLID entries are optional in the ACFFDR. For each @MLID specification, you must provide an assembler DSECT to map the storage area offset and symbol length. You do not need to specify field information in a specific order in the @MLID. CA ACF2 for z/VM constructs the minilogonid based on the assembler DSECT specification, so changing the @MLID order has no effect.

The length of the associated fields, as defined in the DSECT definition, must match exactly between the full logonid and the minilogonid record. The total length of all the fields in the minilogonid must be equal to the tleng specification. The @MLID specification must completely define all padding space. You must associate it with an equivalent area in the logonid record. There is no need for a one‑to‑one correspondence between fields coded as @MLID operands and DSECT labels. You only need to code the DSECT labels that define the field length attributes and displacements in the DSECT. You do not need to redefine those areas in the @MLID operands.

The minilogonid record includes all fields that CA ACF2 for z/VM processing requires. The BASE and VM minilogonid definitions include fields that are minimally required to control a user's activities in regard to CA ACF2 for z/VM system processing requirements. You must define fields in the logonid record that the installation exit processing in each individual @MLID specification needs. Failure to properly define and maintain these definitions can impact the integrity of the CA ACF2 for z/VM system. If you modify the BASE or VM minilogonid definitions to define additional fields, be sure to reassemble HCPAC0 after you copy the new MLAVM macro into the ACF2VM LOADLIB.

The default ACFFDR defines three @MLID specifications. They are BASE, VM, and VSE. VM and VSE sites require the BASE @MLID specifications. The BASE and VM @MLID macros include all the logonid record fields that VM sites require for processing. Do not omit the BASE and VM @MLID macros from your ACFFDR. The BASE and VSE @MLID provide support for CA ACF2 for z/VM VSE.