Step 1. Understand the failure scenario

The first step in problem determination is to have a clear picture of exactly what is failing. Here are some questions to ask yourself:
  • What was the system doing when the failure occurred? For example, was it initializing or had it been running successfully for some time?
  • What transactions were running at the time of the failure? What should these transactions do?
  • When does it fail? Does it fail all the time, or is it intermittent?
  • How does it fail? Is it a hang, loop, or abend?
  • Did it start failing after a particular event such as a change to the configuration or a system crash?
  • What steps are needed to re-create the problem?

If possible, try a little experimentation to either narrow the failure down to a specific scenario, or to discover the extent of the problem. (The CICS-supplied CECI and CRTE transactions might be useful.)

This experimentation process is best demonstrated with an example. Consider the problem in which a function shipped temporary storage (TS) queue request that is issued by a CICS® transaction fails. You should try a few requests to see if all function shipped TS queue requests fail or if it is only the one that was issued by the failing transaction. If all function shipped TS queue requests fail, do function shipping requests to files work, for example? If function shipping in general fails, is transaction routing working or do you have a scenario in which all outbound requests are failing? If all outbound requests are failing, do inbound requests work?

By answering these questions you are generating a clear picture of the problem that you are trying to solve, an important first step to identifying the cause.