Unsupported Message Mapper
The Unsupported Message Mapper is used to handle the incoming messages that are not supported in FTM for Immediate Payments.
Overview
The unsupported message mapper is a generic inbound mapper that is used for the message types not supported in FTM for Immediate Payments. The unsupported message mapper uses the values defined in the configuration parameters of <msgTypeCfg> entry to map the incoming message to an ISF message.
The unsupported message mapper can also be used in conjunction with the Wrapper mapper, or the Business Application Header mapper. Refer to TCH Wrapper Mapper and TCH Business Application Header Mapper for more information.
UnspMsgToISFMapper
The CONFIG=entry in Channel parameter is required for inbound mapper. The mapper uses the setting to locate <msgTypeCfg> entry in Value table with child element <Type> containing the message type of the incoming message. The <msgTypeCfg> contains the configuration parameters for the inbound mapper.
- In Value table, the value of Category is IP_MAP_CFG_REQ_FROM_CSM.
- In msgTypeCfg entry, the value of Type is remt.001.001.XX.
<msgTypeCfg>
<class>REMT001</class>
<subType>IP_FROM_CSM_UNSP_MSG</subType>
<extendedCfg>
<name>MASTER_FLAG</name>
<value>Y</value>
</extendedCfg>
<extendedCfg>
<name>Sender</name>
<value>{RmtAdvc/GrpHdr/InitgPty/Id/OrgId/Othr/Id}</value>
</extendedCfg>
<extendedCfg>
<name>Receiver</name>
<value>{RmtAdvc/GrpHdr/MsgRcpt/Id/OrgId/Othr/Id}</value>
</extendedCfg>
<extendedCfg>
<name>CreationDateTime</name>
<value>{RmtAdvc/GrpHdr/CreDtTm}</value>
</extendedCfg>
<extendedCfg>
<name>MessageIdentification</name>
<value>{RmtAdvc/GrpHdr/MsgId}</value>
</extendedCfg>
<extendedCfg>
<name>InstructionIdentification</name>
<value>{RmtAdvc/RmtInf/OrgnlPmtInf/Refs/InstrId}</value>
</extendedCfg>
<extendedCfg>
<name>TransactionIdentification</name>
<value>{RmtAdvc/RmtInf/OrgnlPmtInf/Refs/TxId}</value>
</extendedCfg>
<extendedCfg>
<name>InterbankSettlementAmount</name>
<value>{RmtAdvc/RmtInf/OrgnlPmtInf/Amt/InstdAmt}</value>
</extendedCfg>
<extendedCfg>
<name>Currency</name>
<value>{RmtAdvc/RmtInf/OrgnlPmtInf/Amt/InstdAmt/Ccy}</value>
</extendedCfg>
<extendedCfg>
<name>Status</name>
<value>RJCT</value>
</extendedCfg>
<extendedCfg>
<name>ReasonCode</name>
<value>NARR</value>
</extendedCfg>
<pt>
<class>REMT001</class>
<subType>IP_FROM_CSM_UNSP_MSG</subType>
</pt>
<mapName>UnspMsgToISFMapper</mapName>
<type>remt.001.001.XX</type>
</msgTypeCfg>
- <class> - value for TXN_PAYMENT_V.OBJ_CLASS
- <subType> - value for TXN_PAYMENT_V.SUBTYPE and ISFMessage/Header/BusinessConcept
- <pt>.<class> - value for TRANSMISSION_V.OBJ_CLASS
- <pt>.<subType> - value for TRANSMISSION_V.SUBTYPE
- <type> - value for ISFMessage/Header/MessageName
- <extendedCfg> - the <extendedCfg> entries contain <name>/<value> pairs that are used as follows:
- <name> - Each name represents a predefined ISF path that the <value> in the <name>/<value>
pair is populated to. Table 1 shows the predefined names in the inbound mapper, and the corresponding ISF
paths and Database columns that the values are mapped to. The Mandatory column in the table indicates if the
<name>/<value> pair is mandatory in the <msgTypeCfg> entry.
Table 1. Predefined elements and ISF paths in UnspMsgMap mapper Name ISF path Database Mandatory Description Sender ISFMessage/Header/Sender TXN_PAYMENT_V.SENDER
TRANSMISSION_V.SENDERY Creditor/Debtor FI identification Receiver ISFMessage/Header/Receiver TXN_PAYMENT_V.RECEIVER
TRANSMISSION_V.RECEIVERY Debtor/Creditor FI identification MessageIdentification ISFMessage/Wrapper/MessageIdentification TXN_PAYMENT_V.CID
TRANSMISSION_V.CIDY Message Identification CreationDateTime ISFMessage/Wrapper/CreationDateTime Y Creation Date Time Note: the value is mapped to ISF with UTC timezone.InstructionIdentification ISFMessage/Wrapper/InstructionIdentification N Instruction Identification TransactionIdentification ISFMessage/Wrapper/TransactionIdentification N Transaction Identification InterbankSettlementAmount ISFMessage/Wrapper/InterbankSettlementAmount N Interbank Settlement Amount Currency ISFMessage/Wrapper/Currency N Currency of the InterbankSettlemnt Amount InterbankSettlementDate ISFMessage/Wrapper/InterbankSettlementDate N Interbank Settlement Date Status ISFMessage/Wrapper/Status N Transaction Status ReasonCode ISFMessage/Wrapper/ReasonCode N Status Reason MASTER_FLAG TXN_PAYMENT_V.MASTER_FLAG
TRANSMISSION_V.MASTER_FLAGY Master Transaction/Transmission - <value> - the value mapped to the <name> element in ISF. The value in the <value> can be
- a path - the inbound mapper retrieves the value of the path from the incoming message, and maps the value
to the ISF path for the <name> element. Note: The <value> must be enclosed in braces when the value is a path.For example, with the following entry, the mapper retrieves the value of CdtrPmtActvtnReq/GrpHdr/MsgId from the incoming message, and maps the value to the ISF path ISFMessage/Wrapper/MessageIdentification.
<name>MessageIdentification</name> <value>{CdtrPmtActvtnReq/GrpHdr/MsgId}</value>
- a constant - the inbound mapper maps the value to the ISF path for the <name> element.Note: The <value> cannot be enclosed in braces when the value is a constant.For example, with the following entry, the mapper maps the value 'RJCT' to the ISF path ISFMessage/Wrapper/Status.
<name>Status</name> <value>RJCT</value>
- a path - the inbound mapper retrieves the value of the path from the incoming message, and maps the value
to the ISF path for the <name> element.
- <name> - Each name represents a predefined ISF path that the <value> in the <name>/<value>
pair is populated to. Table 1 shows the predefined names in the inbound mapper, and the corresponding ISF
paths and Database columns that the values are mapped to. The Mandatory column in the table indicates if the
<name>/<value> pair is mandatory in the <msgTypeCfg> entry.
Sample Mapped Inbound Message including Addenda
<isf:ISFMessage xmlns:isf="http://www.ibm.com/xmlns/prod/ftm/isf/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<BusinessConcept>IP_FROM_CSM_UNSP_MSG</BusinessConcept>
<MessageName>remt.001.001.XX</MessageName>
<Sender>020010001</Sender>
<Receiver>021200201</Receiver>
</Header>
<isf:Wrapper>
<MessageIdentification>M20160923000000008BFF8958474250</MessageIdentification>
<CreationDateTime>2016-09-23T17:25:24.750+00:00</CreationDateTime>
<InstructionIdentification>20160923000000008BTCH7230205700</InstructionIdentification>
<Status>RJCT</Status>
<ReasonCode>NARR</ReasonCode>
</isf:Wrapper>
<Addenda xmlns:isfa="http://www.ibm.com/xmlns/prod/ftm/isf/v3/Addenda">
<isfa:TCHAppHdr>
<NS1:Fr xmlns:NS1="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">
<NS1:FIId>
<NS1:FinInstnId>
<NS1:ClrSysMmbId>
<NS1:MmbId>02211334401</NS1:MmbId>
</NS1:ClrSysMmbId>
</NS1:FinInstnId>
<NS1:BrnchId>
<NS1:Id>02120020101</NS1:Id>
</NS1:BrnchId>
</NS1:FIId>
</NS1:Fr>
<NS2:To xmlns:NS2="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">
<NS2:FIId>
<NS2:FinInstnId>
<NS2:ClrSysMmbId>
<NS2:MmbId>02001000101</NS2:MmbId>
</NS2:ClrSysMmbId>
</NS2:FinInstnId>
</NS2:FIId>
</NS2:To>
<NS3:BizMsgIdr xmlns:NS3="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">B2017100202120020101BFFF10000000000</NS3:BizMsgIdr>
<NS4:MsgDefIdr xmlns:NS4="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">remt.001.001.XX</NS4:MsgDefIdr>
<NS5:CreDt xmlns:NS5="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">2017-10-02T23:15:18</NS5:CreDt>
</isfa:TCHAppHdr>
</Addenda>
</isf:ISFMessage>