Clearing and settlement mechanism (CSM) simulator for TCH setup and configuration

Artifacts must be set up and properties must be configured for this simulator.

Queues

The queues that are used by this simulator are shown in the following table.
Table 1. Queues
Queue type Queue name Related property name
Outbound payment <prefixes>.REQUEST.TO.CSM PaymentToCSM
Outbound response <prefixes>.RESPONSE.FROM.CSM StsRptFromCSM
Inbound payment <prefixes>.REQUEST.TO.CSM.EXTERNAL PaymentToCSMExternal
Inbound payment <prefixes>.REQUEST.FROM.CSM PaymentFromCSM
Inbound response <prefixes>.RESPONSE.TO.CSM StsRptToCSM
Inbound payment (internal queue) <prefixes>.SIM.CSM.EXPIRYREPORT SimCSMExpiryReportQ
Inbound payment (internal queue) <prefixes>.SIM.CSM.TIMEOUT SimCSMTimeOutQ
Internal queue <prefixes>.SIM.CSM.TRIGGER.RPTRSP TriggerRepeatResponse
Internal queue <prefixes>.SIM.CSM.CONTROL SimCSMControlQueue
Error queue <prefixes>.SIM.FAILED FailedMessageOutputQueue

IBM App Connect Enterprise artifacts

This simulator uses the following artifacts:
  • TCHCSMSimulator.msgflow
  • FTM IP TCH Simulator LIB
  • FTM IP Simulator Common LIB

Common flow properties

The common flow properties that are used by this simulator are shown in the following table.
Table 2. Common flow properties
Property name Default value Description
PaymentToCSMExternal FXR.IP.REQUEST.TO.CSM.EXTERNAL The simulator input queue to use for the messages from an external debtor application that are shown in the following list:
  • Payment requests (pacs.008).
  • Request for information requests (camt.026).
  • Request for information response requests (camt.028).
  • Return of funds requests (camt.056).
  • Payment request (pain.013).
  • Response for payment request (pain.014).
PaymentToCSM FXR.IP.REQUEST.TO.CSM The simulator input queue to use for the messages from Immediate Payments that are shown in the following list:
  • Payment requests (pacs.008).
  • Request for information request (camt.026).
  • Request for information response request (camt.028).
  • Return of funds response request (camt.029).
  • Payment acknowledgment request (camt.035).
  • Payment request (pain.013).
  • Response for payment request (pain.014).
PaymentFromCSM FXR.IP.REQUEST.FROM.CSM The simulator output queue to use for the messages that are shown in the following list:
  • Request messages received on the PaymentToCSMExternal queue.
  • Cancellation messages for payment requests that timed out (camt.056).
The simulator adapts the business application header by updating the following values:
  • It sets its MmbId, which is defined in the CSM_PART_ID property, into the From MmbId.
  • It sets the From MmbId of the incoming request into the BrnchId of the From MmbId.
StsRptFromCSM FXR.IP.RESPONSE.FROM.CSM Simulator output queue for status reports to the Immediate Payments application (pacs.002).
StsRptToCSM FXR.IP.RESPONSE.TO.CSM Simulator input queue for status reports from the Immediate Payments application (pacs.002).
FailedMsgOutputQueue FXR.IP.SIM.FAILED The queue to use for messages that fail schema validation.
CSM_ExpiryReportQ and SimCSMExpiryReportQ FXR.IP.SIM.EXPIRYREPORT The queue to use for IBM® MQ expiry reports. The expiry reports cause cancellation requests to be generated for the payment requests.
SimCSMTimeoutQ FXR.IP.SIM.CSM.TIMEOUT The queue to use to store payment request messages that expire at the value that is defined in the CSM_ExpirationTimeToCancel property.
TriggerRepeatResponse FXR.IP.SIM.CSM.TRIGGER.RPTRSP The queue to use to initiate sending responses to repeated messages.
SimCSMControlQueue FXR.IP.SIM.CSM.CONTROL This queue is used to control the response of a sign-on or sign-off request. It is also used to simulate a schema validation error for all requests and answers with an admi.002 message.
LogFailedMsgToQueue TRUE Indicates whether failed messages are logged to a queue.
Data source FTMDB The name of the database that is running the application.

User-defined properties

The user-defined properties (UDP) for this simulator are shown in the following table. For the user-defined properties that are related to repeat scenarios, see Repeating messages scenarios.
Table 3. User-defined properties
Property name Default value Description
DB_SCHEMA FTM The name of the database schema.
CSM_MQRqRsp_RspToCSM_Q Empty If a queue name is specified in this property, the IBM MQ request-response protocol is activated. Set the value of this property to one of your FXR.IP.RESPONSE.TO.CSM_X queues.
CSM_FIId 022113344 The TCH financial institution ID to be used for message ID generation.
CSM_PART_ID 022113344XX The participant ID of TCH. It is used in the business application header.
CSM_TimeoutProcessing TRUE This property enables and disables the timeout mechanism.
CSM_ExpirationTimeToCancel 5000 The amount of time to wait, in milliseconds, before timeout processing begins.
CSM_Limit_RJCT 800 The amount limit for a payment request (pacs.008) that controls the return code that is used in the status report response (accept or reject). For more information about the codes returned, see Status codes and user-defined properties.
CSM_Limit_RJCT_RMT 750 The amount limit for a remittance advice request(RMT) that controls the return code that is used in the status report response (accept or reject). For more information about the codes returned, see Status codes and user-defined properties.
CSM_Limit_RJCT_RFI 750 The amount limit for a request for information (RFI) request (camt.026) that controls the return code that is used in the status report response (accept or reject). For more information about the codes returned, see Status codes and user-defined properties.
CSM_Limit_RJCT_RFIR 700 The amount limit for a request for information response (RFIR) request (camt.028) that controls the return code that is used in the status report response (accept or reject). For more information about the codes returned, see Status codes and user-defined properties.
CSM_Amnt_ACWP 6.66 The value of the amount in a payment request (pacs.008), request for information request (camt.026), or request for information response request (camt.028) that is returned with Account without Posting in the status report response.

For more information about the codes returned, see Status codes and user-defined properties.

CSM_Amnt_RetOfFunds 7.77 The value of the amount in a payment request (pacs.008) for which a request for return of funds (camt.056) is generated after a final status report was sent. It uses the latency that is defined in CSM_AddtlLtcy to wait until the request return of funds request is sent.
This amount is compared to the pacs.002 field in the status report that is sent to the simulator.
FIToFIPmtStsRpt
+TxInfAndSts
++OrgnlTxRef
+++IntrBkSttlmAmt
CSM_Amnt_RJCT_PmtStsRq 8.88 The value of the amount in a payment status request (pacs.028) that controls the return code that is used in the status report response (accept or reject).
CSM_LimitRFPAccept 10 The amount limit for a request for payment (RFP) request (pain.013) that controls the return code that is used in the status report response (accept or reject). For more information about the codes returned, see Status codes and user-defined properties.
CSM_AssgnrAgt_RJCT_ROF 021200296 This property controls the response for the request for funds request. The simulator sends a pacs.002 reject when the ID of the assigner is equal to the value of this property.
camt.056:
RsltnOfInvstgtn
+Assgnmt
++Assignr
+++Agt
++++FinInstnId
+++++ClrSysMmbId
++++++MmbId
CSM_AssgnrAgt_RJCT_RROF 020010088 This property controls the response for the request for funds response request. The simulator sends a pacs.002 reject when the ID of the assignee is equal to the value of this property.
camt.029:
RsltnOfInvstgtn
+Assgnmt
++Assigne
+++Agt
++++FinInstnId
+++++ClrSysMmbId
++++++MmbId
CSM_CrdtAgt_RJCT_RFPR 020010087 This property controls the response for the payment return response request. The simulator sends a pacs.002 reject when the creditor agent ID is equal to the value of this property.
pain.014:
CdtrPmtActvtnReqStsRpt
+OrgnlPmtInfAndSts
++OrgnlTxRef
+++CdtrAgt
++++FinInstnId
+++++ClrSysMmbId
++++++MmbId
CSM_PACKRjct_Name PACK.RJCT This property controls the response for the payment acknowledgment request. The simulator sends a pacs.002 reject when the case creator name contains the specified string.
camt.035:
PrtryFrmtInvstgtn
+Case
++Cretr
+++Pty
++++Nm
CSM_InstgAgtRptRspAddLtcy 021200289 This property works the same as the CSM_InstgAgtRptRsp property, but it delays the timeout processing. More latency is added to the timeout counter to avoid cancellation during repeat processing.
CSM_UpdateTimestamps FALSE Updates timestamps to current local time in messages that are received by the CSM simulator on the REQUEST.TO.CSM.EXTERNAL queue.
CSM_Latency 100 Simulates the latency. This property is specified in milliseconds. For more information, see Latency processing.
CSM_FixedLatencyMode TRUE Indicates whether the latency is added independently of the IBM MQ wait time. For more information, see Latency processing.
CSM_InstgAgtToAddLtcy 021200297 For inbound payment scenarios, more latency is added when the specified value corresponds to the MmbId of the DbtrAgt.
CSM_InstgAgtToAddLtcy is compared to the pacs008 field in the payment request.
FIToFICstmrCdtTrf
+CdtTrfTxInf
++DbtrAgt
+++FinInstnId
++++ClrSysMmbId
+++++MmbId
CSM_AddtlLtcy 6000 The amount of latency to add for CSM_InstgAgtRptRspAddLtcy and CSM_InstgAgtToAddLtcy.
ApplicationName FTM IP TCH Application Configurable application name.
CSM_RejectRetries 0 The configuration for reject retries.
CSM_RJCT_ReasonCode AM13 The reject reason code.