Transaction class (TRANCLASS) support

Transaction classes give you a mechanism to limit the number of CICS tasks in your system. By spreading your tasks across a number of transaction classes, and controlling the maximum number of tasks that can be dispatched within each transaction class, you can control resource contention between tasks, and limit the number of tasks that CICS considers eligible for dispatching at task attach.

Use the MaxActive attribute of the transaction class definition (TRANCLASS) to control a specific set of tasks that are heavy resource users, tasks of lesser importance (for example, "Good morning" broadcast messages), and so on, allowing processor time or storage for other tasks. Together with the number of SEPs configured (effectively the MXT system initialization parameter equivalent), transaction classes control the transaction mix, that is, ensuring that one type of transaction does not monopolize CICS. In particular, you can restrict the number of heavyweight tasks. For example, you can use transaction classes to isolate tasks, or put all user tasks into separate classes. Suggested classes are simple inquiries, complex inquiries or short browses, long browses, short updates, long updates. Separate non-conversational tasks from conversational tasks. If you need to single-thread non-reentrant code, we suggest you use ENQ.

Using transaction classes can be useful for tasks that consume particularly large amounts of resource, but that do not frequently exceed the MaxActive ceiling. Do not use transaction classes for normal tasks or for design reasons such as serializing a function within a particular task. Application design should be reviewed as an alternative in these cases.

Transaction class support is switched off by default. To activate it, assign the value Y to the environment variable ES_TEST_TRANCLASS.

TRANCLASS is also supported for CICS Web services when activated using the ES_TRANCLASS_CWI environment variable. This enables you to prioritize and limit Web requests in a TRANCLASS-enabled region. When the ES_TRANCLASS_CWI environment variable has been set to either TCPIPSERVICE (default) or URIMAP, a TRANCLASS-enabled region processes the elected transaction according to its priority and associated TRANCLASS.

To take advantage of these capabilities, you must create a TRANCLASS resource type and then add a reference to it in PCT definition(s) of the transactions, the execution of which is to be managed. See the Help for details of resource definition.