Let's understand Mainframe
Home Tutorials Interview Q&A Quiz Mainframe Memes Contact us About us

Module 2: CICS Architecture


CICS Components

CICS is built from three big components: the nucleus (control programs), the resource tables, and your application programs. Knowing each part helps you find where a problem lives.

The three big components

  • CICS nucleus: the core control programs (domains) that are always in storage. The program DFHNUC is the heart of CICS.
  • Resource tables: definitions that describe every transaction, program, file, terminal and queue CICS knows about.
  • Application programs: the programs you write. They are loaded on demand and use EXEC CICS commands to ask the nucleus for services.
  • Your program is a guest: it runs inside the region and borrows services from the nucleus. It never runs alone.

CICS control programs (domains)

  • Task Control (DFHKCP): creates and manages tasks - the transaction manager.
  • Program Control (DFHPCP): loads programs and handles LINK, XCTL, LOAD and RETURN.
  • Terminal Control (DFHTCP): talks to terminals - sends screens and reads input.
  • File Control (DFHFC): reads and updates VSAM and BDAM files.
  • Storage Manager (DFHSM): GETMAIN and FREEMAIN storage services.
  • Transient Data (DFHTDP) and Temporary Storage (DFHTSP): queue services.
  • Interval Control (DFHICP): START command and time-based work.
  • Journal Control, Recovery Manager, Dump and Trace: logging, backout and problem diagnosis.

CICS tables (resource definitions)

  • PCT (Program Control Table): maps each transaction id (TRANSID) to the first program to run.
  • PPT (Processing Program Table): describes every program and map - name, language, where it is loaded from.
  • FCT (File Control Table): describes every file - dataset name, VSAM type, open options.
  • TCT (Terminal Control Table): describes every terminal and its characteristics.
  • DCT (Destination Control Table): defines transient data queues - intrapartition, extrapartition and indirect.
  • TST (Temporary Storage Table): defines temporary storage queue characteristics.
  • Modern CICS defines most of these with RDO (Resource Definition Online) instead of assembled tables, but the same names are still used.

How the components work together

  • You type a TRANSID. Terminal Control gets it. Task Control looks up the TRANSID in the PCT and attaches a task.
  • Program Control looks up the program in the PPT and loads it from a DFHRPL library.
  • Your program issues EXEC CICS READ. File Control looks up the file in the FCT and reads the VSAM record.
  • When the program ends, the task is detached and all components release their resources.

Example - checking components with CEMT

  • CEMT is the CICS-supplied transaction for asking CICS about itself. Type these on a CICS terminal.
  • CEMT INQUIRE PROGRAM(MYPROG) CEMT INQUIRE TRANSACTION(MYTR) CEMT INQUIRE FILE(CUSTFILE)
  • INQUIRE PROGRAM shows whether your program is loaded, its language and its use count.
  • INQUIRE TRANSACTION shows the program the TRANSID points to. INQUIRE FILE shows whether the file is open and enabled.





© copyright mainframebug.com
Privacy Policy
MainframeBug Assistant