Subscribe
THE DAILY DIGEST

The daily edition.

Essential reading from Rocket Enterprise. Straight to the source.

Archived edition
DAILY EDITION1 story· 3 min read

TRANCLASS limits concurrency before resource-heavy CICS work monopolizes a region

A CICS transaction class is a workload-control boundary. Rather than limiting the entire region, it restricts how many tasks belonging to a particular class can be active concurrently. Enterprise Server evaluates this at task attach, limiting which tasks are eligible for dispatch. The overall transaction mix is therefore controlled by both the available service execution processes—the region-wide capacity—and the limits assigned to individual transaction classes. Transaction class (TRANCLASS) support

IN FOCUS

TRANCLASS limits concurrency before resource-heavy CICS work monopolizes a region

A CICS transaction class is a workload-control boundary. Rather than limiting the entire region, it restricts how many tasks belonging to a particular class can be active concurrently. Enterprise Server evaluates this at task attach, limiting which tasks are eligible for dispatch. The overall transaction mix is therefore controlled by both the available service execution processes—the region-wide capacity—and the limits assigned to individual transaction classes. Transaction class (TRANCLASS) support [1]

Read the full briefing

Scope: Rocket Enterprise Developer/Enterprise Server 12.0 for Eclipse on Linux/UNIX; CICS-compatible transaction processing.

A CICS transaction class is a workload-control boundary. Rather than limiting the entire region, it restricts how many tasks belonging to a particular class can be active concurrently. Enterprise Server evaluates this at task attach, limiting which tasks are eligible for dispatch. The overall transaction mix is therefore controlled by both the available service execution processes—the region-wide capacity—and the limits assigned to individual transaction classes. Transaction class (TRANCLASS) support

The principal setting is MAXACTIVE, which permits between 0 and 999 active transactions in the class. When the ceiling is reached, further transactions queue. PURGETHRESH separately limits that queue: NO leaves its size unlimited, while a value from 1 through 1,000,000 causes transactions arriving after the threshold to be purged. This distinction is operationally important—MAXACTIVE controls concurrency, whereas PURGETHRESH controls how much backlog is tolerated. DEFINE TRANCLASS

Configuration requires three pieces:

  1. Set ES_TEST_TRANCLASS=Y; TRANCLASS processing is disabled by default.
  2. Define and install a TRANCLASS resource with its MAXACTIVE and optional PURGETHRESH.
  3. Associate applicable transaction definitions with that class through their TRANCLASS attribute.

A transaction not assigned to a specific class uses the reserved value DFHTCL00, which indicates that it belongs to no transaction class. Custom class names can contain up to eight alphanumeric characters, but DFHTCL00 itself must not be used as a custom name. DEFINE TRANSACTION DEFINE TRANCLASS

Rocket suggests transaction classes for resource-intensive or lower-importance work and gives workload groupings such as simple versus complex inquiries, short versus long browses, short versus long updates, and conversational versus non-conversational tasks. This can preserve capacity for other workloads when heavyweight tasks arrive together. Rocket cautions, however, against assigning normal transactions to classes indiscriminately or using a class merely to serialize application logic. For single-threading non-reentrant code, its documented recommendation is to use ENQ, not TRANCLASS. Transaction classes are most appropriate when the workload consumes substantial resources but does not routinely remain above the MAXACTIVE ceiling. Transaction class (TRANCLASS) support

Takeaway: Use MAXACTIVE to protect regional capacity and PURGETHRESH to bound the waiting backlog—but do not treat TRANCLASS as an application-serialization mechanism.

Enterprise Developer / Enterprise Server · 12.0 · Linux/UNIX
Documentation references
That’s the briefing.You’ve reached the end of this edition.
More editions

From the archive

View all
Oct 10

JCL restart depends on preserved execution metadata—not only a step name

Oct 9

EDS separates liveness detection, startup restoration, and listener readiness

Oct 8

CICS Channels & Containers (Mainframe Subsystem Support)