Separating by transaction

You can also separate the work in a workload based on the transactions themselves. For example, you might want all occurrences of payroll-related transactions initiated from terminals in an accounting department to be routed to a specific set of target regions for processing.

Figure 1 illustrates how you might separate the work in a workload based on transaction identifiers. In this case, if the user and terminal names associated with any transaction identified in transaction group EYUWMT01 begin with SM and NET, respectively, the transaction is routed to the target regions identified as EYUCSG05. If the transaction identifier, user name, or terminal name does not match the criteria, the transaction is routed to the default target regions identified as EYUCSG01.

During workload processing, CICSPlex® SM evaluates the transaction identifier supplied by CICS to determine which transaction group to use.
  • If the transaction is defined to a transaction group, CICSPlex SM notes whether the match key for that group is USERID or LUNAME.
  • If the transaction is not part of a transaction group, CICSPlex SM uses the match key from the default transaction group for the specification. The match key is the value specified with the associated specification. For additional information, see Transaction group definitions - TRANGRP.
CICSPlex SM uses the match key value to establish the order in which the terminal and user names associated with the transaction are to be evaluated. The evaluation is used to determine where the transaction should be directed:
  • If the terminal and user names associated with the transaction match the selection criteria specified in an installed workload definition, the request is routed to the target regions identified in that definition.
  • If the terminal and user names do not match the selection criteria, the request is routed to the default set of target regions identified in the workload specification.
After determining the appropriate set of target regions, one is selected based on the status of the active target regions in that set.
Note: If you are adding new transaction codes to a transaction group, or removing transaction codes from a transaction group, you do not need to discard the WLM definition that refers to the transaction group if no other attributes of the transaction group are being changed. New transaction codes added to a transaction group can be dynamically activated within an active workload by reinstalling the WLM definition that refers to the transaction group.
A transaction (a DTRINGRP object) can be associated with one parent transaction group (TRANGRP) only, regardless of any parent workload association and irrespective of whether the transaction group is in active use or not. Changes at the transaction group level, and at the WLM definition (WLMDEF) level, can be dynamically activated without terminating an active workload. Only changes at the WLM specification (WLMSPEC) level normally require an active workload to be terminated.
Figure 1. Sample definition separating a workload by transaction
The diagram illustrates separation of a workload by transaction. Two MVS systems, System A and System B are shown. System A has a CMAS, EYUCMS1A and four MASs, EYUMAS1A (a TOR), EYUMAS2A (an AOR), EYUMAS3A (an AOR) and EYUMAS4A (a FOR). System B has a CMAS, EYUCMS1B and a MAS, EYUMAS1B (an AOR). Sysplex EYUPLX01 contains all the MASs from both systems. System Group EYUCSG01 contains all three AORs (across both systems) and the FOR.. EYUMAS1B is also contained in system group EYUCSG05. EYUCMS1A is the maintenance point for CICSplex EYUPLX01. There is a connection between the two CMASs.The workload definition , EYUWMD02 in the data repository specifies Luname as NET* Userid as SM* and Process Type as *. The Target Scope is EYUCSG05. The workload group definition, EYUWMG02 associates workload definition EYUWMD02 with workload specification EYUWMS03. The workload specification , EYUWMS03 specifies Target Scope as EYUCSG01, Routing scope as EYUMAS1A and Group as EYUWMG02. The transaction group definition , EYUWMT01 specifies Match as luname/userid and Tranid as PAY1, PAY2, INV1 and INV2.