camt.057.001.06 mapper

The camt.057 (camt.057.001.06) mappers are used by T2 for sending an advance notice that the account servicing institution will receive funds to be credited to the account owner's account.

Overview

The camt.057 mappers are a pair of inbound and outbound mappers.
camt.057 inbound mapper
This mapper maps the NtfctnToRcv messages to ISF messages. The default mapper name is Camt057ToISFMapper.
camt.057 outbound mapper
This mapper maps the ISF messages to NtfctnToRcv messages. The default mapper name is ISFToCamt057Mapper.

The details of the mapping specification for these mappers are in separate documentation that is included in the documentation fix pack for High Value Payments. For more information about getting the documentation fix pack, see FTM support links for High Value Payments.

The inbound and outbound camt.057 mappers can also be used along with the High Value Payments business application header mapper or the ISO message router mapper. For more information, see High Value Payments business application header mapper and ISO message router mapper.

Inbound mapper

The CONFIG=entry channel parameter is required for the inbound mapper. The mapper uses this parameter to locate the <msgTypeCfg> entry with a <type> child element that contains camt.057.* in the value table. The <msgTypeCfg> entry contains the configuration parameters for the inbound mapper.

For example, the default Message From Target2 channel is configured with a CONFIG=HVP_MAP_CFG_MSG_FROM_TARGET2 parameter. When a camt.057.001.06 message is received, the mapper searches the value table to find the <msgTypeCfg> entry to use for the message. It searches for a value table entry that meets the following conditions.
  • The category is HVP_MAP_CFG_MSG_FROM_TARGET2.
  • The <msgTypeCfg> entry has a <type> child element with the value of camt.057.*.

If the <msgTypeCfg> entry cannot be found, the mapper causes an exception to report a subType not found error.

The default <msgTypeCfg> entry for HVP_MAP_CFG_MSG_FROM_TARGET2 is shown in the following example.
<msgTypeCfg>
   <class>CAMT057</class>
   <subType>HVP_FROM_CSM_GEN_NOTIF_TO_RCV</subType>
   <extendedCfg>
      <name>MASTER_FLAG</name>
      <value>Y</value>
   </extendedCfg>
   <extendedCfg>
      <name>MAP_FOR_HVP</name>
      <value>Y</value>
   </extendedCfg>
   <pt>
      <class>CAMT057</class>
      <subType>HVP_FROM_CSM_GEN_NOTIF_TO_RCV</subType>
   </pt>
   <mapName>Camt057ToISFMapper</mapName>
   <type>camt.057.*</type>
</msgTypeCfg>
The following table shows the default configuration parameters for channels that use the camt.057 inbound mapper.
Table 1. Default configuration parameters for channels that use the camt.057 inbound mapper
Category Class SubType MASTER_FLAG Pt.class Pt.subType
HVP_MAP_CFG_MSG_FROM_TARGET2 CAMT057 HVP_FROM_CSM_GEN_NOTIF_TO_RCV Y CAMT057 HVP_FROM_CSM_GEN_NOTIF_TO_RCV
The following elements can have data present either at the notification level or the item level, and these elements follow a common rule:
  • Debtor
  • DebtorAgent
  • IntermediaryAgent
  • AccountOwner
  • AccountServicer
  • ExpectedValueDate
  • Account
  • RelatedAccount

The mapper needs to use a batch structure and create an end mapper document. Each notification level item has a separate transaction within the batch. The number of transactions that are created within the batch are equal to the total number of items under notification in the camt.057 message. The camt.057 message must have at least one notification level item. Therefore, the end mapper has at least one transaction record.

During inbound mapping, priority is given to the data at item level over notification level. Data is always checked for at the item level first. If data is present at the item level, then data at the notification level (if present), is ignored. The data is checked at the notification level when data is not available at the item level.
Note: If the inbound camt.057 message has only one item, it can be either a single transaction or a batch, which is driven through a configuration value. If there is more than one item, it takes the batch approach by default.
The inbound mapper handles the datetime elements by using the following rules.
  • If a time zone offset is included in the datetime value, the datetime value is mapped to ISF with the UTC time zone.
  • If a time zone offset is not included in a datetime value, the following rules are used.
    • If the time zone is configured in the Channel table, the input datetime value is recognized in the format of the channel time zone. It is mapped to ISF with the UTC time zone.
    • If the time zone is not configured in the Channel table, the input datetime value is recognized in the format of the local time zone where the mapper is running. The input datetime is mapped to ISF with the UTC time zone.

Outbound mapper

The CONFIG=entry channel parameter is required for the outbound mapper. The mapper uses this parameter to locate the <msgTypeCfg> entry with a <subType> child element that contains the same value as the ISF business concept. The <msgTypeCfg> entry contains the configuration parameters for the outbound mapper.

When the outbound mapper is used along with the T2 message router mapper or ISO message router mapper, it uses a different method to find the <msgTypeCfg> entry in the value table. The mapper uses the setting that is stored in Environment.PMP.Variables.Rules.*[1].MAP_CONFIG instead of the configuration channel parameter to find the <msgTypeCfg> entry. For more information, see ISO message router mapper.

For example, the default Message To Target2 channel is configured with a CONFIG=HVP_MAP_CFG_MSG_TO_TARGET2 parameter. When an ISF message is received, the mapper searches the value table to find the <msgTypeCfg> entry to use for the message. It searches for a value table entry that meets the following conditions.
  • The category is one of the following values.
    • The value from the Environment.PMP.Variables.Rules.*[1].MAP_CONFIG parameter, if the parameter is available.
    • HVP_MAP_CFG_MSG_TO_TARGET2 is used when the Environment.PMP.Variables.Rules.*[1].MAP_CONFIG parameter is not available.
  • The <msgTypeCfg> entry has a <subType> child element with a value that is the same as the ISF business concept.

If the <msgTypeCfg> entry cannot be found, the mapper causes an exception to report a subType not found error.

The default <msgTypeCfg> entry for HVP_MAP_CFG_MSG_TO_TARGET2 is shown in the following example.
<msgTypeCfg>
   <class>CAMT057</class>
   <subType>HVP_TO_CSM_GEN_NOTIF_TO_RCV</subType>
   <extendedCfg>
      <name>MASTER_FLAG</name>
      <value>N</value>
   </extendedCfg>
   <extendedCfg>
      <name>MAP_FOR_HVP</name>
      <value>Y</value>
   </extendedCfg>
   <pt>
      <class>CAMT057</class>
      <subType>HVP_TO_CSM_GEN_NOTIF_TO_RCV</subType>
   </pt>
   <mapName>ISFToCamt057Mapper</mapName>
   <type>camt.057.001.06</type>
</msgTypeCfg>
The following table shows the values from the <msgTypeCfg> entry that are used as configuration parameters by the outbound mapper.
Table 2. Values from <msgTypeCfg> that are used as configuration parameters by the outbound mapper
Element Description
<extendedCfg> element that has a <name> child element with the value MAP_FOR_HVP. The value from the associated <value> child element indicates whether the map is for High Value Payments.
<type> The value from this element is used as the namespace of the output camt.057 message. For T2, the value must be camt.057.001.06.
The following table shows the default configuration parameters for the channels that use the camt.057 outbound mapper.
Table 3. Default configuration parameters for channels that use the camt.057 outbound mapper
Category Class SubType Type
HVP_MAP_CFG_MSG_TO_TARGET2 CAMT057 HVP_TO_CSM_GEN_NOTIF_TO_RCV camt.057.001.06
The outbound mapper must refer to a mapper configuration, which is a common configuration for the following group of elements. This configuration determines whether to populate the data for these elements at the notification level or the item level.
  • Debtor
  • DebtorAgent
  • IntermediaryAgent
  • AccountOwner
  • AccountServicer
  • ExpectedValueDate
  • Account
  • RelatedAccount

If the configuration indicates that the data needs to be populated at the item level, then the data is sent at the item level. If the configuration indicates that the data needs to be populated at the notification level, then the data is populated for all of the elements from the first transaction that is mapped.

If any of the subsequent transactions have a different value, then the map fails, as values must be the same if the configuration populated the data at the notification level.
Note: The default behavior when outbound configuration is absent, is to populate data at the item level. The data is populated to the item level even when the configuration value is different from either Notification or Ntfctn. The configuration value is not case-sensitive.
The following table describes the rules and their configuration values.
Table 4. Mapping rules for the camt.057 outbound mapper
Field name Outbound mapping rules ISF field path Target paths
Debtor
IF MAP_VALUES_LEVEL='Item'
  • map ISF to target path 1
ELSE IF MAP_VALUES_LEVEL = 'Notification' or 'Ntfctn'
  • map ISF to target path 2
isf:AccountReport/Account/Entry[xsi:type=isf:ISFReportCashEntry]/EntryDetails/RelatedPayment[xsi:type=isf:ISFPayment]/PartyRole[xsi:type=isf:DebtorRole]/... Path 1: NtfctnToRcv/Ntfctn/Itm/Dbtr/...
Path 2: NtfctnToRcv/Ntfctn/Dbtr/...
DebtorAgent
IF MAP_VALUES_LEVEL='Item'
  • map ISF to target path 1
ELSE IF MAP_VALUES_LEVEL = 'Notification' or 'Ntfctn'
  • map ISF to target path 2
isf:AccountReport/Account/Entry[xsi:type=isf:ISFReportCashEntry]/EntryDetails/RelatedPayment[xsi:type=isf:ISFPayment]/PartyRole[xsi:type=isf:DebtorAgentRole]/... Path 1: NtfctnToRcv/Ntfctn/Itm/DbtrAgt/...
Path 2: NtfctnToRcv/Ntfctn/DbtrAgt/...
IntermediaryAgent
IF MAP_VALUES_LEVEL='Item'
  • map ISF to target path 1
ELSE IF MAP_VALUES_LEVEL = 'Notification' or 'Ntfctn'
  • map ISF to target path 2
isf:AccountReport/Account/Entry[xsi:type=isf:ISFReportCashEntry]/EntryDetails/RelatedPayment[xsi:type=isf:ISFPayment]/PartyRole[xsi:type=isf:IntermediaryAgentRole]/... Path 1: NtfctnToRcv/Ntfctn/Itm/IntrmyAgt/...
Path 2: NtfctnToRcv/Ntfctn/IntrmyAgt/...
AccountOwner
IF MAP_VALUES_LEVEL='Item'
  • map ISF to target path 1
ELSE IF MAP_VALUES_LEVEL = 'Notification' or 'Ntfctn'
  • map ISF to target path 2
isf:AccountReport/Account/PartyRole[xsi:type=isf:AccountOwnerRole]/... Path 1: NtfctnToRcv/Ntfctn/Itm/AcctOwnr/...
Path 2: NtfctnToRcv/Ntfctn/AcctOwnr/...
AccountServicer
IF MAP_VALUES_LEVEL='Item'
  • map ISF to target path 1
ELSE IF MAP_VALUES_LEVEL = 'Notification' or 'Ntfctn'
  • map ISF to target path 2
isf:AccountReport/Account/PartyRole[xsi:type=isf:AccountServicerRole]/... Path 1: NtfctnToRcv/Ntfctn/Itm/AcctSvcr/...
Path 2: NtfctnToRcv/Ntfctn/AcctSvcr/...
ExpectedValueDate
IF MAP_VALUES_LEVEL='Item'
  • map ISF to target path 1
ELSE IF MAP_VALUES_LEVEL = 'Notification' or 'Ntfctn'
  • map ISF to target path 2
isf:AccountReport/Account/Entry[xsi:type=isf:ISFReportCashEntry]/ValueDate Path 1: NtfctnToRcv/Ntfctn/Itm/XpctdValDt
Path 2: NtfctnToRcv/Ntfctn/XpctdValDt
Account
IF MAP_VALUES_LEVEL='Item'
  • map ISF to target path 1
ELSE IF MAP_VALUES_LEVEL = 'Notification' or 'Ntfctn'
  • map ISF to target path 2
isf:AccountReport/Account/... Path 1: NtfctnToRcv/Ntfctn/Itm/Acct/...
Path 2: NtfctnToRcv/Ntfctn/Acct/...
RelatedAccount
IF MAP_VALUES_LEVEL='Item'
  • map ISF to target path 1
ELSE IF MAP_VALUES_LEVEL = 'Notification' or 'Ntfctn'
  • map ISF to target path 2
isf:AccountReport/RelatedAccount/... Path 1: NtfctnToRcv/Ntfctn/Itm/RltdAcct/...
Path 2: NtfctnToRcv/Ntfctn/RltdAcct/...
The outbound mapper handles the datetime elements by using the following rules.
  • If the time zone is configured in the Channel table, the input datetime value is mapped from the UTC time zone to the format of the channel time zone.
  • If the time zone is not configured in the Channel table, the local time zone where the mapper is running is used. The input datetime value is mapped from the UTC time zone to the format of the local time zone.
The outbound mapper uses the TS_INCLUDE_OFFSET channel parameter to control whether the time zone offset is included in the output datetime values.
  • If TS_INCLUDE_OFFSET is set to Y, the time zone offset is included in the output datetime values.
  • If TS_INCLUDE_OFFSET is set to N or not configured, the time zone offset is not included in the output datetime values.