Diagnosis checklist

Step through each of the items in the diagnosis checklist below to see if they apply to your problem. The checklist is designed to either solve your problem or help you gather the diagnostic information required for determining the source of the error. It can also help you confirm that the suspected failure is not a user error; that is, it was not caused by incorrect usage of the Language Environment product or by an error in the logic of the routine.

  1. If your failing application contains programs that were changed since they last ran successfully, review the output of the compile or assembly (listings) for any unresolved errors.
  2. If there have not been any changes in your applications, check the output (job or console logs, CICS® transient (CESE) queues) for any messages from the failing run.
  3. Check the message prefix to identify the system or subsystem that issued the message. This can help you determine the cause of the problem. Following are some of the prefixes and their respective origins.
    EDC
    The prefix for C/C++ messages. The following series of messages are from the C/C++ runtime component of Language Environment: 5000 (except for 5500, which are from the DSECT utility), 6000, and 7000.
    IGZ
    The prefix for messages from the COBOL runtime component of Language Environment.
    FOR
    The prefix for messages from the Fortran runtime component of Language Environment.
    IBM®
    The prefix for messages from the PL/I runtime component of Language Environment.
    CEE
    The prefix for messages from the common runtime component of Language Environment.
  4. For any messages received, check for recommendations in the "Programmer Response" sections of the messages in this manual.
  5. Verify that abends are caused by product failures and not by program errors. See the appropriate topics in this information for a list of Language Environment-related abend codes.
  6. Your installation may have received an IBM Program Temporary Fix (PTF) for the problem. Verify that you have received all issued PTFs and have installed them, so that your installation is at the most current maintenance level.
  7. The preventive service planning (PSP) bucket, an online database available to IBM customers through IBM service channels, gives information about product installation problems and other problems. Check to see whether it contains information related to your problem.
  8. Narrow the source of the error.
  9. After you identify the failure, consider writing a small test case that re-creates the problem. The test case could help you determine whether the error is in a user routine or in the Language Environment product. Do not make the test case larger than 75 lines of code. The test case is not required, but it could expedite the process of finding the problem.

    If the error is not a Language Environment failure, see the diagnosis procedures for the product that failed.

  10. Record the conditions and options in effect at the time the problem occurred. Compile your program with the appropriate options to obtain an assembler listing and data map. If possible, obtain the binder or linkage editor output listing. Note any changes from the previous successful compilation or run. For an explanation of compiler options, see the compiler-specific programming guide.
  11. If you are experiencing a no-response problem, try to force a dump. For example, CANCEL the program with the dump option.
  12. Record the sequence of events that led to the error condition and any related programs or files. It is also helpful to record the service level of the compiler associated with the failing program.