Separate Default and Application Level Transaction
This is kind of good practice to always separate Default CICS Transaction from the application level of Transaction.
Once the TCPIP connections are established between Web Services and CICS;
- All the CICS services runs under CIEP transaction as its defined and linked to the TCP IP service and port/host of the Web Services
- All the services running under default is copied to the mirror transaction as its defined as communication parameter for Web Services
- Also when messages are serviced from the Web Services, generally CICS receives program which needs to be invoked and that application level program runs under default transaction
- In these cases, if any application level service is invoked it runs under default transaction CIEP which creates problem if any user needs to debug
The Flow is
- Web Service Intiates communication via defined port and CICS CPMI Mirror transaction
- Port is linked to the CICS default transaction CIEP
- Any service that runs under CIEP will be copied on mirror transaction CPMI
- Application program is invoked (Example : PKAABC) as its received in the message from Web Service
- This transaction ideally runs under CIEP if specific application level transactions is not linked
Hence, always have separate transaction defined for the application level program and separate it from the communication parameters
CEDA DEFINE TRANSACTION(XYZ1) PROGRAM(XYZ2)
GROUP(AAA2)
Hence this program XYZ2 received in the message from Web Services will under XYZ1 transaction. And this transaction will run under CIEP CICS default transaction. As explained above complete CIEP transaction will be mirrored under CPMI transaction linked to Web Service by TCP IP set up.
Read Related Article:
Good details about CICS.
ReplyDeleteLegacy Modernization