CICS/TS Structure & Problem Analysis (CI5040)

Request a Quote for this class

About this Course

A discussion of the various types of outages that affect CICS/TS’ normal execution and of the tools available to resolve them. This will provide the participant with the debugging skills that are necessary to perform very efficient problem solving.

Audience Profile

CICS system programmers and technical support specialists. Experienced application programmers could also benefit from this class providing they are receptive to the idea of having to understand CICS internal structure. We will provide the dumps. The client is also encouraged to supply some of its own dumps for analysis in the classroom.

At Course Completion

Upon successful completion of this course, the student will be able to:

  • Describe CICS Architecture and its major components
  • Name the major control blocks used by CICS
  • Understand the way a CICS transaction executes in a CICS environments
  • Understand the Domain environment and describe the major components
  • Understand CICS message processing and how this can be used to control the dump environment in CICS
  • Use IPCS as a tool to effectively read CICS dumps and find the cause of a problem
  • Analyse the various reports provided by the DFHPDxxx verb exit routine
  • Understand CICS traces and use them as part of your debugging exercise
  • Analyse most error situations in CICS using either a transaction or system dump

Prerequisites

Technical programming or CICS system programming.

Course Outline

1. CICS/TS Architecture Review

  • Definable Resources – Important parameters that may help in providing a stable environment, a very important factor in supporting production environment. Focus will be on making sure CICS resources are defined in such a way that integrity and stability will be achieved.
  • Address Space layout will provide an understanding of where some information can be found
  • Domains & TCBs – from a mechanism point of view
  • Tasks and Transactions – more importantly, a description of what needs to be in pace for transactions to start, execute and terminate properly
  • Kernel Storage & Kernel Linkage: this is an important mechanism in CICS and understanding this mechanism is key to success in debugging CICS problems:
    • Kernel Linkage
    • KE Dump Representation
  • API Storage will provide a description of the CICS Command Level environment

2. CICS/TS Externals

Understanding how messages are issued is another important factor in debugging CICS problems as it will allow you to control what dumps will be produced and what dumps can be eliminated.  This is also the chapter where we will start to classify problems.

  • Message Formats
  • Destinations and Processing
  • CICS and Non-CICS Transaction Abend Codes
  • CICS System Abend Codes

3. CICS/TS Internals

Dumps are a lot easier once we know where to find the data; this chapter will provide this information.  The terminology used in the chapter will be the same terminology used in dumps.  This chapter will also provide you with a lot of information on how CICS works internally.

  • A discussion of the major control blocks in CICS/TS:
    • Kernel – TASENTRY, KCB, KE_TCB, DOMAIN TABLE, ERROR DTAT TABLE
    • Storage Manager- Anchor Block, PPA, PPX, SMX, SCA, SCE, SCF, SAT
    • Dispatcher, Anchor Block, CPE, APE, CSECTL
    • Program Manager – Anchor Block, PPTE, LLE, PTA, PLCB, Container & Chanel
    • Application Domains

4. CICS/TS Dumps and Traces

This chapter will describe dump formats; reports will be explained so the participant will be able to find the data he/she is looking for in order to solve problems fast.

  • System dump environment
    • System dumpcode table
    • Transaction dumpcode table
  • IPCS and CICS verbexit keyword
  • Transaction dumps
    • Sympthom string
    • PSW, PIC, NSI, ILC
  • System dump
    • Kernel summary error data table, Domain table
    • Storage manager summary
    • Dispatcher domain
    • Program domain
    • Loader domain
    • AP Domain
    • Trace
    • Finding a CICS command in the trace
    • Why is trace important
    • TS, TS, FCP environments
    • DB2 summary
    • Recovery Manager and Log Domain
    • Socket Domain
    • Pipeline Manager
    • Webservices
  • CICS trace
    • Reading trace
    • Controlling trace output
    • Controlling trace capture

5. Problem Investigation

In this chapter, we put everything together; we start by classifying the problems and then provide an easy approach to these problems.  This chapter is organized in such a way that it can be used as a reference when debugging various problems; it is organized by problem types and, for each, we will provide an approach to debugging that should work in most cases.

  • Classifying the problem
  • Transaction abends
    • Locating failing instructions
    • Locating data
    • ASRA
    • AExx
    • Some special AExx abends like AEYD, AEZD
  • Investigating waits and loops
    • Short-on-Storage
    • Deadly embraced
    • File Control Waits
    • Dispatcher waits
    • DB2 waits
    • Transaction Manager Waits
    • Loops and AICA abends
  • Storage Violations
    • Frequent causes
    • Detected storage violation versus non-detected Storage corruption
    • Storage Recovery
    • Debugging storage violations