Atomic events

An atomic event is a single, low-level occurrence, which might happen under the control of BTS or outside the control of BTS.

There are four types of atomic event:
  • Input events
  • Activity completion events
  • Timer events
  • System events.

Atomic events are the basic components out of which composite events can be constructed. For more information, see Composite events.

Input events

Input events inform activities why they are being run. A RUN or LINK ACTIVITY command delivers an input event to an activity, and thus activates the activity. The INPUTEVENT option on the command names the input event and thus defines it to the requestor.

The first time an activity is run, CICS® always sends it the DFHINITIAL system event . DFHINITIAL tells the activity to perform its initial housekeeping. Typically, this involves defining further events for which it might be activated.

An activity must use the RETRIEVE REATTACH EVENT command to discover the event or events that caused it to be activated. On any activation (but typically on its first, when it is started with DFHINITIAL), it might use the DEFINE INPUT EVENT command to define some input events for which it can be activated after.

Note: The RUN command can also be used to activate a process multiple times, delivering a different input event on each activation. This is not discussed here - see Using client/server processing.

Activity completion events

The completion of a child activity, but not a root activity, causes the activity completion event to fire. The EVENT option on the DEFINE ACTIVITY command names the activity completion event and thus defines it. If EVENT is not specified, the completion event is given the same name as the activity itself.

Timer events

When you define a timer, a timer event is automatically associated with it. When the timer expires, its associated event starts.
Note: If you do not specify the EVENT option of the DEFINE TIMER command, the timer event is given the same name as the timer itself.

System events

BTS system events are a special input event defined by BTS, unlike user-defined events , which are defined by the BTS application programmer.

All the other types of event described in this section , including composite events, are referred to as user-defined events , because they are defined by the BTS application programmer, using commands such as DEFINE INPUT EVENT, DEFINE TIMER, DEFINE COMPOSITE EVENT, and the EVENT option of DEFINE ACTIVITY.

There is only one type of BTS system event - DFHINITIAL. For more information, see BTS system events.

System events cannot be included in composite events.