Fact-checked by Grok 2 weeks ago

CICS

Customer Information Control System (CICS) is a general-purpose subsystem developed by for the operating system, enabling the simultaneous execution of online applications for multiple users while managing resources, ensuring , and delivering fast response times. As a cornerstone of enterprise computing, CICS serves as a mixed-language platform that hosts transactional workloads in hybrid cloud environments, supporting languages such as , (including Java 21 and 10), and others for building scalable, secure applications. It provides essential services through its (API), including data management for accessing files and databases like DB2, communications for terminal interactions, and diagnostic tools for monitoring and troubleshooting. Transactions in CICS are identified by four-character identifiers (TRANSIDs), such as CEMT for system management, and execute as tasks that can link programs or transfer data via mechanisms like COMMAREA (up to 32 KB) or channels and containers. CICS excels in high-volume, mission-critical operations, processing millions of transactions with robust security features like TLS 1.3 support and compliance management, while optimizing resource usage to reduce costs in mainframe environments. Its architecture allows for resource sharing, user authorization, and prioritization, passing database requests to specialized managers and supporting both traditional procedural programs and modern Enterprise JavaBeans. Developers benefit from tools like , , and for enhanced productivity, alongside capabilities for enablement, messaging integration, event streams, and AI-driven modernization. Widely used in industries like , , and healthcare, CICS remains a vital platform for reliable, performant on systems.

History

Origins and Early Development

The development of the Customer Information Control System (CICS) began in 1966 at IBM's Development Center in , initially to address requirements from companies for efficient on mainframe systems. This effort evolved from earlier IBM initiatives, including the single-threaded Minimum Teleprocessing Communications System (MTCS), a precursor designed for multi-terminal environments under OS/VS1 and /VS. Although CICS's foundational concepts drew from 1950s collaborations between and American Airlines on the Semi-Automated Business Research Environment () airline reservation system, the core development focused on general-purpose transaction management rather than airline-specific applications. In April 1968, IBM released the Customer Information Control System (PUCICS) as free Type II code, providing initial support for Basic Telecommunications Access Method (BTAM) terminals and laying the groundwork for broader adoption. The first production release of CICS occurred on July 8, 1969, for the under both and OS/360 operating systems, priced at $600 per month and supporting up to 50 BTAM terminals, three file datasets, 100 programs, and 50 types. This emphasized batch-oriented processing for applications like airline ticketing, enabling high-volume (OLTP) in resource-constrained environments. Early enhancements in the early included compatibility with OS/VS and support for additional terminals, such as the IBM 2741 Selectric typewriter and the 2260 display station. By 1974, worldwide development responsibility shifted to IBM's Hursley Laboratory in the , where the team introduced single architecture in CICS/VS 1.0 and expanded terminal support to include early video displays, improving interactivity for distributed users. From its , CICS incorporated pseudo-conversational programming techniques to manage limited storage and , where each user interaction terminated a task and passed state data via channels like Temporary Storage Queue (TSQ) or Transient Data Queue (TDQ), simulating continuous dialogue without holding resources across exchanges. This approach was essential for in early OLTP scenarios. Key early adopters included , leveraging CICS for reservation systems building on SABRE's legacy, and banks for high-volume financial transactions, with over 30% of worldwide terminals running CICS by 1975.

Key Evolutionary Milestones

In the 1980s, introduced the as a language for defining CICS interfaces, leveraging and predicate calculus to model system behaviors precisely. This approach was applied to key CICS modules during development at 's Hursley Laboratory, enabling rigorous verification that caught design flaws early and enhanced overall software reliability by reducing implementation errors in complex logic. During the same decade, CICS evolved into a distributed , allowing seamless access to VSAM datasets—such as key-sequenced (KSDS) and entry-sequenced (ESDS) files—and DL/I hierarchical databases across multiple regions via mechanisms like function shipping and transaction routing. This advancement supported multisystem environments on mainframes, improving resource sharing and scalability for enterprise workloads without requiring data replication. In the 1990s, CICS integrated with the emerging through CICS Web Support, which enabled the system to function as an HTTP server and client, processing web requests and responses while supporting interfaces akin to the (CGI) for dynamic content generation. This feature allowed legacy CICS applications to expose services via forms and handle persistent sessions, bridging mainframe transaction processing with internet-based access and facilitating early implementations. To extend CICS beyond mainframes, developed MicroCICS in the , a lightweight variant optimized for reduced memory footprints on distributed platforms including and AIX (via CICS/6000 on RS/6000 systems). Released starting with CICS Version 1.20 in 1990, it provided core transaction management for client-server architectures, enabling developers to deploy scaled-down CICS environments on personal computers and systems for testing, branching, or edge processing. By the late 1990s, formalized the CICS Family, encompassing variants like CICS/ESA for /ESA environments (introduced in 1991) and CICS/6000 for open systems on AIX (announced in 1993), to unify across heterogeneous platforms. This family architecture promoted through shared APIs and intercommunication protocols, allowing applications to span mainframe and distributed systems while maintaining consistent reliability and security standards. Concurrently, the 1990s saw the emergence of specialized CICS Tools, such as CICS/Architect, which streamlined system design, resource definition, and using graphical interfaces and automated generation of control tables. These tools reduced manual coding errors and accelerated deployment cycles for complex CICS regions, supporting the shift toward more modular and maintainable architectures in enterprise settings.

Recent Developments and Modernization

In the , shifted CICS toward a model, beginning with CICS Transaction Server (TS) 5.1 in 2014, which enabled more frequent enhancements through quarterly Authorized Program Analysis Reports (APARs) rather than waiting for major version releases. This approach allowed for rapid deployment of fixes, performance improvements, and new capabilities, reducing the time between innovations and helping organizations address evolving business needs without full system overhauls. By CICS TS 5.3, this model was fully formalized, supporting ongoing updates via service streams that integrated seamlessly with existing environments. CICS has seen deepened integration with IBM z Systems processors starting from the z13 in 2015, enhancing scalability and performance for high-volume transaction processing. These integrations leverage hardware advancements like improved compression and encryption acceleration, enabling CICS to handle larger workloads efficiently. In 2025, IBM announced full compatibility for CICS TS with the z17 mainframe, which introduces AI-optimized hardware such as the Spyre Accelerator, further boosting throughput and reducing latency for mission-critical applications. Additionally, enhancements in OMEGAMON for CICS, announced in May 2025, incorporate AI-driven insights for better DB2 correlation—linking transaction traces across CICS and DB2 for root-cause analysis—and zIIP optimization to offload specialty processing, minimizing general CPU usage. To modernize for contemporary workloads, CICS TS 5.2 in 2015 discontinued support for legacy features such as Distributed Data Management (DDM), streamlining the system by removing outdated distributed file access capabilities that were no longer aligned with cloud-native priorities. This cleanup paved the way for hybrid cloud readiness, exemplified by CICS TS 6.1 released in June 2022, which embedded the WebSphere Liberty profile to facilitate containerized deployments on z/OS. The Liberty integration supports Jakarta EE 10 and enables CICS regions to run Java applications in lightweight containers, bridging mainframe reliability with DevOps practices for easier portability to hybrid environments. The latest milestone, CICS TS 6.3 released on September 5, 2025, further advances modernization by adding support for Node.js 18, allowing developers to build reactive applications using modern JavaScript runtimes within CICS. It also enhances REST API tooling for simplified service exposure and consumption, including improved OpenAPI generation for better API documentation and testing. Moreover, event processing capabilities have been upgraded to support event-driven architectures, enabling asynchronous handling of business events with integration to Kafka and other streaming platforms for real-time responsiveness.

Architecture

Overall System Structure

CICS employs a modular, region-based architecture that enables efficient transaction processing within IBM z/OS and z/VSE operating environments. Each CICS region functions as a separate logical address space, providing isolation for resources such as programs, data files, and terminals while allowing coordinated operation across multiple regions. This design supports scalability by distributing workloads, with regions specialized for distinct functions: Terminal Owning Regions (TORs) manage input/output operations for connected terminals, Application Owning Regions (AORs) execute application programs, and File Owning Regions (FORs) handle data access and storage management. At a higher level, CICS organizes regions into a hierarchical structure through the CICSplex, a sysplex-wide environment that facilitates coordination and resource sharing across multiple systems. The CICSPlex System Manager (CPSM) oversees this structure, performing load balancing by dynamically routing transactions to optimal regions based on factors like performance metrics and system health. Resource management is centralized through definitions in the file, a VSAM containing entries for programs, transactions, files, and other resources, enabling consistent configuration across regions. On , this supports multi-region operations for complex, distributed setups, whereas z/VSE emphasizes single-region configurations for simpler, resource-constrained environments. As of CICS TS 6.3 (September 2025), a YAML-driven configuration tool simplifies region setup, including , system initialization parameters, and startup JCL. To optimize resource utilization, particularly in terminal interactions, CICS adopts a pseudo-conversational model, where transactions appear continuous to users but release and resources between exchanges, minimizing main storage overhead and enabling higher concurrency. This approach contrasts with fully conversational models by terminating and reinitializing tasks as needed, preserving state via mechanisms like communication areas or channels. Additionally, CICS integrates with external subsystems such as IMS and DB2 through intercommunication protocols, including Multiregion Operation (MRO) for intra-sysplex links and Intersystem Communication (ISC) over or , allowing seamless data access and transaction distribution across heterogeneous environments.

Core Components and Nucleus

The of CICS is the principal element, comprising a set of modular control programs and associated tables that manage essential system operations, including task dispatching, resource allocation, and inter-program communication within the environment. It is loaded into the CICS region , with key modules optionally installed in the link pack area (LPA) for efficient sharing across regions, ensuring that application tasks execute in a controlled, recoverable manner. This central component is customized during system generation to support specific functional requirements. Key functional components within the include task control, which handles task scheduling, initiation, and termination to enable concurrent execution of multiple transactions while enforcing priorities and detecting runaway tasks. Terminal control manages operations with terminals and networks, interfacing with the Terminal Control Table (TCT) to route messages and maintain session integrity across devices such as 3270 terminals or Communications Server connections. Complementing these, file control provides access to VSAM and BDAM datasets for read, update, and browse operations, while program control oversees loading and linking of application programs using the Program Control Table (PCT). Additionally, control allocates and deallocates dynamic memory, maintaining a storage cushion to prevent fragmentation and supporting user-defined limits for efficient resource utilization. Dynamic is facilitated through services that leverage control tables like the PCT for defining transaction identifiers and rules, allowing workloads to be distributed across available resources without manual intervention. The Kernel Control Table (KCT) centralizes management data for kernel operations, enabling real-time adjustments to and flow in response to demands. These mechanisms ensure scalable processing by dynamically assigning tasks to optimal execution paths based on availability and priority criteria. The evolved significantly with the introduction of CICS/ESA in the , transitioning from single-region configurations to multi-region support that allowed interconnected CICS regions to operate collaboratively within an sysplex. This advancement enabled shared temporary storage queues across regions, permitting applications to access transient data pools without region-specific boundaries and improving data consistency in distributed environments. Further optimizations came with the integration of Coupling Facility structures, which facilitate high-speed for temporary storage and other resources in sysplex setups, reducing and enhancing throughput for large-scale transaction volumes.

Support Programs and Services

CICS provides a range of support programs that facilitate , system management, and resource handling within the environment. The Execution Diagnostic Facility (CEDF), invoked via the CEDF transaction, enables developers to intercept application programs at key points, including initiation, each CICS command execution, and termination, allowing for step-by-step analysis and modification of program flow without altering the source code. Similarly, the CICS-supplied CEMT serves as the primary for online system administration, permitting users to inquire about and dynamically alter CICS resource parameters, such as terminals, files, and programs, through a command-line format that supports both inquiry (INQUIRE) and modification (SET) operations. For data queuing needs, CICS includes the Transient Data Program (TDP), which manages transient data queues for sequential storage and retrieval of data items destined for internal processing or external output, such as print files or restart records, with queues categorized as intrapartition (managed within VSAM datasets) or extrapartition (directed to sequential datasets). Complementing TDP, Temporary Storage () queues offer a VSAM-based mechanism for temporary, recoverable accessible by queue name, supporting both main storage for high-performance in-memory operations and auxiliary storage for persistence across CICS restarts, with options for shared queues in sysplex environments to enable distributed access. Interface services extend CICS connectivity to external systems, with the External CICS (EXCI) providing an application programming for non-CICS programs running in to establish sessions (pipes) with a CICS region and issue distributed program link (DPL) requests, facilitating synchronous or asynchronous calls to CICS applications from batch jobs or other subsystems. For database , the EXCI-to-IMS pathway leverages the CICS-IMS Database () , allowing CICS transactions to access IMS hierarchical databases through DL/I calls without embedding IMS control regions, using predefined PSB and DBD resources to manage requests in a controlled, non-transactional manner. Monitoring capabilities in CICS are supported by built-in statistics collection and performance tools that generate System Management Facilities (SMF) records for offline analysis. The CICS Statistics facility captures resource usage metrics, such as transaction volumes and file I/O counts, written as SMF type 110 subtype 2 records, while the integrates with these to provide detailed transaction-level data, including CPU times and response latencies, aiding in system tuning and bottleneck identification. As of CICS TS 6.3 (September 2025), OpenTelemetry support enables distributed tracing with new SIT parameters (e.g., OTELTRACE) and monitoring fields for enhanced observability. Utility programs further assist in maintenance tasks, exemplified by the BMS Macro Generation Utility (DFHBMSUP), which reconstructs original Basic Mapping Support (BMS) source statements from a compiled mapset load module, enabling modifications or backups when is unavailable.

Programming Model

Supported Languages and Interfaces

CICS Transaction Server (TS) for supports a range of programming languages, enabling developers to create applications using both traditional and modern paradigms. The primary languages include , which utilizes the EXEC CICS command-level interface for accessing system services; ; and C++; and Assembler language, with CICS providing the necessary runtime support for these through Language Environment (). These languages have been foundational since early versions, allowing for efficient integration with mainframe environments. Modern additions expand CICS's versatility for contemporary development. Java support began with CICS TS 2.1 (general availability 1999) and the JCICS API was introduced in CICS TS 1.3 (general availability early 1999), providing a Java equivalent to the EXEC CICS API for direct access to CICS resources such as files, queues, and transactions. Enhancements to Java support continued in later versions, including CICS TS 4.1 (general availability June 2009). The JCICSX extension, added in CICS TS 5.6 (general availability June 2020), facilitates remote development and testing without full CICS deployment. Node.js integration began in CICS TS Version 5.5 (general availability December 2018), allowing JavaScript applications to run natively within the CICS address space using the IBM SDK for Node.js on z/OS, with support extending up to Node.js version 18 in CICS TS 6.3 (general availability September 2025). Additionally, REXX is supported for scripting tasks, offering a lightweight option for automation and simple application logic. CICS TS 6.3 further enhances support for Java 21, Spring Boot 3, and MicroProfile 6.1, enabling developers to leverage the latest frameworks for cloud-native applications. CICS accommodates mixed-language programming within a single , leveraging Language Environment to enable seamless among supported languages like , , and . Language-specific translators convert command-level calls—such as EXEC CICS equivalents—into a common internal format, ensuring consistent access to CICS services regardless of the originating language. This capability supports hybrid applications that combine legacy and new code without requiring full rewrites. On the interfaces front, CICS maintains compatibility with traditional mainframe I/O mechanisms, including the System/370 channel interface for high-performance data access to peripherals and shared resources on z/OS. For modern connectivity, CICS exposes services through RESTful APIs facilitated by IBM z/OS Connect, which translates CICS transactions into JSON-based web services, enabling integration with cloud-native applications and microservices architectures. Event endpoints further enhance this by supporting asynchronous processing and event-driven interactions. CICS also provides built-in APIs for resource definition and management, allowing programmatic control over system configuration. Recent advancements underscore CICS's evolution toward enterprise standards. CICS TS 6.2 (general availability June 2024) achieved compliance with 10 via the JVM server, permitting deployment of servlets, enterprise (EJBs), and other components directly within CICS regions. This update builds on prior support, facilitating migration of web applications to the mainframe while maintaining and scalability. CICS TS 6.3 extends this with support for 21 and additional modern frameworks.

Traditional Programming Approaches

Traditional programming in CICS relied on macro-level interfaces, where developers embedded DFH* macros directly into application source code written in , , or assembler language. These macros, prefixed with "DFH" (e.g., DFHPC for program control, DFHTC for terminal control), invoked CICS services for tasks such as file I/O, terminal interactions, and inter-program communication. For instance, the DFHCOMMAREA in macros like DFHPC TYPE=LINK facilitated data passing between programs by specifying a communication area within the task's work area, limited to 32,767 bytes in later versions but typically 4,096 bytes in early implementations for efficiency. This approach required manual management of storage addresses and response codes after each macro execution, ensuring quasi-reentrant programs that avoided direct operating system calls to maintain predictability across multitasking environments. Command-level programming, introduced to simplify development, allowed programmers to use high-level EXEC CICS statements instead of raw macros, such as EXEC CICS READ ('FILE1') RIDFLD() INTO(RECORD) END-EXEC for file access, EXEC CICS WRITE FROM(MAPDATA) END-EXEC for output, or EXEC CICS RETURN END-EXEC to release control. These statements were processed by the CICS translator during program preparation, converting them into equivalent low-level calls or macros in the source language before compilation—for example, transforming EXEC CICS commands into CALL statements to the DFHEI1 interface program. In assembler, the translator generated DFHECALL macros to invoke the CICS command processor, passing parameters via registers and the EXEC Interface Block (EIB). This pre-compile translation maintained compatibility with macro-level execution while abstracting complexity from developers. At , command-level programs executed through the translated code, which invoked the Language Interface (e.g., DFHEI1 in ) to bridge to CICS's macro-level , ensuring efficient processing without further conversion. The translator's output, combined with the EXEC interface, handled parameter setup and command dispatching, optimizing for the system's transaction-oriented architecture. Key considerations in traditional programming included syncpoint management for transaction integrity, where developers issued explicit syncpoints (e.g., via EXEC CICS SYNCPOINT in command-level) to delineate units of work, triggering CICS's with external resource managers like databases. In phase one (prepare), CICS polled participants for readiness; phase two (commit or ) followed based on votes, ensuring atomicity across resources but requiring careful bracketing to avoid partial updates. Error handling relied on RESP and RESP2 fields in commands, where RESP provided primary codes (e.g., DFHRESP(NORMAL) or DFHRESP(NOTFND)) and RESP2 offered secondary numeric details (e.g., 1 for remote resource failure), inspected post-command via IF statements or HANDLE CONDITION labels to route exceptions without abending the task. Early CICS implementations exhibited limitations in programming models, particularly conversational programming, where tasks remained active during user "think time" to maintain , leading to , prolonged allocation, and reduced throughput in high-volume environments. Pseudo-conversational models addressed this by terminating the task after each screen send (e.g., via with COMMAREA), restarting on user input to simulate continuity while freeing resources, though they demanded meticulous preservation via COMMAREA or temporary to avoid data loss across invocations.

Contemporary Programming Techniques

In recent years, CICS has evolved to support modern programming paradigms that emphasize developer productivity, integration with cloud-native technologies, and reduced reliance on traditional procedural coding. These techniques leverage , event-driven architectures, and low-code approaches to enable agile development while maintaining compatibility with existing environments. Key advancements include simplified access, integration, event processing enhancements, container-like deployment models, and API-first strategies that minimize custom application logic. The JCICSX Java API, introduced in CICS Transaction Server (TS) for z/OS Version 5.6 in June 2020, provides a streamlined for Java developers to access CICS resources without using the legacy EXEC CICS commands. This supports a subset of CICS services, including program linking, file operations, and transient data queues, and can operate both locally within CICS and remotely via Liberty servers. It incorporates modern features such as annotations for resource injection and frameworks, allowing developers to declare CICS interactions declaratively rather than imperatively, which simplifies code maintenance and testing. For instance, annotations like @CicsProgram enable automatic mapping of method calls to CICS programs, reducing boilerplate code and facilitating integration with or applications. CICS bundles facilitate seamless integration of applications, enabling developers to build that interact with core CICS transaction logic. Introduced in CICS TS 5.5, this support packages code, dependencies, and configuration into deployable bundles, allowing asynchronous execution within CICS JVM servers. Developers can leverage 's async/await patterns for non-blocking I/O operations, such as invoking programs via the ibm-cics-api module or consuming services from existing CICS assets. This approach supports architectures by enabling event-driven workflows and JSON-based data exchange, with full to legacy applications without requiring modifications to the underlying or code. Event processing in CICS has advanced through event binding and adapters, particularly for integration with streaming platforms like Apache Kafka via IBM Event Streams. Event binding, available since CICS TS 5.5, allows developers to define XML-based specifications that capture business events—such as transaction completions or data updates—directly from CICS applications without code changes. These events can be formatted and routed using built-in EP (Event Processing) adapters to IBM Event Streams, which leverages Kafka for high-throughput, real-time data pipelines. Enhancements in 2025, including improved adapter support for schema evolution and fault-tolerant emission in CICS TS 6.3 updates (general availability September 2025), enable scalable event-driven architectures for analytics and microservices, with events emitted to external consumers in formats like JSON or Avro. CICS supports containerized application development through the Open Liberty profile, a lightweight runtime embedded in CICS JVM servers, which mimics container orchestration for hot deployment and workflows. Bundles enable zero-downtime updates by installing application artifacts dynamically, while tools like CICS Explorer provide integration for building, testing, and deploying Liberty-based apps with or support. This setup allows developers to package as OSGi bundles or WAR files, supporting features like hot-reload for iterative development and integration with Container Extensions for hybrid portability. A shift toward code-light development is exemplified by , which exposes CICS transactions and programs as with minimal custom coding. By generating API providers from OpenAPI specifications or CICS metadata, developers can create secure, discoverable endpoints for COMMAREA or channel-based services without altering application . This reduces the need for wrappers, enabling hybrid integrations where , or apps consume mainframe logic directly, with built-in support for , , and Swagger in CICS TS 5.6 and later.

Transaction Processing

Transaction Lifecycle and Management

In CICS, a transaction represents the fundamental unit of work and is identified by a unique transaction identifier (TRANSID), consisting of 1 to 4 alphanumeric characters. This TRANSID serves as the entry point for processing, with CICS routing the transaction to the appropriate application program based on definitions stored in the Program Control Table (PCT). The PCT contains entries for each defined transaction, specifying attributes such as the initial program to execute, transaction class for priority assignment, and whether the transaction is enabled for routing or local execution. The lifecycle of a CICS transaction begins with initiation, typically triggered by user input from a , a request, or an external call submitting the TRANSID to the CICS region. Upon receipt, CICS verifies the requesting device's communication status and the user's authorization before consulting the PCT to locate the transaction definition. If valid, CICS creates a new task under the management of the , which handles input/output operations and schedules the task for execution on an available process. This task encapsulates the transaction's execution environment, including user data and resource access rights. During execution, the task runs one or more programs sequentially or concurrently, with CICS coordinating resource requests such as file access or database queries to ensure and . The transaction reaches termination at a syncpoint, where the application issues an EXEC CICS SYNCPOINT command; CICS then commits all changes to recoverable resources if successful or aborts them via in case of failure, followed by task cleanup and resource deallocation. Multiple instances of the same can execute concurrently as separate tasks, enabling high-volume processing. CICS manages transactions through mechanisms that maintain system stability and performance, including resource locking to serialize access to shared data, deadlock detection to identify and resolve circular wait conditions, and scheduling to favor critical workloads. Locks are acquired dynamically on resources like VSAM files or DB2 tables during execution, with CICS enforcing contention resolution via timeouts configurable per class. detection in CICS is primarily based on timeouts configured via the DTIMOUT attribute, which abends a suspended task after a specified if it remains inactive, helping to resolve potential deadlocks. scheduling assigns to classes (1-15, with lower numbers higher priority), influencing dispatch order and to meet service-level agreements. On modern z17 hardware, these capabilities support throughput scaling to hundreds of thousands per second for typical workloads, such as processing, demonstrating CICS's efficiency in high-volume environments. For inter-transaction communication, CICS provides the communications area (COMMAREA), a contiguous up to 32 KB that can pass between linked programs within a task or to a subsequent via an EXEC CICS or RETURN command. For larger or more structured , channels and offer an alternative, where a groups multiple named containers, each limited only by the available storage in the CICS region, enabling flexible passing without size constraints of the COMMAREA. These mechanisms support seamless flow across boundaries while maintaining through channel definitions. Transaction monitoring in CICS includes handling abends—abnormal terminations—with specific codes indicating failure types, such as ASRA for program checks like violations or errors. Upon an abend, CICS rolls back the task, logs details in the system message log, and optionally produces a dump for diagnostics. Trace facilities, enabled via system initialization parameters or dynamic commands, capture detailed execution logs at various levels (e.g., calls, resource accesses), aiding in and without impacting throughput.

Basic Mapping Support (BMS)

Basic Mapping Support (BMS) provides CICS application programs with a device-independent method for formatting and managing input/output operations on terminals, abstracting the complexities of terminal-specific data streams. By defining screen layouts through maps and mapsets, BMS enables developers to focus on application logic rather than hardware dependencies, supporting efficient screen I/O in transaction processing environments. This support is integral to CICS's terminal handling, where maps translate high-level definitions into formatted displays for devices like 3270 and 5250 terminals. BMS relies on assembler macros to define physical and symbolic mapsets, which are assembled and loaded into CICS for use during execution. The primary macros include DFHMSD for specifying the overall mapset characteristics, such as type (, or inout), mode, type, and ; DFHMDI for defining individual maps within the mapset, including attributes like cursor positioning and validation; and DFHMDF for detailing fields within a map, covering position, length, and attributes. These macros generate two outputs: a physical mapset containing device-dependent formatting instructions (e.g., control characters for screen positioning and highlighting) and a symbolic mapset with or structures for data mapping in application programs. The assembly process uses standard assembler, producing load modules installed via CICS resource definitions. Key features of BMS include field-level attributes that control user interaction and presentation, such as (to make fields read-only), (normal or bright), color options (e.g., , , for 3270 terminals), and highlighting (underline, bold). For 3270 terminals, BMS handles structured fields for advanced formatting like partitioned , while for 5250 terminals (common in environments), it supports similar block-mode operations through device layers, ensuring compatibility without altering map definitions. Additionally, BMS facilitates error handling by allowing insertion of messages into designated fields and supports cyclic navigation via cursor keys, enabling users to tab through unprotected fields sequentially. These capabilities ensure robust, consistent screen interactions across supported terminals. Screen I/O in CICS applications uses the SEND MAP and RECEIVE MAP commands to interact with BMS maps. The SEND MAP command outputs a formatted screen by specifying the map and mapset names, along with a data area containing symbolic map variables; options like ALARM (for audible alerts), FREEKB (to clear the keyboard), and FRSET (to reset modified fields) enhance , while cursor positioning (CURSOR option) directs focus to specific fields. Conversely, the RECEIVE MAP command captures terminal input, mapping it into the application's symbolic map structure and returning the cursor position (via the CURSOR special register) and attention identifier (AID key pressed); it supports length specification to handle variable input sizes and integrates with insertion for validation feedback. These commands execute within the transaction lifecycle, routing data streams transparently to the . A representative BMS macro definition for a simple inquiry mapset might appear as follows, targeting applications on 3270 terminals:
MYMAPS  DFHMSD  TYPE=&SYSPARM,MODE=INOUT,TERM=3270,LANG=[COBOL](/page/COBOL)
MYMAP   DFHMDI  SIZE=(24,80),LINE=1,CURSOR
NAME    DFHMDF  POS=(1,1),LENGTH=30,ATTRB=(NORM,PROT)
        DFHMDF  POS=(2,1),INITIAL='Enter Name:',ATTRB=(NORM,PROT)
INPUT   DFHMDF  POS=(2,13),LENGTH=20,ATTRB=(ASKIP,UNPROT)
This code defines a mapset (DFHMSD) with mode, a map (DFHMDI) of standard 3270 size, and fields for a protected label and unprotected input area; assembly produces the necessary physical and symbolic components for use in CICS programs. In modern CICS versions, BMS has evolved to support and integrations by generating templates from existing map definitions, using procedures like DFHMAPT to translate 3270-like layouts into forms while preserving field attributes as elements (e.g., readonly inputs for protected fields). For output, CICS extends BMS compatibility through utilities such as DFHLS2JS and DFHJS2LS, which map symbolic structures to schemas, enabling BMS-defined data to be serialized as for RESTful services and apps without rewriting core maps. This facilitates hybrid deployments where legacy terminal transactions deliver content to browsers or devices via transformed outputs.

Application Examples and Use Cases

CICS has been instrumental in , enabling real-time booking transactions that update VSAM files while employing pseudo-conversational dialogs to maintain user sessions efficiently across multiple interactions. For instance, these systems handle seat availability queries and confirmations in high-volume environments, ensuring data consistency without locking resources for extended periods. In banking and ATM networks, CICS supports high-availability transactions for account inquiries, balance checks, and fund transfers, often integrated with (formerly MQSeries) to facilitate asynchronous messaging between distributed systems. The Smarter Banking Showcase demonstrates this through a COBOL-based application on CICS TS 4.1, processing up to 800 transactions per second across channels like s and branches, using DB2 for to manage 6 million client records and 12 million accounts. Event processing in CICS enhances detection, such as correlating check transactions in to identify kiting patterns across banks. For retail point-of-sale (POS) operations, CICS powers inventory management and payment processing, utilizing Basic Mapping Support (BMS) to define screen flows for terminal interactions and External CICS Interface (EXCI) for distributed calls to remote regions handling stock updates or authorization. This setup ensures rapid transaction throughput in stores, where sales data syncs with central inventory files, preventing during peak hours. In modern insurance applications, CICS facilitates claims processing via APIs exposed through z/OS Connect Enterprise Edition, which transforms legacy programs into JSON-based services for handling payloads like policy details and claim submissions. A sample demonstrates a CICS application invoking a health insurance claim rule API over z/OS Connect, enabling seamless integration with external systems for without modifying core logic. A notable case study involves a financial firm migrating legacy applications from CICS to using CICS TS 6.1, leveraging its enhanced 11 support via Semeru Runtime and 10 for containerized deployments. This transition, aided by automated refactoring tools, achieved over 50% faster development cycles by streamlining code conversion and reducing manual refactoring efforts.

Advanced Capabilities

Sysplex and Distributed Operations

CICS integrates with the Parallel Sysplex environment through CICSPlex SM (CPSM), enabling scalability and workload distribution across multiple systems. This integration leverages the coupling facility for high-performance , including structures such as coupling facility data tables (CFDTs), named counters, shared temporary storage, and CPSM region status information. CFDTs, in particular, facilitate rapid sharing of working data across sysplex members with update integrity, supporting of transactions and program links to optimal regions. CPSM uses these mechanisms to monitor region states and route workloads efficiently, ensuring balanced processing without single points of failure. Workload management in CICS sysplex environments is handled by CPSM's workload management (WLM) component, which provides affinity, load balancing, and capabilities. affinity ensures that related transactions, such as those in a user-defined transaction group, remain routed to the same application-owning region () for session continuity, while allowing overrides for reasons. Load balancing is achieved by dynamically distributing dynamic transactions and program links across available CICS regions in a target scope, based on factors like CPU utilization and response times, to optimize use. For , CPSM supports session affinity and quiescing of target regions during overload, redirecting traffic to healthier systems; external data interfaces, such as those for adapters, enable with sysplex-wide for seamless . Multi-region operation (MRO) in CICS provides LU 6.2-based inter-region communication, allowing distributed processing across multiple CICS regions within or across sysplexes. In MRO setups, terminal-owning regions (TORs) route s to AORs for application logic execution, which in turn access file-owning regions (FORs) for , all over SNA LU 6.2 sessions. This architecture supports AOR-FOR interactions for efficient data access without full sysplex coupling, reducing overhead compared to intersystem communication (ISC) while maintaining integrity. The use of sysplex and distributed operations in CICS enables horizontal scaling to manage peak loads by adding regions or systems, distributing workloads across LPARs for near-linear performance gains. In banking environments, this configuration provides through Parallel Sysplex features like and , supporting high-volume transactions such as ATM processing and real-time account updates with minimal downtime. CICS TS 6.3 includes enhancements to sysplex operations, including support for sysplex caching for TLS 1.3 and optimizations for container-based traffic that improve handling of HTTP requests with container data, allowing efficient routing of modern web and workloads in distributed environments.

Recovery and Restart Mechanisms

CICS employs a during syncpoint processing to ensure atomicity and consistency for units of work involving local and remote resources, such as VSAM files and DB2 databases. In the first phase (prepare), the syncpoint manager coordinates with resource managers to confirm readiness to commit changes, logging necessary information in journals for recoverable resources to enable if needed. The second phase (commit) finalizes the updates only after all resources affirmatively respond, with journals capturing after-images to support operations. This mechanism integrates with transaction syncpoints to maintain across distributed environments. CICS supports multiple restart types to address varying failure scenarios, balancing recovery completeness with operational downtime. A cold restart involves full reinitialization of all resources, discarding prior session data and requiring complete from journals and logs, suitable for major failures or . In contrast, a warm restart recovers from the last successful checkpoint, reinstating in-flight units of work and minimizing by replaying logged activities since the checkpoint. An emergency restart provides partial recovery for critical situations, focusing on essential resources while deferring full reintegration, often used after uncontrolled shutdowns to expedite availability. To optimize restart efficiency in multisystem environments, CICS utilizes global checkpointing through the Global Work Area (GWA) for coordinated state synchronization across regions, coupled with dynamic that automates journal allocation and retention based on system activity. This approach reduces restart times by preserving checkpoint data in shared structures and dynamically sizing logs to handle peak loads without manual intervention. Backward recovery, or backout, relies on the CICS System Log (CSL) to apply before-images and undo uncommitted changes during dynamic or emergency restarts, ensuring no partial updates persist. Forward recovery complements this by replaying after-images from resource journals to restore committed data, particularly for VSAM datasets under Record Level Sharing (RLS) in sysplex configurations, where multiple CICS regions access shared files with built-in locking and buffering for concurrent operations.

Security and System Management

CICS provides robust security through integration with external security managers such as RACF and , enabling and fine-grained resource protection. In RACF environments, users authenticate via the CESN , supplying a userid and password, with options for persistent verification or identification-only modes configured in connection definitions. similarly uses Accessor IDs (ACIDs) for , mapping to RACF equivalents and supporting password substitutes like PassTickets. Resource access is controlled via profiles in classes like TCICSTRN for s, where administrators define permissions such as READ or for specific transaction IDs, often using generic profiles (e.g., CICSTS54.CICS.**) to manage . Similarly, program and file resources are secured in classes like MCICSPPT and FCICSFCT, ensuring only authorized users can invoke or access them. For secure communications, CICS supports SSL and TLS protocols over TCP/IP connections, including IPIC and web services, with via keyrings and certificates managed by RACF. Application Transparent TLS (AT-TLS) offloads to the , simplifying CICS setup while maintaining end-to-end . System management is facilitated by dedicated transactions for administrative tasks. The transaction enables online resource definition and , allowing alterations to the CICS system definition file () without system shutdown. CECI serves as the command-level interpreter, permitting interactive testing of EXEC CICS commands to verify and on a 3270 interface. CSMT handles message switching, routing transient data queues across regions or systems for operational notifications and alerts. Auditing in CICS relies on system logs and SMF records (e.g., type 115 for events) to track user activities and resource access, supporting compliance with standards like PCI-DSS in financial applications. Integration with Security Guardium enhances this by collecting and analyzing CICS transaction and audit events, streaming them for real-time monitoring and regulatory reporting. Performance tuning involves optimizing buffer pools, such as LSR and DSAL, based on metrics to minimize I/O and allocation overhead. Trace analysis uses CICS internal traces, supplemented by OMEGAMON for CICS, which provides real-time dashboards for task-level diagnostics and application . As of 2025, CICS TS 6.3 enhancements align with zero-trust principles, including management in z/OS Connect for secure exposures, expanded SMF auditing for compliance validation, and additional security features like managed /IP and improvements.

Modern Integrations

Web and API Enablement

CICS has provided web since 1996 through the CICS Web Interface, which enables the processing of HTTP requests directly within CICS regions, allowing applications to serve without external . This initial capability focused on basic HTTP functionality, including for dynamic HTML generation from programs using Basic Mapping Support (BMS) maps. Over time, CICS web evolved to include more advanced features, such as acting as both an HTTP and client for broader integration with web technologies. A significant advancement occurred with CICS Transaction Server (TS) Version 5.3 in 2016, which embedded the Liberty profile as a full servlet container within CICS. This integration allows Java EE web applications, including servlets and JavaServer Pages (JSPs), to run alongside traditional transactions, enabling hybrid workloads that bridge mainframe and modern paradigms. The Liberty profile in CICS TS 5.3 supports the Java EE 6 Web Profile, facilitating the deployment of RESTful services and directly in the CICS environment. For API enablement, CICS incorporates DFHAPI utilities, such as the JSON and XML assistants, to handle data transformation between high-level language structures (like COBOL records) and web-friendly formats. These tools generate mappings for JSON schemas, enabling CICS programs to process and respond to API requests without manual parsing, which is essential for RESTful interactions. Additionally, URIMAP resources define URI patterns to route incoming HTTP requests, including REST calls, to specific CICS programs or pipelines, ensuring efficient dispatching based on path, method, and headers. This routing mechanism supports the creation of API endpoints that expose transactional logic as web services. Integration with IBM z/OS Connect, with version 3.0 (generally available 2017) and enhanced by OpenAPI 3.0 support starting in 2022, further enhances capabilities by automating the generation of OpenAPI 3.0 specifications from existing programs in CICS. This allows developers to expose CICS services as RESTful with minimal code changes, including support for asynchronous patterns through event-driven processing. z/OS Connect acts as a facade, translating modern requests into native CICS calls, which simplifies connectivity for distributed applications. API security in CICS is bolstered by support for OAuth 2.0 and (JWT) validation, integrated via and CICS authentication exits. Incoming requests can be secured with access tokens obtained from external authorization servers, where CICS verifies the tokens before invoking programs, ensuring compliance with enterprise security standards. is configurable through z/OS Connect policies to prevent abuse and manage throughput for API endpoints. A practical example involves converting a traditional BMS map-based inquiry transaction into a REST endpoint using URIMAPs and JSON mapping. This transformation allows mobile applications to retrieve data via HTTP GET requests, replacing terminal emulation with lightweight API calls that integrate seamlessly with modern front-ends. Such adaptations enable legacy CICS applications to support mobile clients efficiently, reducing the need for screen-scraping intermediaries.

Cloud and Hybrid Deployments

CICS has been adapted for containerized environments through integration with , which enables the deployment of on Z applications as containers directly within a z/OS system. This allows CICS JVM servers to interact seamlessly with containerized components, such as Kafka clients running in CICS for event-driven processing. In CICS Transaction Server (TS) 6.1, enhanced support includes collectives for centralized management of multiple JVM servers and Jakarta EE 9 compatibility, facilitating the packaging of -based applications into pods via the and Cloud Modernization Stack Operator. This operator automates CICS TS provisioning and lifecycle management on z/OS endpoints using Container Platform, enabling hybrid cloud topologies where CICS regions are orchestrated like containerized workloads. Hybrid deployment models for CICS emphasize offloading non-critical transactions to public clouds while retaining core processing on IBM Z for performance and security. CICS Event Processing (EP) adapters capture and emit events from transactional workloads, formatting data for integration with cloud services via the IBM Z Digital Integration Hub (zDIH), which provides sub-second, low-latency access to mainframe data in hybrid environments. For AWS and Azure, this is achieved through connectors like the IBM CICS connector in Azure Logic Apps, allowing workflows to invoke CICS programs remotely, and patterns using z/OS Connect to expose CICS APIs as RESTful services for cloud-native applications on AWS. Offloading read-heavy logic reduces mainframe resource utilization, with caching mechanisms like Db2 Data Gate enabling zIIP-eligible, high-concurrency data sharing across hybrid setups. DevOps practices in CICS deployments are supported by the CICS Build Toolkit, a command-line interface for automating the construction of CICS bundles, applications, and projects, integrating directly into pipelines such as Jenkins or CI. It enables variable substitution in bundle definitions for environment-specific configurations, aligning with principles by treating deployment artifacts as code stored in repositories like . Automated testing is facilitated through integration with broader z/OS toolchains, including Developer for for unit testing of and components before bundling and deployment to hybrid environments. This toolkit runs on , , and Windows, supporting 17+ builds via or plugins to streamline agile development cycles. Scalability in hybrid CICS environments leverages CICSplex for resource provisioning across multi-region topologies, allowing dynamic addition or removal of regions to handle varying workloads without . Cloud extends this capability by routing excess transactions to public clouds via EP adapters and zDIH, enabling seamless overflow from on-premises CICS regions to AWS or instances during peak demand. The 2025 updates to OMEGAMON AI for CICS enhance cross-cloud with AI-driven for CPU and response times, supporting resource limiting to prevent overloads in burst scenarios and providing into hybrid transaction flows. This setup sustains over 1 billion transactions daily in Parallel Sysplex configurations, with application multiversioning ensuring zero- scaling. Key challenges in CICS hybrid deployments include maintaining and minimizing in cross-cloud interactions. is addressed through encrypted channels, such as TLS-secured IPIC and MRO links, ensuring compliance with regional regulations by keeping sensitive mainframe data on while allowing controlled offloading. mitigation employs via zDIH, which caches and replicates data near cloud endpoints for sub-millisecond access, reducing round-trip times in hybrid . These solutions balance the need for regulatory adherence with the performance demands of distributed architectures.

Latest Releases and Enhancements

CICS Transaction Server (TS) 6.1, generally available in June 2022, introduced enhancements to its embedded profile, upgrading support to 9 for improved Java application development and integration. This update enabled developers to leverage modern Java and frameworks, including better compatibility with and Eclipse MicroProfile for building resilient microservices within CICS regions. Additionally, the release expanded bundle support through a new deployment tailored for Java tools like and , streamlining the packaging and deployment of microservices-oriented applications. CICS TS 6.2, released in June 2024, focused on operational resilience and modern networking capabilities. It added support for in sysplex environments, including sysplex caching for TLS 1.3 sessions to optimize performance across distributed CICS regions using workload balancing. For event-driven architectures, the version introduced system rules to monitor and manage queued transaction classes during surges, along with enhanced CICSPlex System Manager handling of type 71 ENF events for improved event processing and automation. Integration with OMEGAMON for CICS received optimizations, enabling predictive insights into transaction performance and to anticipate issues before they impact availability. The most recent release, CICS TS 6.3, became generally available in September 2025, emphasizing developer productivity and hardware exploitation on the z17 mainframe. It extended support for from version 18 (introduced in 6.2), allowing developers to build and deploy applications directly in CICS using the ibm-cics-api package for accessing resources like VSAM and Db2. Advanced capabilities were bolstered through integration with Connect Enterprise Edition 3.0, requiring specific APAR PH68476 for seamless HTTP service invocation and response handling in CICS TS 6.3 environments. Furthermore, the release exploits z17 hardware features for enhanced throughput, with optimizations in 21 runtime and MicroProfile 6.1 delivering up to 20% performance gains in mixed-language workloads compared to prior versions. IBM maintains CICS through a model, issuing quarterly APARs to deliver new functions, fixes, and patches without requiring full upgrades. For instance, the July 2025 update included patches addressing vulnerabilities in components, alongside participation in open beta programs for early access to upcoming features. Looking ahead, 's roadmap for CICS emphasizes deeper integration via tools like OMEGAMON AI for , enabling proactive management of transaction flows and resource utilization by 2027. Additionally, alignment with IBM Z's quantum-safe initiatives will incorporate standards into CICS security features, protecting against emerging quantum threats through crypto-agile protocols.

References

  1. [1]
    Introduction to CICS - IBM
    CICS stands for Customer Information Control System. It is a general-purpose transaction processing subsystem for the z/OS operating system.
  2. [2]
    IBM CICS Transaction Server for z/OS
    IBM CICS Transaction Server, often called CICS, is a world-class, secure, powerful, scalable, mixed-language application server platform.
  3. [3]
    What you need to know about CICS - IBM
    Through its API, CICS provides services to an application: services such as data management, communications, and diagnostic services.
  4. [4]
    CICS 50th Anniversary - IBM Hursley Park Museum
    IBM decided to stop development to concentrate on IMS, and Hursley picked up responsibility in 1974 in exchange for PL/I. CICS core development work has ...Missing: shift Laboratory
  5. [5]
    [PDF] CICS Transaction Server from Start to Finish - IBM Redbooks
    foundation of CICS however, started over a decade earlier in the 1950s with. American Airlines and the IBM Semi Automatic Business Environment Research.
  6. [6]
    [PDF] CICS Transaction Server From Start to Finish - IBM
    In April 1968, IBM released Public Utility Customer Information Control System. ▫. (PUCICS). It was free code, known as a Type II program, ...
  7. [7]
    Use of software engineering, including the Z notation, in the ...
    Sep 1, 1988 · This paper describes the application of software engineering techniques, including Z, to the development of a large system program (CICS), ...Missing: history milestones 1980s specification<|control11|><|separator|>
  8. [8]
    Evolution of CICS: From 1969 Origins to Modern Advancements
    Apr 28, 2025 · Tracing the evolution of the Customer Information Control System (CICS), dating back to the first release in 1969.
  9. [9]
    IBM CICS OS/2 ANNOUNCEMENT - Tech Monitor
    Nov 20, 1989 · The most interesting product so far developed by IBM for OS/2, CICS OS/2 Version 1.20, is avail-able on February 23, 1990 and costs $708.
  10. [10]
    The CICS family - IBM
    CICS is a data communication and online transaction-processing system. The CICS family includes CICS for Linux, mainframe-based CICS, CICS/400, and CICS ...Missing: late 1990s 6000
  11. [11]
    [PDF] Architect's Guide to IBM CICS on System z
    Figure 4-9 shows an overview of CICS web services support. It makes a clear distinction between the tools and the runtime components of CICS web service support ...
  12. [12]
    Continuous delivery in CICS - IBM
    Most continuous delivery features are made available through APARs. In addition, CICS TS V5.4 introduced support for feature toggles. These allow IBM to ...Missing: 5.1 | Show results with:5.1
  13. [13]
    Cics ts v5.4 continuous delivery and v5.5 what's new | PDF
    IBM's CICS Transaction Server for z/OS has evolved to become a powerful mixed language application server, now supporting Java EE 7 and Node.js, ...
  14. [14]
    CICS TS V5.3 performance report - IBM
    CICS TS for z/OS, Version 5.3 introduces a significant number of performance improvements ... As part of CICS continuous delivery, this thread management support ...
  15. [15]
  16. [16]
    The Evolution of IBM OMEGAMON for CICS: AI Insights, DB2 ...
    Jul 28, 2025 · In the May 2025 Virtual CICS User Group, longtime z/OS expert Ezriel Gross unpacked the latest enhancements in OMEGAMON for CICS, IBM's flagship ...
  17. [17]
    Session 6638 - The One-Day CICS Transaction Server Upgrade
    CICS DDM is no longer available from IBM and support was discontinued, as of December 31, 2003. CICS DDM is no longer available in CICS TS from Version 5.2 ...
  18. [18]
    CICS Transaction Server for z/OS Value Unit Edition_6.1.0 - IBM
    Jul 23, 2025 · CICS Transaction Server for z/OS Value Unit Edition 6.1.0 is generally available as of 2022-06-17 which means this offering can be purchased ...
  19. [19]
    What's new in CICS TS 6.1? - IBM
    The CICS Liberty JVM server now supports Jakarta Enterprise Edition (EE) 10. Learn more about Liberty features supported for Jakarta EE 10. Support for ...Missing: 2022 | Show results with:2022
  20. [20]
    Announcements for CICS Products - IBM
    IBM CICS Transaction Server for z/OS 6.3 general availability (*GA date 05 September 2025) · IBM CICS Transaction Server for z/OS open beta program is updated ( ...
  21. [21]
    What's new in CICS TS 6.3? - IBM
    Changes to Java 8 and Java 11 support; JCICSX API support for latest Java versions and Enterprise Java versions; Support for Spring Boot 3. Also provided on ...Missing: September 2025 Node. js 18 REST event
  22. [22]
    Designing a CICS platform - IBM
    Terminal-owning region (TOR), File-owning region (FOR), Application-owning region (AOR): CICS function type; Production, Test, Development: business function ...
  23. [23]
    CICS - IBM
    First, for each set of related CICS regions (for example, the terminal owning region (TOR), application owning regions (AORs), and file owning regions (FORs)), ...
  24. [24]
    CICSPlex SM sysplex optimized workload management - IBM
    CICSPlex SM maximizes CICS workload throughput in a Parallel Sysplex, using an RS server for routing and real-time load information.Missing: balancing | Show results with:balancing
  25. [25]
    CICS resources - IBM
    The CICS system definition data set (CSD) is a VSAM data set that contains a resource definition record for every resource that is defined to CICS through CEDA, ...
  26. [26]
    CICS conversational - IBM
    There is a technique in CICS called pseudo-conversational processing, in which a series of non-conversational transactions gives the appearance (to the user) ...Missing: origins limited storage
  27. [27]
    [PDF] Intercommunication Guide - CICS TS for z/OS - IBM
    ... region (AOR) for a terminal that is logged on to a TOR, CICS uses the terminal definition in the AOR to determine the TOR to which the request should be ...
  28. [28]
    Reference: CICS components - IBM
    This section provides information about how the processing components of CICS are constructed and function. This information is primarily of interest to ...Missing: nucleus documentation
  29. [29]
    Component reference: Terminal control - IBM
    Terminal control consists of two CICS resource managers, ZCP and TCP. For details, see Terminal control resource managers, DFHZCP and DFHTCP. The QUERY ...Design Overview · Control Blocks · Modules
  30. [30]
    [PDF] Customer Information Control System (CICS) System Programmer's ...
    This publication contains detailed information necessary to implement three IBM program products: CICS/DOS-ENTRY, CICS/DOS-STANDARD, and.
  31. [31]
    CICS services for application programs: File control - IBM
    CICS file control lets you read, update, add, and browse data in VSAM and BDAM data sets and delete data from VSAM data sets.Missing: FC | Show results with:FC
  32. [32]
    Multiregion operation - IBM
    Multiregion operation (MRO) allows CICS systems that are running in the same MVS image or in the same MVS sysplex to communicate with each other. MRO does not ...Missing: ESA nucleus
  33. [33]
    Temporary storage queues - IBM
    Temporary storage for a CICS region can be in main storage, auxiliary storage, or shared temporary storage pools in a z/OS® coupling facility. For an ...
  34. [34]
    CICS temporary storage: overview - IBM
    You can set up temporary storage for a CICS region in three locations: main storage, auxiliary storage, or shared temporary storage pools in a z/OS coupling ...
  35. [35]
    Using the CEDF transaction - IBM
    CEDF allows you to intercept your application programs at the program's initiation, at each CICS command, and at the program termination.Missing: support CEMT documentation
  36. [36]
    Reference: CICS-supplied transactions - IBM
    Other transactions, such as CEMT, provide access to all main terminal functions, including inquiring about and changing the values of parameters used by CICS, ...Missing: documentation | Show results with:documentation
  37. [37]
    Transient data control - IBM
    The CICS transient data control facility provides a generalized queuing facility. Data can be queued (stored) for subsequent internal or external processing.
  38. [38]
    External CICS interface (EXCI) - IBM
    This programming interface allows a user to allocate and open sessions (pipes) to a CICS system and to pass distributed program link (DPL) requests over them.Missing: documentation | Show results with:documentation
  39. [39]
    The CICS-IMS DBCTL environment - IBM
    This topic gives you an overview of the components that support the CICS-IMS DBCTL environment.
  40. [40]
    CICS tools to obtain performance data - IBM
    You can use CICS® statistics, monitoring, and trace facilities to gather and monitor performance data to help you tune your CICS system optimally.
  41. [41]
    BMS macro generation utility program (DFHBMSUP) - IBM
    The BMS macro generation utility, DFHBMSUP, can re-create the original BMS macro statements from a mapset load module when the macro statements that were ...Missing: DFH | Show results with:DFH
  42. [42]
  43. [43]
    Using programming languages with CICS - IBM
    You can use COBOL, OO COBOL, C, C++, Java™, PL/I, or Assembler language to write CICS® application programs to run on z/OS®. Most of the processing logic is ...
  44. [44]
    Java development using JCICS - IBM
    JCICS allows Java apps to access CICS services directly, supporting most EXEC CICS functions, and is used by writing Java classes as usual.
  45. [45]
    [PDF] CICS TS for z/OS 4.1: What's New - Index of /
    The JCICS API has been enhanced to return colon-hexadecimal addresses from a ... a release earlier than CICS TS 4.1 and makes an XPI call on a CICS TS 4.1 system.
  46. [46]
    What's new? - IBM
    CICS Transaction Server for z/OS, Version 5 Release 5 enables development teams to create powerful, mixed-language applications.
  47. [47]
    Programming languages and Language Environment - IBM
    You can mix all the languages supported by CICS® in a single program. The same Language Environment callable services are available to all programs. For example ...
  48. [48]
    Using Language Environment for CICS programs - IBM
    CICS supports application programs compiled by a variety of compilers; for a list of compilers that are supported in this release of CICS Transaction Server ...
  49. [49]
    [PDF] CICS TS for z/OS 4.1: External Interfaces Guide - Index of /
    This edition applies to Version 4 Release 1 of CICS Transaction Server for z/OS (product number 5655-S97) and to all subsequent releases and modifications until ...
  50. [50]
    What is IBM z/OS Connect?
    z/OS Connect provides RESTful API access to z/OS applications and data that is hosted in subsystems such as CICS, IMS, IBM MQ, and Db2.Missing: via | Show results with:via
  51. [51]
    CICS and z/OS Connect - IBM
    z/OS Connect enables CICS programs to be called with a JSON interface and is IBM's premier technology for implementing JSON services and APIs in CICS.Missing: via | Show results with:via
  52. [52]
    What's new in CICS TS 6.2? - IBM
    New methods prepend() and prependString() are introduced to the JCICS container class. New methods appendWith(), prepend(), and prependWith() are introduced ...
  53. [53]
    [PDF] Application Programmer's Reference Manual (Macro Level)
    Part 1 is an introduction to macro level application programming. It compares the CICS DB/DC system with the conventional batch system of data processing.
  54. [54]
    Passing data to other programs by using COMMAREA - IBM
    The COMMAREA specifies the name of a data area (known as a communication area) in which data is passed to a program or transaction.Missing: macro- | Show results with:macro-
  55. [55]
    Translated code for EXEC CICS commands - IBM
    CICS® translates these programs and creates an equivalent source program where each command is now translated into a call macro or statement in the language of ...
  56. [56]
  57. [57]
    How it works: The two-phase commit process - IBM
    CICS then invokes each task-related user exit with a commit request. This indicates the start of phase 2 commit processing for the task-related user exit.Missing: management | Show results with:management
  58. [58]
    RESP and RESP2 options - IBM
    RESP and RESP2 options. CICS sets a primary and sometimes a secondary response code when it completes a command, and provides options for you to inspect them.Missing: error | Show results with:error
  59. [59]
  60. [60]
    CICS programs, transactions - IBM
    A CICS transaction is a piece of processing initiated by a request, consisting of one or more application programs. It is defined by a resource and run by ...
  61. [61]
    TRANSACTION resource definitions - IBM
    If you create a TRANSACTION resource in this way, you must use the CICS bundle to manage the lifecycle of that resource, and you cannot manage the resource ...
  62. [62]
    Life cycle of a CICS transaction - IBM
    This topic gives an overview of the life cycle of a transaction. The transaction process for CICS® is illustrated in Figure 1.
  63. [63]
    EXEC CICS SYNCPOINT - IBM
    Occurs when a SYNCPOINT command is driven into rollback by a remote system that is unable to commit the syncpoint. All changes made to recoverable resources in ...Missing: abort | Show results with:abort
  64. [64]
    Dealing with protection exceptions - IBM
    Storage protection, transaction isolation, and command protection are facilities that add data integrity by highlighting application errors.
  65. [65]
    Machine learning for IBM z/OS
    Process up to 282,000 z/OS CICS credit card transactions per second with a 4 ms response time, each with an in-transaction fraud detection inference operation ...
  66. [66]
    Sharing data across transactions - IBM
    Instead of using a communication area (COMMAREA), a more modern method of passing data to the next program in a pseudoconversation is to use a channel. Channels ...
  67. [67]
    [PDF] Using containers and channels to enhance CICS interprogram ... - IBM
    The containers and channels approach removes the constraint of the. 32KB communications area (COMMAREA) limit. It also promotes easy linkage between the ...Missing: inter- | Show results with:inter-
  68. [68]
    Dealing with protection exceptions - IBM
    CICS terminates the transaction with abend code ASRA and issues message DFHSR0623. Information to help further identify the cause of the error is saved in ...
  69. [69]
    Dealing with transaction abend codes - IBM
    Storage protection, transaction isolation, and command protection are facilities that add data integrity by highlighting application errors. The use of these ...
  70. [70]
    Interpreting transaction dumps - IBM
    The contents of a transaction dump are described, and guidance on locating information that is useful for debugging transactions is provided.
  71. [71]
    Component reference: Basic mapping support - IBM
    Basic mapping support (BMS) is an interface between CICS and application programs, allowing access to input/output data without device-dependent code. It ...Missing: documentation | Show results with:documentation
  72. [72]
    BMS macro DFHMSD - IBM
    Specifies the code to be used by CICS to determine the logical device mnemonic to be used for a BMS output operation. If no LDC operand has been specified on ...
  73. [73]
    BMS macro DFHMDF - IBM
    The DFHMDF macro defines a field within a map defined by the previous DFHMDI macro.Missing: JSON | Show results with:JSON
  74. [74]
  75. [75]
    Support for non-3270 terminals - IBM
    BMS supports only 3270 displays and printers. This category includes the 3178, 3290, 8775 and 5520, LU type 2 and LU type 3 devices, and any other terminal that ...
  76. [76]
    Using the RECEIVE MAP command - IBM
    The RECEIVE MAP command causes BMS to format terminal input data and make it accessible to your application program.
  77. [77]
    Using the SEND MAP command - IBM
    The SEND MAP command tells BMS: Which map to use (MAP option), and where to find that map (the MAPSET option); Where to find the variable data for the map ...
  78. [78]
    RECEIVE MAP - IBM
    RECEIVE MAP maps input data from a terminal into a data area in an application program. Following a RECEIVE MAP command, the inbound cursor position is placed ...
  79. [79]
    HTML templates generated from BMS maps - IBM
    The 3270 display system and HTML forms have a number of similarities. BMS map templates can represent the features of the 3270 display.
  80. [80]
    The CICS JSON assistant - IBM
    The DFHLS2JS procedure generates a JSON schema file from a high-level language data structure. You can use DFHLS2JS when you expose a CICS application program ...
  81. [81]
    What is CICS? (Customer Information Control System)? - TechTarget
    Nov 22, 2021 · History of CICS. CICS was first introduced by IBM in 1968 as a program to support BTAM (basic telecommunications access method) terminals, but ...
  82. [82]
    CICS Basic Terminology - Mainframestechhelp
    Example: An airline reservation system prompts the user for flight details and waits for input. The program remains active until the user completes the ...
  83. [83]
    CICS and IBM MQ
    You can access IBM MQ through two interfaces that are supplied with CICS: the CICS-MQ adapter and the CICS-MQ bridge.
  84. [84]
    [PDF] Smarter Banking with CICS Transaction Server - IBM Redbooks
    execute business operations, for example, CICS core banking applications typically manage their own operational data stores in DB2. – Master Data. In ...
  85. [85]
    Everything You Need to Know About CICS Mainframe Solutions
    The History of CICS in IBM ... CICS was introduced in 1968 as a program offering to support BTAM terminals. Featuring assembler macros that supported a limited ...Missing: 1966 | Show results with:1966<|control11|><|separator|>
  86. [86]
    Sample CICS application for z/OS Connect Enterprise Edition (EE)
    Jan 2, 2020 · This repository contains a sample CICS COBOL application that uses the API Requester function of z/OS Connect EE to call a health insurance claim rule API ...Missing: processing | Show results with:processing
  87. [87]
    COBOL to Java Migration Services | Modernize Legacy Systems
    Deliver projects over 50% faster with AI-powered automation. Migrate now. From legacy to leading-edge: Migrating COBOL to Java in Banking and Financial services.
  88. [88]
    Parallel Sysplex principles - IBM
    List structures used by CICS include coupling facility data tables (CFDTs), named counters, CICS shared temporary storage, and CICSPlex® SM region status.
  89. [89]
    How it works: CFDTs and CFDT servers - IBM
    CICS coupling facility data tables (CFDTs) are designed to provide rapid sharing of working data within a sysplex, with update integrity.
  90. [90]
    z/OS V1R12.0 Comm Srv: IPv6 Network and Appl Design Guide
    v IPv6 XCF addresses can be specified in a sysplex distributor environment. Table 7. IPv6 support for different policy types. Policy type. IPv6 supported? AT ...
  91. [91]
    CICS startup and shutdown - IBM
    Initial start; Cold start; Warm start; Emergency restart. You cannot specify warm start or emergency restart explicitly. Instead, you specify the START= ...
  92. [92]
    CICS warm restart - IBM
    If the type-of-restart indicator in the control record indicates "warm start possible", CICS performs a warm restart. For a warm start to succeed, CICS ...
  93. [93]
    CICS backward recovery (backout) - IBM
    CICS backward recovery (backout) undoes changes to resources using before-images recorded in the system log, during dynamic or emergency restart backouts.
  94. [94]
    [PDF] Getting Started with IBM Z Resiliency
    CICS VSAM Recovery (CICS VR) can help recovery of CICS and batch VSAM data from ... With VSAM RLS, multiple CICS systems can directly access a shared VSAM data ...
  95. [95]
  96. [96]
    [PDF] Broadcom Top Secret and z/OS Security Server - IBM Redbooks
    Nov 28, 2023 · Broadcom Top Secret implements a sign-on interface for CICS to further control the environment of the CICS user. The interface may include a ...
  97. [97]
    [PDF] CICS TS for z/OS: RACF Security Guide - IBM
    Jan 4, 2024 · This PDF describes how to plan and implement security across your CICS systems. It is intended for security administrators responsible for ...<|control11|><|separator|>
  98. [98]
    Configuring CICS to use SSL - IBM
    CICS can use the Secure Sockets Layer (SSL) or the Transport Layer Security (TLS) security protocols to support secure TCP/IP connections.
  99. [99]
    Introduction to Application Transparent Transport Layer Security (AT ...
    Application Transparent Transport Layer Security (AT-TLS) can be used to create secure socket sessions on behalf of CICS. Instead of implementing Transport ...
  100. [100]
    CICS transaction CEDA - resource definition online - IBM
    Use CEDA to define resources to your CICS system while the system is running. With CEDA, you can update both the CICS system definition file (CSD) and the ...
  101. [101]
    Command-level interpreter (CECI) - IBM
    You can use the command-level interpreter (CECI) transaction to check the syntax of CICS® commands and process these commands interactively on a 3270 screen.
  102. [102]
    CICS TS security reference - IBM
    The security reference information provides details about security rules, RACF classes, commands and resources, SIT parameters, and standards.
  103. [103]
    [PDF] IBM Security Guardium S-TAP for Data Sets on z/OS User's Guide
    Customer Information Control System (CICS®) Transaction Server support requires IBM CICS Transaction. Server for z/OS Version 5 Release 2 or later, until end of ...
  104. [104]
    [PDF] CICS TS for z/OS: Performance Guide - IBM
    Oct 30, 2025 · You can use CICS statistics, monitoring, and trace facilities to gather and monitor performance data to help you tune your CICS system optimally ...
  105. [105]
    CICS trace - IBM
    A CICS trace is a recording of CICS activity at points in CICS or application processing that aid in problem diagnosis.
  106. [106]
    Implementing a zero trust strategy - IBM
    Auditing CICS to make sure best practices are used. SMF 1154-80 records includes auditing of the best practices' compliance. See Compliance data collection.
  107. [107]
    [PDF] CICS Web Interface Guide - IBM
    v “Writing CICS programs to process HTTP requests” gives guidance about the design of new CICS programs to handle HTTP requests. v “Reference information ...Missing: 1990s | Show results with:1990s
  108. [108]
    CICS web support - IBM
    CICS web support allows CICS to act as an HTTP server and client, handling both HTTP and non-HTTP requests, and also supports non-standard request formats.
  109. [109]
    [PDF] IBM CICS and Liberty: What You Need to Know
    Enterprise Edition application to Liberty in CICS and the tools available to help with this. The main considerations are: 򐂰 Application validation. 򐂰 Java ...
  110. [110]
    Liberty profile 16.0.0.3 support for CICS TS 5.3, 5.2, and 5.1 - IBM
    Further details of APAR PI67640 (for CICS TS V5.3) are available here. Further details of APAR PI67639 (for CICS TS V5.2 and CICS TS V5.1) are available here.
  111. [111]
    Creating a URIMAP resource for CICS as an HTTP client - IBM
    You can create a URIMAP resource that specifies the components of the URI for an HTTP client request (scheme, host, and path) and an SSL client certificate ...Missing: REST routing<|separator|>
  112. [112]
    What's new in z/OS Connect zosConnect-3.0 - change history ... - IBM
    IBM z/OS Connect is enhanced to support the OpenAPI 3.0 specification. This capability is described in this documentation.
  113. [113]
    zosconnect/sample-cics-api-first - GitHub
    A sample z/OS Connect API provider project and associated COBOL program showing how to generate a CICS API provider project from an OpenAPI 3.0 specification.
  114. [114]
    Calling an API secured with an OAuth 2.0 token and a JWT - IBM
    In this example scenario, z/OS Connect requests both a JWT from an external authentication server and an OAuth 2.0 access token from an authorization server.Missing: rate limiting
  115. [115]
    Calling secured RESTful APIs - IBM
    To call a RESTful API that is secured with an API key, or an access token, such as an OAuth 2.0 token or a JSON Web Token (JWT), you might need to specify ...Missing: rate limiting
  116. [116]
    CICS and JSON web services - IBM
    CICS supports several different technologies for exposing resources as JSON based services. This section relates to an older technology called JSON web services ...
  117. [117]
    [PDF] IBM z/OS Container Extensions (zCX) use cases
    CICS: Using Liberty Kafka client running in CICS. IBM InfoSphere® Data Replication - Change Data Capture. Page 78. 64. IBM z/OS Container Extensions (zCX) Use ...
  118. [118]
    IBM Z and Cloud Modernization Stack Operator for IBM CICS - GitHub
    The IBM CICS TS Operator collection provides automation for provisioning CICS TS on one or more z/OS endpoints and managing its lifecycle in a hybrid cloud ...
  119. [119]
  120. [120]
    Real-time Information Sharing Between CICS and Hybrid Cloud ...
    In this session, we will talk about IBM zDIH capabilities as well as how CICS applications can be integrated with IBM zDIH using CICS Event Processing custom ...Missing: offloading AWS Azure
  121. [121]
    Access CICS Programs from Standard Workflows - Azure Logic Apps
    Apr 8, 2025 · Connect to CICS programs on IBM mainframes from Standard workflows in Azure Logic Apps by using the IBM CICS connector.Connector Technical... · Prerequisites · Add A Cics ActionMissing: offloading AWS event adapters
  122. [122]
    [PDF] Mainframe Application Modernization Patterns for Hybrid Cloud
    He has worked on the IBM Z platform his entire 12-year career at IBM and leads hybrid cloud adoption as part of the IBM Hyper Protect Services organization.
  123. [123]
    IBM CICS Transaction Server build toolkit
    Sep 5, 2025 · September 2025: Updated and re-versioned to release 5.5.45. · June 2025: Updated to release 34.0.3. · June 2024: Updated to support the general ...
  124. [124]
    [PDF] Cloud Enabling CICS - IBM Redbooks
    Continued improvements to the scalability of CICS TS have enabled customers to consolidate ... CICS TS auto-install program function is enabled. Page 232 ...Missing: bursting | Show results with:bursting
  125. [125]
  126. [126]
    What's new in OMEGAMON AI for CICS - IBM
    Nov 22, 2024 · New features include improved average response time, transaction wait details, full SIT parameter values, and OMEGAMON in CP/SM CMAS regions.Missing: scaling cloud bursting
  127. [127]
    [PDF] Innovate at Scale and Deploy with Confidence in a Hybrid Cloud ...
    including concerns related to compliance and data sovereignty, latency, availability, security, and mission-critical business systems that do not easily ...
  128. [128]
    Overview of OMEGAMON AI for CICS - IBM
    OMEGAMON AI for CICS helps you anticipate performance problems and warns you when critical events take place on your site's CICS environments by offering a ...Missing: 6.2 IPv6
  129. [129]
    [PDF] CICS TS for z/OS: Using Node.js in CICS - IBM
    Oct 9, 2025 · This PDF tells you how to develop and use Node.js in applications that run in CICS. It is for experienced. Node.js application programmers ...
  130. [130]
    Running an IBM z/OS Connect Server within CICS
    CICS TS version 5.6 or later is required to use a JCICS connection. Warning: When using CICS TS 6.3 or later, the z/OS Connect APAR PH68476 is required.Missing: Node. js z17
  131. [131]
    [PDF] IBM z17 (9175) Technical Guide
    May 4, 2025 · This is the IBM z17 (9175) Technical Guide, first edition (April 2025) for IBM z17 Model ME1, Machine Type 9175.
  132. [132]
    Upgrading between releases with CICS continuous delivery - IBM
    For your convenience, Table 7 lists service APARs that CICS has released to bring its embedded Liberty JVM server to the latest WebSphere Application Server ...Missing: quarterly | Show results with:quarterly
  133. [133]
    IBM CICS Transaction Server for z/OS open beta program
    May 1, 2025 · Support for Jakarta® EE 10 and Spring Boot® 3. Developers are now able to use the latest features in Jakarta EE 10 and Spring Boot 3 ...
  134. [134]
    Secure the post-quantum future | IBM
    Oct 3, 2025 · IBM Quantum Safe provides services and tools to help organizations migrate to post-quantum cryptography and secure their data for the quantum ...
  135. [135]
    Quantum-safe security for IBM Z
    Quantum-safe security for IBM Z involves the use of cryptographic methods designed to protect data from future quantum computer threats.