How to programatically find fields in a CA- ACF2 logonid record using an ACEE

book

Article ID: 192747

calendar_today

Updated On:

Products

CA ACF2 CA ACF2 - DB2 Option CA ACF2 for zVM CA ACF2 - z/OS CA ACF2 - MISC CA LDAP Server for z/OS CA PAM Client for Linux for zSeries CA Web Administrator for Top Secret

Issue/Introduction

How to locate fields in a logonid record given the address of an ACEE.

Environment

Release : 16.0

Component : CA ACF2 for z/OS

Resolution

The ACEE field ACEEIEP points to the address of the ACMCB or ACUCB.
first check if this is an ACMCB or an ACUCB

If ACEEIEP+x'C' is x'ff' this is an ACMCB (GOTO:ACMCB)
if ACEEIEP+x'c' not x'ff' then it is an ACUCB (GOTO: ACUCB)

ACMCB: ACMCB+x'4' ACMLID=LOGONID KEY
ACMCB+x'14'ACMLIDAD=ADDRESS of LOGONID Record
IF ACMLIDAD+0=LOGONID KEY - FULL LOGONID (GOTO: LID)
IF ACMLIDAD+4=LOGONID KEY - MINI LOGONID (GOTO: MLID)

ACUCB: ACUCB+x'10' ACULID=LOGONID KEY
ACUCB+x'1C' ACULRECP=ADDRESS of LOGONID record
IF ACULRECP+0=LOGONID KEY - FULL LOGONID (GOTO: LID)
IF ACULRECP+4=LOGONID KEY - MINI LOGONID (GOTO: MLID)

LID: USE LIDREC DSECT to obtain offset to field you need.

MLID: USE MLAREC DSECT to locate user area of MLID.
MLAREC+0 is total length of mini-logonid.
MLAREC+2 is offset from start of logonid record to start of user minilid
USE MLACICS or other local mapping dsect to obtain offset to required field .