| Userid |
| A group of transactions where all instances of the transactions that are |
| initiated from a terminal and executed on behalf of the same userid must |
execute in the same target region for the lifetime of the affinity. The affinity | |
| lifetime for userid relations can be pseudoconversation, signon, system, or |
| permanent. |
| Affinity lifetimes |
The affinity lifetime determines when the affinity is ended.An affinity lifetime can be | |
| classi®ed as one of: |
| System |
| The affinity lasts for as long as the target region exists, and ends whenever |
the target region terminates (at a normal, immediate, or abnormal | |
| termination). (The resource shared by transactions that take part in the |
| affinity is not recoverable across CICS restarts.) |
| Permanent |
| The affinity extends across all CICS restarts. (The resource shared by |
| transactions that take part in the affinity is recoverable across CICS |
| restarts.) This is the most restrictive of all the |
Process | |
The affinity exists until the process completes. | |
Activity | |
The affinity exists until the activity completes. | |
| Pseudoconversation |
| The (LUname or userid) affinity lasts for the whole pseudoconversation, and |
| ends when the pseudoconversation ends at the terminal. |
| Logon |
| The (LUname) affinity lasts for as long as the terminal remains logged on to |
| CICS, and ends when the terminal logs off. |
| Signon |
| The (userid) affinity lasts for as long as the user is signed on, and ends |
| when the user signs off. |
Notes:
1.For userid affinities, the pseudoconversation and signon lifetimes are possible only in those situations where one user per userid is permitted. Such lifetimes are meaningless if multiple users are permitted to be signed on with the same userid at the same time (at different terminals).
2.If an affinity is both userid and LUname (that is, all instances of all transactions in the group were initiated from the same terminal and by the same userid), LUname takes precedence.
CICS programming techniques for transaction affinity
Associated with transaction affinity, there are three broad categories of CICS programming techniques:
vSafe programming techniques
vUnsafe programming techniques
vSuspect programming techniques
Chapter 1. Introducing transaction affinities 5