Log Only Mapper (LogOnlyMsgToISF)
Overview
The Log Only Mapper is a generic inbound mapper that uses the values defined in the configuration parameters of <msgTypeCfg> entry to map the incoming message to an ISF message with an empty Wrapper element (containing no business logic), to be processed no further once logged. If the received message is not BLOB and the 'include source data' configuration value is yes (default), then the original message will be included in the ISF Addenda element.
The Log Only Mapper can also be used in conjunction with a wrapper subflow (such as the ISOMessageRouterInbound, TCHMessageMapperInbound or ReportMessageRouterInbound subflow). Refer to TCH / SCT Inst Wrapper Mapper, TCH Business Application Header Mapper and (SCTInst ) EBA Report Message Routerfor more information.
Log Only Mapping involves making a record of and logging an incoming transaction, based on the transaction subtype, without processing it further. Once a designated Log Only Message has undergone an initial mapping, the Log Only Transaction FSM will process and log the transaction, before transitioning to a completed state. Initial message mapping can be performed by any standard mapper, and a Log Only Mapper is included for message types that do not already have a specific corresponding mapper.
In TCH, admi.004 messages will be routed by the TCHMessageMapperInbound subflow to the admi.004 mapper and once mapping has finished, certain admi.004 transactions will then be picked up by the Log Only Message FSM, depending on the event code contained in the admi.004 message.
Also in TCH, admn.008 messages will be routed by the TCHMessageMapperInbound subflow to the admn.008 mapper and once mapping has finished, the transaction will be picked up by the Log Only Message FSM.
In SCTInst, EBA Report messages will be routed by the ReportMessageRouterInbound subflow to the Log Only Mapper, following which the EBA Report transactions will be picked up by the Log Only Message FSM.
LogOnlyMsgToISFMapper
When a incoming message is received, the Message type is determined by checking if it has been stored in an environment value has been set by a preceding wrapper, otherwise the FIELDNAMESPACE function is used to determine message type.
The CONFIG=entry in Channel parameter is required for the Log Only 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 needed by inbound mapper, namely SUBTYPE, CLASS and MASTER_FLAG, and optionally, the 'include source data' value.
A message that is to be processed as a Log Only Message also requires a corresponding entry in the configuration table under the 'IP_TXN_SUBTYPE_ALIAS_LOG_OLNY' category, where Key is the subtype of the message, and the configuration value is 'IN_LOG_ONLY'.
As a hypothetical example, you could process an incoming pacs.008 message as a Log Only Transaction, using the Log Only Mapper, with the following configuration:
'Request From Channel' channel configured with CONFIG=IP_MAP_CFG_REQ_FROM_CHAN parameter, and Mapper = LogOnlyMsgToISFMapper.
A corresponding value table entry for Category = 'IP_TXN_SUBTYPE_ALIAS_LOG_OLNY', where Key = 'IP_FROM_DEBTOR', and Value = 'IN_LOG_ONLY'.
A corresponding value table entry for Category = 'IP_MAP_CFG_REQ_FROM_CHAN' where Key = 'msgTypeCfg_pacs.008' and Value similar to this:
<msgTypeCfg>
<class>PACS008</class>
<subType>IP_FROM_DBTR_INSTR</subType>
<extendedCfg>
<name>MASTER_FLAG</name>
<value>Y</value>
</extendedCfg>
<extendedCfg>
<name>IncludeSourceData</name>
<value>Y</value>
</extendedCfg>
<pt>
<class>PACS008</class>
<subType>IP_FROM_DBTR_INSTR</subType>
</pt>
<mapName>LogOnlyMsgToISFMapper</mapName>
<type>pacs.008.001.02</type>
</msgTypeCfg>
The resulting ISF would consist of an empty Wrapper element, and an addenda containing the original the message and the message type.
<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_DBTR_INSTR</BusinessConcept>
</Header>
<isf:Wrapper/>
<Addenda xmlns:isfa="http://www.ibm.com/xmlns/prod/ftm/isf/v3/Addenda">
<SourceData>
<MessageType>pacs.008.001.02</MessageType>
<MessageData>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02">
<FIToFICstmrCdtTrf>
.
. (body of original pacs.008 message)
.
</FIToFICstmrCdtTrf>
</Document>
</MessageData>
</SourceData>
</Addenda>
</isf:ISFMessage>