ProcessingWindowActivityEventHandler

The ProcessingWindowActivityEventHandler handles the ProcessingWindowActivityColumnChange and ParticipantWindowOverrideColumnChange events.

EXEC specification: com.ibm.paydir.ima.txsvr.event.appbridge.ProcessingWindowActivityEventHandler

This event handler issues a Messaging API message on the JMS send queue when a value changes in a column in the processing_window_activity or participant_window_override tables. For a column change to cause a message to be placed on the queue, the column that changes must be specified in the processingWindowActivityTrigger parameter and all of the other values must match the values that are specified in the event parameters.

Event parameters

This event handler uses the general Messaging API event handler parameters and parameters that are specific to the event. Event parameters are specified in the Scheduler.xml file.

The following table shows the additional event parameters for the processing window activity event handler.
Table 1. ProcessingWindowActivityEventHandler parameters
Parameter name Trigger Type Value Description
windowName No String Defined in the database The name of the processing window that is required for the event handler to run. The processing window names specified in this parameter must match values that are found in the window_name column of the processing_window table.

To specify multiple window names, use a comma delimited list of the names.

This parameter is optional.

windowType   String
  • Distribution
  • Settlement
The type of the processing window that is required for the event handler to run. This parameter is optional.
status Yes String The delivery window cutoff task sets the status for a processing window. Valid values for the status are:
Open
The business day for the active processing window was activated.
Indefinitely Extended
The receipt cut-off time for either the active processing window or a participant window override stays open indefinitely.
Late
At least one outbound transmission does not meet the release criteria for the active processing window.
Criteria Timed Out
The release criteria were not met before the number of retries specified in the Reschedule cutoff max retry count parameter was exceeded.
Closed
All of the outbound transmissions for the active processing window met the release criteria.
Build Timed Out
All of the outbound transmissions for the active processing window were not built before the number of retries specified in the Reschedule cutoff max retry count parameter was exceeded.
Built
All of the outbound transmissions for the active processing window have been built.
Release Timed Out
All of the outbound transmissions for the active processing window were not sent before the number of retries specified in the Reschedule cutoff max retry count parameter was exceeded.
Complete
All of the outbound transmissions for the active processing window have been built and sent.
The status that the processing window must be in for the event handler to run. To specify multiple values for the status, use a comma delimited list of status values. This parameter is optional.
processingWindowActivityTrigger No String
  • status
  • statusTime
  • receiptCutoffTime
  • distCutoffTime
  • deliveryTime
  • rescheduleCutoffCount
  • originalReceiptCutoffTime
The name of the column in the processing_window_activity or participant_window_override table that causes the event handler to run when the value in the column changes. To specify multiple columns for this parameter, use a comma delimited list of column names.

If the status column is specified in this parameter, and the status parameter is also one of the event parameters, the value in the status column must have changed to one of the values specified in the status event parameter for the event handler to run.

This parameter is required.

Note: The following list describes what the value in the trigger column means:
Yes
When the value in this column in the database changes to one of the values that are allowed by the event stanza, the handler places a message on the specified queue.
No
When the value in this column in the database changes, it does not cause a message to be placed on a queue. This parameter can be added to provide more criteria that must be met to send a Messaging API message.
N/A
The parameter is not considered when it is being determined whether a message is sent.

Message contents

When the message is delivered to the target application, it contains the information that is shown in the following table.
Table 2. Message content for ProcessingWindowActivityEventHandler
Message part Value Description
Unit of work The processing window activity ID as a long. This value is used to uniquely identify the active processing window.
Payload An object of type AbstractEvent. It is one of the following objects:
  • ProcessingWindowActivityColumnChange
  • ParticipantWindowOverrideColumnChange
This object is used to identify which column change caused the Messaging API message to be sent.
Contents XML that provides additional information about the processing window and the business day for which the message is being sent. An example of the XML for the contents is:
<contents>
   <processingWindowActivity>
      <windowName>EOD</windowName>
      <windowType>Distribution</windowType>
      <status>Complete</status>
   </processingWindowActivity>
   <businessDay>
      <date>20191116</date>
      <site>0</site>
      <category>NACHA</category>
   </businessDay>
</contents>

Example handler XML

The example XML shows a processingWindowActivityChange Messaging API message sent to the Distribution queue. This message is sent when the receiptCutoffTime or status column in the processing window activity or participant window activity table changes.
<EVENT>
   <NAME>Distribution - Processing window activity change</NAME>
   <TYPE>ProcessingWindowActivityColumnChange</TYPE>
   <EXEC>
      com.ibm.paydir.ima.txsvr.event.appbridge.ProcessingWindowActivityEventHandler
   </EXEC>
   <PARAMETER name="workType">Present</PARAMETER>
   <PARAMETER name="msgType">processingWindowActivityChange</PARAMETER>
   <PARAMETER name="processingWindowActivityTrigger">receiptCutoffTime,status</PARAMETER>
   <PARAMETERREF>schedulerReferenceProperties</PARAMETERREF>
   <PARAMETERREF>sendToDistribution</PARAMETERREF>
</EVENT>