PresentmentGroupEventHandler

The PresentmentGroupEventHandler handles the PresentmentGroupLoaded, PresentmentGroupStateChange, PresentmentGroupColumnChange, and PresentmentColumnChange events.

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

This event handler issues a Messaging API message on the JMS send queue when all of the batches (ICLs) within the transmission reach the set of states or column values that are specified in the event XML.

All of the columns in the presentment_group table are also event parameters for this event handler, but they are not triggers. Only the event parameters shown as triggers in Table 1 are triggers for this event. For more information about triggers, see Specifying Triggers.

The event handler runs whenever the value in one of the event parameters changes. It checks the values of the other event parameters to determine if the message should be sent. The message is sent when all of the following are true:
  • all of the event parameters for this event contain values that satisfy the requirements specified in the event XML
  • the event parameter that changed and caused the event handler to run is a trigger

This event handler allows the user to specify the states for a list of columns and have the message sent only when the last column reaches the correct state.

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.

Table 1 shows the additional event parameters for the presentment group event handler.
Table 1. PresentmentGroupEventHandler parameters
Parameter name Trigger Type Value Description
condition Yes Integer
0
Accepted
1
Rejected
2
Suspended
3
Deleted
A comma delimited set of condition settings, any one of which is required for the event handler to run.

If this parameter is used, also specify the PresentmentColumnChange event type to ensure an event is handled whenever the value of the condition column changes.

Note: This parameter defaults to accepted. To ignore the condition parameter, specify it as an empty value set.

For more options available with this parameter, see Specifying Value Modifiers and Special Values.

overrideable Yes Boolean
  • FALSE
  • TRUE
A comma delimited set of overrideable flag settings, any one of which is required for the event handler to run.

For additional options available with this parameter, see Specifying Value Modifiers and Special Values.

overridden No Boolean
  • FALSE
  • TRUE
A comma delimited set of overridden indicators, any one of which is required for the event handler to run.
overriddenBy No String User defined A comma delimited set of overridden by IDs, any one of which is required for the event handler to run.

For additional options available with this parameter, see Specifying Value Modifiers and Special Values.

notifSent No Boolean
  • FALSE
  • TRUE
A comma delimited set of notification sent indicators, any one of which is required for the event handler to run.
notifRequest No String User defined A comma delimited set of notification request values, any one of which is required for the event handler to run.

For additional options available with this parameter, see Specifying Value Modifiers and Special Values.

userField No String User defined A comma delimited set of user field values, any one of which is required for the event handler to run.

For additional options available with this parameter, see Specifying Value Modifiers and Special Values.

state Yes String One or more of the batch (ICL) states that can be used for triggers. A comma-delimited list of batch (ICL) state and batch (ICL) group state column names. The states are from the presentment and presentment group tables, respectively. When a batch (ICL) state name is specified in this list, all of the batches (ICLs) in the batch (ICL) group must be in the state before the batch (ICL) group is considered to be in that state as well.
For more information about using this parameter, see Specifying Triggers.
Note: This parameter must be specified to process a PresentmentGroupStateChange event.
states Yes String One or more of the batch (ICL) states that can be used for triggers. This parameter works the same as the state parameter. If both parameters are specified, they are combined into a single comma delimited list.
presColumns Yes String CONDITION=???;PENDING=???;OVERRIDEABLE=??? This parameter allows the user to define, for specific columns in the presentment table, values that control whether the event is handed. These values are used to determine if the event is handled for the batch (ICL) group.

If this parameter is used, also specify the PresentmentColumnChange event type to ensure the event is handled whenever the values for these columns change.

For more information about this parameter, see Specifying Value Modifiers and Special Values and Using the presColumns parameter.

reportName N/A String User defined This is passed as part of the payload.
responseRequired No Boolean
  • FALSE
  • TRUE
Indicates whether the event handler requires the target application to return a response to complete the WIP record in the service manager. When this parameter is true, the event handler uses the response required flag in the message to notify the target application that it must respond. For this event handler, a WIP record is always created. When this parameter is false, the WIP record is marked as complete as soon as it is sent. This parameter defaults to true.

This parameter is optional.

Message contents

When the message is delivered to the target application, it contains the information that is shown in Table 2.
Table 2. Message content for PresentmentGroupEventHandler
Message part Value Description
Unit of Work Batch (ICL) group ID as a long This value is used to locate the inbound transmission in the database.
Payload Contents specified in the ABSvcPayload The only payload delivered is the one specified using the ABSvcPayload event handler parameter as described in the general Messaging API event handler parameters.
Note: The payload for a PresentmentGroupStateChange event contains the value of the reportName parameter.
Contents XML that provides additional information about the transmission Provides more information about the transmission, such as the following:
  • the batch (ICL) group states that caused this event handler to run
  • the values of several database columns
  • the object ID in the database for the transmission
An example of the XML for the contents is:
<contents>
   <transmission>
      <states>
         <state>LOADED</state>
      </states>
      <objId>1000</objId>
      <overrideable>false</overrideable>
      <pending>false</pending>
      <overriddenBy></overriddenBy>
      <condition>ACCEPTED</condition>
   </transmission>
</contents>
Note: The contents of this message must match what the receiver is expecting.

Response processing

Any response from the target application is ignored.

Example handler XML

The example XML shows a TaskInitiation Messaging API message sent to the FXH.SERVICESFRAMEWORK.INPUT.QUEUE on localhost when a PresentmentGroupColumnChange event occurs. The event handler posts the message when the inbound transmission is loaded, the condition is either accepted or rejected, and the notification request type is DEPOSIT.
<EVENT>
   <NAME>My Transmission Change Acknowledgment</NAME>
   <TYPE>PresentmentGroupColumnChange</TYPE>
   <EXEC>
      com.ibm.paydir.ima.txsvr.event.appbridge.PresentmentGroupEventHandler
   </EXEC>
   <PARAMETER name="msgType">TaskInitiation</PARAMETER>
   <PARAMETER name="condition">accepted,rejected</PARAMETER>
   <PARAMETER name="notifRequest">TRANSACK</PARAMETER>
   <PARAMETER name="sourceID">PDTXS-04</PARAMETER>
   <PARAMETER name="destinationID">MY TRANSACTION ACKNOWLEDGMENT</PARAMETER>
   <PARAMETER name="jmsQmgrHostname">localhost</PARAMETER>
   <PARAMETER name="jmsQmgrChannel">SYSTEM.DEF.SVRCONN</PARAMETER>
   <PARAMETER name="jmsQmgrPort">1414</PARAMETER>
   <PARAMETER name="jmsClient">true</PARAMETER>
   <PARAMETER name="jmsQmgrName">FTM.QMANAGER</PARAMETER>
   <PARAMETER name="jmsSendQueue">FXH.SERVICESFRAMEWORK.INPUT.QUEUE</PARAMETER>
   <PARAMETER name="jmsReplyQueue">FXH.TRANSSERVER.INPUT.QUEUE</PARAMETER>
</EVENT>