Services for Application Programs
CICS manages its processor storage, z/OS address space and its task manager. A CICS application consists of a collection of related programs that work together to perform a business operation. These applications execute under CICS control, utilizing CICS services and interfaces to access programs and files.
An application programming interface (API) is employed to access CICS services from the application program. Within the application, CICS commands are used to request these services. The following are some of the most important services provided by CICS in application programming:
- Terminal Control Services
- File Control Services
- Database Control Services
- Task Control Services
- Program Control Services
- Temporary Storage and Transient Data Control Services
- Interval Control Services
- Storage Control Services
- Dump and Trace Control Services
Terminal Control Services
Terminal control services facilitate communication between CICS application programs and terminal devices. They manage input and output operations, allowing applications to send data to and receive data from user terminals. Developers often use Basic Mapping Support (BMS) for simplified terminal communication.
File Control Services
File control services provide access and management of datasets such as VSAM or BDAM. These services enable application programs to perform operations such as reading, writing, updating, and browsing records within these datasets.
Database Control Services
Database control services enable application programs to interact with databases for data retrieval, insertion, and updates. CICS ensures that database interactions are efficient and maintain data integrity, often coordinating with database management systems to execute these operations.
Task Control Services
Task control services manage the execution of tasks within CICS. They handle the initiation, scheduling, and termination of tasks, ensuring that multiple tasks can run concurrently without interference. This multitasking capability is essential for supporting numerous simultaneous user interactions.
Program Control Services
These services oversee the execution of application programs. They manage program loading, linking, and invocation, allowing one program to transfer control to another. Program control services ensure that programs execute in the correct sequence and share data as needed.
Temporary Storage and Transient Data Control Services
- Temporary Storage (TS) Services: Enable programs to store data temporarily during a transaction's lifespan. This data can be retrieved by the same or different programs within the transaction, facilitating communication and data sharing.
- Transient Data (TD) services: Manage data that is processed sequentially and typically used for communication between tasks or for logging purposes. TD services handle the queuing and retrieval of this transient data.
Interval Control Services
Interval control services provide timing facilities to application programs. They allow programs to schedule tasks to run at specific times or after certain intervals, manage timeouts, and delay task execution as required.
Storage Control Services
These services manage the allocation and deallocation of memory for application programs. They ensure that programs have the necessary storage resources during execution and that memory is efficiently utilized and freed when no longer needed.
Dump and Trace Control Services
- Dump Services: Capture the state of the system at a specific point, usually when an error occurs, allowing for post-mortem analysis and debugging.
- Trace Services: Monitor and record the execution flow of programs, providing insights into program behavior and performance, which aids in troubleshooting and optimization.