Expected events not captured

Work out why expected events have not been received by an event consumer.

Here are some possible reasons why expected events are not captured:
  • Check that Event Processing (EP) is started with the CEMT INQUIRE EVENTPROCESS command. When the status is not ‘started' then set it to ‘started' and try to capture the events again.

    You can also use CICS Explorer® or the CICSPlex® SM Web User Interface to check that EP is started.

  • Using the event binding editor, find the names of the EVENTBINDING and CAPTURESPEC that are intended to capture the events. Also note the capture points used.
  • Check that the event binding is active with the CEMT INQUIRE EVENTBINDING command. When the EVENTBINDING is not installed, it might be that the installation failed. Check the CICS® message log for message DFHEC1003, which is present for each event binding that fails to install. The DFHEC1003 message is typically preceded by another message describing the cause of the failure. In that case, correct the EVENTBINDING, redeploy the bundle containing it and try to capture the events again.

    You can also use tCICS Explorer or the CICSPlex SM Web User Interface to check event bindings.

  • Obtain the CAPTURESPEC statistics. Check the count of events for the CAPTURESPEC concerned. When the count shows that the required number of events are being captured, see Captured events missing.
  • Obtain a level 1 and 2 trace for EC, and search it for the capture points where events are required. The best way to search depends on the situation. One approach is to search the trace for ECEC ENTRY trace records for the required capture point, for example CMD-POST(PUT_CONTAINER) that are followed by ECEC EXIT trace records with EVENTS(0).
  • When the required capture point has no ECEC ENTRY trace records, obtain a dump formatted for EC to check that the required CAPTURESPEC entry ECCS: is present. If the ECCS: entry is not present, the capture specification is missing from the event binding. Edit the event binding to add it, redeploy the bundle containing it, and try to capture the events again. When the required CAPTURESPEC entry is present the application program is probably not reaching the expected capture points and you must review the program and redesign your event bindings appropriately. You can check this situation by using level 2 trace for the EI component, the CICS execution diagnostic facility (CEDF), or both.
  • When ECEC ENTRY trace records for the required capture point are present, work through the ECEC EVENT trace records to find the record with PREDICATE_FALSE. The record with PREDICATE_FALSE explains why no event was captured at this capture point. All predicates must be true for an event to be captured.
  • When system events are missing, check the CICS message log for messages DFHEC1023 and DFHEC1024. Transactional and synchronous event emission is not supported for system events.
  • When unhandled transaction abend system events are missing, check that the abend is not getting handled for you by CICS. For example, any commands issued from CECI are caught by the EXEC CICS HANDLE ABEND issued by the CECI transaction at the start of the session. Similarly, abends in CICS initialization and shutdown PLT programs are caught by the CICS code that processes the PLT. For a CICS web support transaction, any abends are caught by the EXEC CICS HANDLE ABEND issued by the CICS web support alias program DHWBA. For more information about CECI, see How CECI runs.