ACFAE145 message indicates wrong terminal
search cancel

ACFAE145 message indicates wrong terminal

book

Article ID: 232761

calendar_today

Updated On:

Products

ACF2 - z/OS

Issue/Introduction

ACFAE145 message shows incorrect terminal id, while terminal nnnn is successfully signed off

ACFAE145 Logonid: xxxxxxx Already signed on, Terminal ID=nnnn

Environment

Default ACFAEUSC program in CTS560 region.  

Resolution

The AUXTRACE is needed to do analysis showing the ACFAE145 message. The TERMID displayed in ACFAE145 message is obtained by locating the ACEE for the logonid. If the ACEE from first terminal is reused for the second terminal due to surrogate terminals or otherwise eligible for USRDELAY, ACFAE145 message can show the first terminal already signed on.

The Signon ENQUEUE processing to enforce the single Signon is completely managed by CICS. When ACF2 sees the duplicate attempt error, the internal control blocks are searched for an ACEE for the logonid and the source taken from it is reported in the ACFAE145 message.

If there are multiple ACEEs for the logonid, as might be the case with session signons (CICS also manages ACEE life span for each 'signon session' and also whether that session is subject to USRDELAY or not), it's not possible to tell exactly which ACEE is associated with the Signon ENQUEUE. Therefore, the ACFAE145 message turns out to be a "best guess" on the terminal the logonid is already signed on to. 

 

Additional Information

USRDELAY is n/a to 'normal' terminal signons.
It is only applicable to inherited IDs, both non-term and MRO. 

For a user ID to be retained in the CICS region and eligible for reuse in the USRDELAY period, one of the following statements must apply to the user ID:
The user ID was received from remote systems.
The user ID was specified on the SECURITYNAME attribute in the CONNECTION resource.
The user ID was specified on the USERID attribute in the SESSIONS resource.
The user ID was specified on the USERID attribute in the definition of an intrapartition transient data queue.
The user ID was specified on the USERID option on a START command.
The user ID was specified on the USERID attribute for a non-terminal task, such as the alias tasks that are attached for processing HTTP requests.