IBM Support

AEYY abend when using IPIC from z/OS Connect to CICS TS

Question & Answer


Question

Why do you get an abend AEYY when using IP interconnectivity (IPIC) communications between z/OS Connect to CICS Transaction Server for z/OS (CICS TS)?

You use the mirror transaction ( module DFHMIRS ) to run a non terminal oriented program. But, when the program checks the value in EIBTRMID, it has a value in it. The program then thinks it is a terminal oriented program and tries to send a screen to a device. This causes abend AEYY for NOTALLOC, because no terminal exists to be allocated.  You do not understand why there is a value in EIBTRMID for a nonterminal oriented task.

Cause

In this case, the value in EIBTRMID was " /A85 ". 

Section EXEC interface block fields in the CICS TS documentation contains the following list of special prefixes for intercommunication sessions, terminals, and devices:

Prefix   Session, terminal, or device 
 -       APPC session
 }       Bridge facility
 ¬       Console
 /       IPIC session
 < or >  MRO session
 {       Remote terminal
 \       Virtual terminal

(\ is the prefix for the default system initialization VTPREFIX value) 

So, the "terminal" name in EIBTRMID is actually the ID of the IPIC session that the request arrived on.

There is not a separate IPIC section in the manual, but it functions the same as in multi-region operation (MRO) and Advanced Program-to-Program Communication (APPC) in this regard.

Answer

Referencing the MRO section of the manual, in section Writing programs for MRO conversations sub-section Back-end transaction initiation it says:

  Initially, the back-end transaction should determine the convid from EIBTRMID.

The immediate solution would be to change the application code to differentiate among the various types of terminal and session IDs that could populate EIBTRMID. If it is an APPC, IPIC or MRO session, then no real terminal exists and no screen should attempt to be sent.

A longer term solution would be to separate the business and presentation logic in the application code. This is discussed in the CICS TS documentation in subject Separating business and presentation logic. This specifically mentions the need to

 Be aware of hidden presentation dependencies, such as EIBTRMID usage.

[{"Type":"MASTER","Line of Business":{"code":"LOB70","label":"Z TPS"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"ARM Category":[{"code":"a8m0z00000007d1AAA","label":"Developing applications"}],"ARM Case Number":"","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"All Versions"},{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSNPJM","label":"IBM z\/OS Connect"},"Platform":[{"code":"PF035","label":"z\/OS"}],"Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Product Synonym

CICS/TS CICSTS CICS TS CICS Transaction Server;zCEE

Document Information

Modified date:
24 April 2024

UID

dwa1491987