Occasional systems testing requires that we have set up 4 ACT entries for 3 CICS regions (CICSR1, CICSR2, CICSR3) as well as the CICS generic resource (CICS1G) that encompasses those same 3 regions. All use Type GRP.
When a user is signed on to all 4 sessions at one time, a second user signon to the generic resource session can result in:
TPXL0036 02/09/14.040 08:07:56.29 ACB NNNNN001 SELECTED FOR USER UUUUUUU TPXL0085 02/09/14.040 08:07:56.29 RPL ERROR MANAGEMENT ROUTINE ENTERED PLU=SQS25937 SLU=NNNNN001 USER=UUUUUUU REQ=29 00001024 00800000 TO APPL TERMSB=2EBB5D50 APPLSB=2EBB60E0 EB=29A86000 RPL=29A86088 RTNCD=10 FDBK2=12 MEANING=MACRO FAILURE, SENSE INCLUDED SENSE CODE=08880015 MEANING=SENSE CODE UNKNOWN OR TERMINAL OVERRUN ACTIONS TO BE TAKEN: CLEANUP EVENT STORAGE PURGED TPXL0136 02/09/14.040 08:07:56.29 SESSION ENDED: CICS1G NNNNN001 OPSYS UUUUUUU 2EBB60E0
This is an unusual setup. Usually the TPX menu will have either an entry for the generic resource applid or the specific application applids, but not both at the same time.
ACT Type GRP is used for applications that can share a virtual terminal (VT) with other applications. Examples: IMS, CICS.
This means that a single group virtual terminal can have an unlimited number of concurrent sessions by various userids to various applids, but you cannot have more than one session to any applid at any given time. Thus, you could have a session to a TSO, an IDMS, an IMS, a CICS all on the same virtual terminal because the applid for each application is different.
When a user selects the generic resource from the TPX menu, VTAM does not inform the session requestor (TPX) of the real applid involved. Therefore, TPX expects to be able to choose the same VT but it is already in use for this applid within VTAM.
For example, a user selects CICS region CICSR1 directly from the TPX menu and TPX selects group VT NVIGR001 for this session, noting it is now in use for applid CICSR1. A second user comes along and selects the generic resource from the TPX menu (CICS1G) and VTAM coupling facility routes this to one of the CICS regions, perhaps CICSR1. TPX also attempts selecting VT NVIGR001 because as far as TPX is concerned, this VT does not have a session to CICSR1. However, as far as VTAM is concerned, there is already a session for this VT to applid CICSR1.
To avoid this problem , set the ACT Type to UNQ (Unique) for the direct CICS region applids (CICSR1, CICSR2, CICSR3) and GRP for the generic resource applid (CICS1G) so that VTs are selected from different pools and there will be no overlap with any VTs that a user has assigned when using the generic resource applid. Ensure that you have adequate virtual terminals defined within each pool.
Note that if an application is not defined within the ACT, by default TPX will select a unique, UNQ, VT for the dynamically added session. So if only the generic resource applid (CICS1G) is defined within the ACT with type GRP, dynamic sessions directly to a specific CICS region would use UNQ VTs.
From VTAM messages for SENSE CODE:
0888 Name conflict: A name specified in an RU is unknown, or is known and does not have the required capabilities, or is a duplicate resource for the specified resource type. When a name conflict is detected, further name checking ceases; multiple name conflicts are not reported or detected.
Bytes 2 and 3 following the sense code contain
sense-code-specific information.VTAM Hint: Sense code 0888000n may be issued when an attempt to establish a session fails in an intermediate VTAM along the session setup path. This error may occur because the intermediate VTAM that set the sense code is operating with NQNMODE=NAME or is a pre-V4 VTAM. Therefore, the intermediate VTAM cannot define multiple resources with the same name even though the network identifiers are different.
Change the intermediate domain to operate with NQNMODE=NQNAME to allow definition of multiple resources with the same name and different network identifiers, or reroute the session through another path.
0015 A generic name of a resource has been received when only the real name of the resource can be specified.
(Please confer with IBM before making any changes to NQNMODE.)