CICS Resource Definitions (RDO) — DEFINE TRANSACTION & DEFINE PROGRAM
In IBM mainframe CICS, application execution is strictly governed by Resource Definition Online (RDO) stored in the CICS System Definition (CSD) file (dfhdrdat). Every user interaction initiated by a 4-character transaction identifier (such as ACCT, PAY1, or INQ2) requires a registered transaction definition. This definition determines the initial program entry point, execution priority, timeout thresholds, task work area allocations, and concurrency throttling. [1]
Read the full briefing
1. Capability Overview & Problem It Solves
In IBM mainframe CICS, application execution is strictly governed by Resource Definition Online (RDO) stored in the CICS System Definition (CSD) file (dfhdrdat). Every user interaction initiated by a 4-character transaction identifier (such as ACCT, PAY1, or INQ2) requires a registered transaction definition. This definition determines the initial program entry point, execution priority, timeout thresholds, task work area allocations, and concurrency throttling.
Similarly, application load modules require corresponding program definitions specifying the language runtime, memory residency, and remote routing properties.
Rocket Enterprise Server delivers full mainframe-compatible CICS Resource Definition (RDO) emulation (CICS Resource Definitions - Rocket Software Documentation). Organizations can migrate their mainframe CSD decks directly into Enterprise Server, administer definitions interactively through ESMAC and ESCWA, or automate batch resource updates using standard command-line tools—executing transactions without altering application calling conventions.
2. Architecture & How It Works
DEFINE TRANSACTION& Runtime Dispatching:- Program Binding: Maps the incoming 4-character
TRANSIDto its target entry module (PROGRAM). - Concurrency Throttling with
TRANCLASS: Associates transactions with a transaction class (TRANCLASS) that enforces maximum concurrent active tasks (MAXACTIVE) and queue limits (PURGETHRESH). This prevents resource-intensive batch queries from monopolizing Service Execution Processes (SEPs) and starving high-priority interactive online transactions. - Transaction Work Area (
TWASIZE): Allocates a dedicated contiguous memory block (0 to 32,767 bytes) automatically provisioned at task initiation and accessible across all programs in the task execution chain viaEXEC CICS ADDRESS TWA. - Abend Protection & Timeouts: The
RUNAWAYparameter sets runaway CPU loop detection thresholds (forcing anAICAabend if exceeded), whileDTIMOUTtriggers automatic task cancellation during deadlocks or stalled resource waits.
- Program Binding: Maps the incoming 4-character
DEFINE PROGRAM& Dynamic Lifecycle Management:- Module Specification: Declares program characteristics (
LANGUAGE(COBOL),STATUS(ENABLED)). - Dynamic Reloading vs. Residency (
RELOAD): Specifies whether a fresh copy of the program module is loaded on every invocation or kept resident in shared memory. - Zero-Downtime Deployment via
NEWCOPY: Administrators can issueCEMT SET PROGRAM(name) NEWCOPYorPHASEINto hot-swap compiled application binaries (.gntor.so) across all active SEPs without restarting the region. - Transparent Remote Routing: Setting
REMOTE(YES)and designating aREMOTESYSTEM(sysid)instructs Enterprise Server to automatically routeEXEC CICS LINKcalls to a remote region using Distributed Program Linking (DPL) without modifying COBOL application code.
- Module Specification: Declares program characteristics (
- Resource Groups & System Startup Lists:
- Individual resource definitions are organized into logical Groups (e.g.,
ACCTGRP,PAYGRP). - A region's System Initialization Table (SIT) references a Startup List (
_STARTUPLIST), which determines the exact sequence of resource groups automatically installed into active shared memory when the region initializes.
- Individual resource definitions are organized into logical Groups (e.g.,
3. Key Syntax, Configuration & Operational Directives
- Batch CSD Definition Deck (
casrd/dfhcsdup): Mainframe CSD extract definitions can be loaded directly into the Enterprise Server resource catalog (dfhdrdat) using thecasrdutility:
* Define a resource group for payroll
DEFINE GROUP(PAYROLL)
* Define transaction class to throttle concurrent executions
DEFINE TRANCLASS(PAYCLS) GROUP(PAYROLL)
MAXACTIVE(5)
PURGETHRESH(50)
* Define the transaction
DEFINE TRANSACTION(PAY1) GROUP(PAYROLL)
PROGRAM(PAYPROC)
TRANCLASS(PAYCLS)
TWASIZE(512)
DTIMOUT(30)
RUNAWAY(5000)
* Define the underlying COBOL application program
DEFINE PROGRAM(PAYPROC) GROUP(PAYROLL)
LANGUAGE(COBOL)
STATUS(ENABLED)
RELOAD(NO)- Dynamic Program Refresh via
CEMT: Operators can refresh or enable components dynamically inside a running region from a 3270 terminal or ESMAC:
CEMT SET PROGRAM(PAYPROC) NEWCOPY
CEMT SET TRANSACTION(PAY1) ENABLED- Accessing the Transaction Work Area (TWA) in COBOL:
LINKAGE SECTION.
01 TWA-DATA.
05 TWA-USER-ID PIC X(8).
05 TWA-TERM-ID PIC X(4).
05 TWA-START-TIME PIC 9(8) COMP.
...
PROCEDURE DIVISION.
EXEC CICS ADDRESS
TWA(ADDRESS OF TWA-DATA)
END-EXEC.4. Reference Citations (Rocket Enterprise Server 12.0 Manuals)
- CICS Resource Definitions - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- CICS Resource Definitions - Rocket Software Documentation — Enterprise Server 12.0 for Windows
- CICS Resource Definitions - Rocket Software Documentation — Enterprise Test Server 12.0