ACF2 SMF230: Identifying the Db2 Service from ACFVMFLGS
search cancel

ACF2 SMF230: Identifying the Db2 Service from ACFVMFLGS

book

Article ID: 408515

calendar_today

Updated On:

Products

ACF2 ACF2 for z/OS ACF2 - MISC ACF2 for Db2

Issue/Introduction

After transferring an SMF record via CDPz (IBM Common Data Provider for System z), the record information is available in Splunk. When reviewing SMF230 records for ACF2 for Db2 activity, it may not be immediately clear how to determine what Db2 service was requested. This article explains how the ACFVMFLGS field in the SMF230 record correlates to the service flag definitions in ACFSMFVX within CAX1MAC0, and how to interpret the value correctly.

Resolution

The ACF2 for Db2 service type is encoded in the ACFVMFLGS field of the SMF230 record. To interpret it correctly, the following steps are performed:

  1. Identify the resource entity type

    The first step is to check whether the resource entity being validated is an ACF2 for Db2 resource. If the resource entity begins with 'D', the ACFVMFLGS value is used for Db2 service determination.

  2. Isolate the service bits

    Not all bits in ACFVMFLGS represent the service type. An NI operation using a mask of X'3E' (binary 00111110) is applied to clear all non-service bits, leaving only the relevant ACF2 for Db2 service bits. For example, using ACFVMFLGS = B'10101010':
    WORKSERV:  1010 1010   (X'AA')
    AND mask:  0011 1110   (X'3E')
    ──────────────────────────────
    Result:    0010 1010   (X'2A')

    In this example, X'2A' identifies an INDX (Create Index) service request for a Db2 Table resource.

  3. Determine the service using AD2DBEQU

    The masked value is then looked up against the ACF2 for Db2 service flag definitions in member AD2DBEQU in your CACPMAC0 library. This member contains the EQUates that map flag values to their corresponding ACF2 for Db2 service types (e.g., DTBL for a Table resource type).

    Note: The same hex value can represent different services depending on the resource type. For example, X'32' is the REFER service on tables, but the COPY service on packages. The resource class must always be considered when determining the actual service.