CICS/TS Advanced Command Level Programming (CI1020)

Request a Quote for this class

About this Course

An advanced training class designed to take the experienced CICS application programmer to the final skill level in terms of the available Application Programming Interface (API).

Audience Profile

The experienced CICS Command Level Application Programmer.

At Course Completion

Upon completion of the course, the student will have:

  • an expanded knowledge of BMS, File Control and Program Control
  • an understanding of some of the more advanced aspects of the CICS/ESA command level API including facilities in Storage Control, Temporary Storage, Transient Data, Interval Control and Task Control
  • an expanded appreciation of the more critical design and performance issues involved in application development


Familiarity with COBOL. Some knowledge of MVS Job Control Language. Substantial experience coding, compiling and link editing programs in general. A minimum of 6 months experience coding and testing CICS application programs. Experience using the CICS Execution Diagnostic Facility (an advantage, not a requirement)

Course Outline

1. Overview

This modules discusses various types of transactions, their coding particularities, and programming for performance.  It also provide an overview of the product’s functional areas namely transaction processing, inter-system communication, front-end programming interface, system programming interface and external CICS interface.  By the end of this module, the participant will have acquired an awareness of the product’s capabilities and will be in a better position to decide how a particular business problem is to be solved.

2. Storage Control

This topic discusses various ways in which an application programmer can control and manage storage in a CICS application, how to obtain and access storage, COBOL Linkage Section issues.  The lab on Storage Control will help understand differences between the “locate” and “move” modes in CICS; it will also provide the opportunity to exercise the GETMAN command.

3. Browsing Files

This module reviews the facilities provided by File Control Program.  Browsing commands are discussed along with various advanced programming techniques.  Updating files while browsing and also updating files with integrity are also covered.  The lab is about developing a lock mechanism to protect a record being updated across a pseudo-conversational transaction

4. Paging Transactions

Temporary Storage facilities and concepts are the main focus of discussion.  Revision of techniques used in coding paging transactions that are efficient and easy to use.  The lab provides an opportunity to experiment with browsing and terminal paging.

5. Online Printing

The module describes the CICS/JES interface.  It also discusses older methods for printing reports in CICS, namely Transient Data and Automatic task initiation.  The exercise combines both mechanisms.

6. Field-Level Help

This module addresses programming techniques used to make programs sensitive to the position of the cursor on the screen.  It discusses BMS functions making this task possible and the exercise consist of a program providing field-level help.

7. Accessing  System Information

This module discusses the ASSIGN command and the values it can return.  It also discusses some of the CICS commands used to manage resources and the use of CICS data values (CVDA).  The exercise will five the programmer the opportunity to use both approaches.

8. Recovery and Abend Handling

Knowing this status of the data after a transaction or system ABEND is vital in the success of an application since it will influence the design of the program.  Concepts of the Logical Unit of Work, distributed UOW and remote UOW are explained.  How does CICS recover the data?  If the programmer has chosen to handle the ABEND, what should be done in order to maintain the integrity of data.