THE DAILY DIGEST

The daily edition.

Essential reading from Rocket Enterprise. Straight to the source.

Archived edition
DAILY EDITION1 story· 5 min read
IN FOCUS

CICS System Initialization Table (SIT): Startup Lists, COMMAREA Padding, and Lifecycle Hooks

In Rocket Enterprise Server 12.0 for Linux/UNIX, the CICS System Initialization Table (SIT) defines the operational parameters for region startup. Configured via DEFINE _SIT or ESCWA, the SIT assigns startup lists, allocates the shared Common Work Area (CWA), and enforces mainframe compatibility through COMMAREA padding (_COMMAREAOVR) to prevent length-mismatch abends. It also controls pointer addressing modes (24-bit, 31-bit, native), post-initialization and shutdown program execution (PLTPI/PLTSD), program reload policies (_FORCEPROG), and deferred PCT loading (_DEFERPCT). [1] [2] [3]

Read the full briefing

Scope and Architectural Overview

This article covers System Initialization Table (SIT) configuration, parameter semantics, and operational trade-offs in Rocket Enterprise Developer / Enterprise Server 12.0 for Linux/UNIX.

In mainframe IBM CICS environments, the System Initialization Table (SIT) defines the subsystem parameters and resource groups loaded when a CICS region initializes. In Rocket Enterprise Server Mainframe Subsystem Support (MSS), the SIT is not an assembled assembler macro load module. Instead, as explained in CICS, IMS and JCL Resources, the SIT is stored as a database record within the resource definition file (dfhdrdat), defined using CICS Resource Definitions via the DEFINE _SIT command or configured in Enterprise Server Common Web Administration (ESCWA) on the CICS Resources - SIT interface.

A SIT record controls shared memory allocations, mainframe pointer emulation, transaction thresholds, program caching, and lifecycle execution hooks.

Resource Loading and Memory Management

A SIT defines the core operational profile of a region through several critical parameters:

  1. Startup List and Group Lists (_GRPLIST):
    • The SIT associates a primary Startup List (or up to four comma-delimited group list patterns using wildcards *, +, $, #). The startup list specifies which resource definition groups—including transactions (PCT), programs (PPT), and files (FCT)—are loaded into memory when the region initializes.
    • Operational Nuance: Loading multiple startup lists forces large numbers of resource definitions into process shared memory, which can noticeably increase startup duration and shared memory consumption. Rocket recommends limiting active resource groups to those strictly needed by the region.
  2. Common Work Area (_CWASIZE):
    • Allocates the region's shared Common Work Area in bytes (range: 0 to 32767). This global memory block is accessible to all transactions running across all Service Execution Processes (SEPs) in the region using EXEC CICS ADDRESS CWA().
  3. COMMAREA Padding (_COMMAREAOVR):
    • Sets the minimum byte allocation for the communications area (COMMAREA) in the range 0 to 32767.
    • Mainframe Compatibility Nuance: In mainframe CICS, if a calling program passes a COMMAREA that is shorter than the Linkage Section structure declared in the called program, memory violations or storage overlays can occur. Setting _COMMAREAOVR causes MSS to automatically extend the passed COMMAREA with trailing bytes to fill the defined space, preventing storage violations without modifying legacy application code.

Addressing Modes and Pointer Emulation

Modern 64-bit and 32-bit Linux/UNIX environments manage memory pointers differently than mainframe System/370 and System/390 architectures. The SIT's Addressing Mode parameter (_AMODE) configures how pointers are emulated:

  • Native: Pointers use the standard operating system memory model.
  • 24 Bit: Emulates below-the-line mainframe storage. The top 8 bits of a pointer are masked off when setting the address of a linkage item, allowing legacy code that stores flag bits in the high byte of an address to function correctly.
  • 31 Bit: Emulates above-the-line mainframe storage. The top bit of a pointer is masked off, preserving compatibility with 31-bit mainframe pointer manipulation.

Execution Policies, Caching, and Deferred Loading

The SIT directly influences transaction throughput and memory utilization:

  • Program Phase-In (_FORCEPROG):
    • NO (Default): MSS caches loaded program shared objects in memory and reuses them across transactions for performance.
    • YES: MSS reloads program binaries from disk on every invocation (except for programs marked resident or loaded with the hold attribute). This setting is essential in development and testing regions to test new builds without restarting the enterprise server.
  • Deferred PCT Loading (_DEFERPCT):
    • NO (Default): All Program Control Table (PCT) transaction definitions across all startup groups are loaded into memory at initialization.
    • YES or 1-64: Defers loading of PCT entries. Specifying YES defers all PCT entries, while specifying a number (e.g., 3) defers loading for that number of groups in the startup list's precedence order until a transaction from that group is first executed. This significantly accelerates cold starts in regions containing thousands of transaction definitions.

Lifecycle Hooks, Timeouts, and Shutdown Security

  • Program List Tables (PLTPI and PLTSD):
    • _PLTPI: References a Program List Table entry specifying programs executed automatically in post-initialization, immediately after the region finishes startup.
    • _PLTSD: References a PLT entry specifying shutdown cleanup programs that run when the region is terminated.
  • Deadlock Timeout (_DTIMEOUT):
    • Specifies the maximum wait time in seconds (0 to 4080) before a transaction waiting on a locked resource is timed out. This value can be overridden for specific transactions in their PCT entry, or dynamically adjusted in ESCWA on the ES Control page.
  • External Shutdown Policy (_EXTERNSHUT):
    • Controls whether external administrative shutdowns (via casstop or ESCWA Stop Server) are permitted: ALLOWED (no authentication required), LOGON (requires successful credential authentication), or NONE (disallows external shutdown entirely).
  • Development SIT Flag:
    • When enabled, if a resource definition group exists with the same name as the SIT, that group is automatically appended to the startup list and resource security is bypassed, enabling rapid isolated testing.

Documentation Takeaway

In Rocket Enterprise Server 12.0 for Linux/UNIX, the CICS SIT (DEFINE _SIT) governs region initialization by loading resource groups, allocating shared CWA memory, and emulating mainframe pointer masking (24-bit/31-bit); operational reliability and performance depend on balancing startup group sizes, leveraging _COMMAREAOVR to prevent COMMAREA length-mismatch abends, and using _DEFERPCT and _FORCEPROG to tailor memory usage between production and development regions.

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

From the archive

View all
Oct 31

IMS TM Queue Drainage: MPR Classes, PROCLIM, and the Queue-Full Hang

Oct 31

MFJAMS REPRO: Primary-Key Ranges, Replacement Rules, and Ignored IDCAMS Operands

Oct 31

JCL Exported Symbols: Submission-Time Resolution, Region Scoping, and IEFSJSYM Limits