If you have a task that is not running and interval control
seems to be involved, you can use this information to understand the
possible causes.
About this task
The following is a list of possible causes, and suggestions
to consider before you carry out a detailed investigation. If these
do not give you enough information in order to solve the problem,
go to Finding the reason for a DELAY request not completing for further guidance.
If, in the course of your preliminary investigations, you find that
the task is waiting because the terminal where it is due to start
is unavailable, turn to Investigating terminal waits.
Procedure
- A
terminal task that should have been initiated with an EXEC
CICS START command did not start when you expected it to. CEMT
INQ TASK does not recognize the task, because it has not
yet been attached.
One approach is to identify the
terminal where the subject task should have started, and see if that
terminal is unavailable. You can use CEMT INQ TERMINAL to
find the status of the terminal.
- You have found that a task is waiting on resource type
ICGTWAIT.
This means that the task has issued an EXEC
CICS RETRIEVE WAIT command, and the data to be retrieved
is not available.
- Find the target TERMID for other tasks issuing EXEC
CICS START commands to supply more data.
The
resource name gives you the name of the terminal running the task
in the ICGTWAIT and therefore the target TERMID.
- If there are no tasks in the system that would issue
START commands for this TERMID, you need to determine whether this
is reasonable.
- If there are such tasks in the system, check to see
why they are not issuing the required START commands.
They
might, for example, be waiting for terminal input.
- Look at the deadlock
timeout interval (DTIMOUT) and the system purge value (SPURGE) for
the task issuing the EXEC CICS RETRIEVE WAIT command.
If there is no DTIMOUT value or SPURGE=NO has been specified,
the task will wait indefinitely for the data.
Note: The task waiting on resource ICGTWAIT might not be the
one that you first set out to investigate. Any AID task scheduled
to start at the same terminal cannot do so until the current task
has terminated.
- You
have found that the task is waiting on resource type ICWAIT. This
means that the task issued an EXEC CICS DELAY command
that has not yet completed.
- Check that the interval or time specified on the request
was what you intended.
If you believe that the expiry time of the request has passed, that suggests a possible CICS® error.
- Consider the possibility that the task was the subject
of a long DELAY that was due to be canceled by some other task. If
the second task failed before it could cancel the delay, the first
would not continue until the full interval specified on DELAY had
expired.
- A
task that issued EXEC CICS POST did not have its
ECB posted when you expected it to. Check to make sure the interval
or time you specified was what you intended.
- A task
that issued EXEC CICS WAIT EVENT was not resumed
when you thought it should have been.
Assuming the WAIT
was issued sometime after a POST:
- Check to make sure that the interval or time specified
on the POST was what you intended.
- If it is, check to see whether the ECB being waited on was posted. If it has been posted, that indicates a possible CICS error.
Results
If none of the simple checks outlined here help you to solve
the problem, read the following information.