Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Expand
titleContents

Table of Contents
indent15px
stylenone

ISO20022 represents financial message standards used in communication between financial institutions, their clients and the domestic or international market infrastructures involved in the processing of financial transactions.
ISO20022Validator is a component to validate message structure and data of ISO20022 standard compliant XML messages.

Configuration and Testing

Component Configuration


Figure 1: ISO20022Validator Configuration

Attributes

Message Type: Select message type of the incoming message which needs to be validated according to ISO20022 message standard. Message types that are supported by the component include the following:

  • Category - Cash Management
    • camt.052.001.02 - BankToCustomerAccountReportV02
    • camt.053.001.02 - BankToCustomerStatementV02
  • Category - Payments Clearing and Settlement
    • pacs.008.001.03 - FIToFICustomerCreditTransferV03
    • pacs.009.001.03 FinancialInstitutionCreditTransferV03


Figure 2: ISO20022 Message Type

Testing

Validation

ISO20022Validator does two kinds of validation:

  • Schema Validation: The component first validates the incoming XML message against respective schemas defined by ISO20022. These schemas are bundled with the installer and are present in %FIORANO_HOME%\xml-catalog\fiorano\swift\iso20022.
  • Data Validation: Validation is performed on the data according to Rules and Guidelines defined in Message Definition Report, also issued by ISO20022.

Input and Output

Sample Input

An XML instance of message type camt.052.001.02

Code Block
languagexml
 <?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.052.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <BkToCstmrAcctRpt>
      <GrpHdr>
         <MsgId>AAAASESS-FP-ACCR001</MsgId>
         <CreDtTm>2010-10-18T12:30:00+01:00</CreDtTm>
         <MsgPgntn>
            <PgNb>1</PgNb>
            <LastPgInd>true</LastPgInd>
         </MsgPgntn>
      </GrpHdr>
      <Rpt>
         <Id>AAAASESS-FP-ACCR001</Id>
         <CreDtTm>2010-10-18T12:30:00+01:00</CreDtTm>
         <FrToDt>
            <FrDtTm>2010-10-18T08:00:00+01:00</FrDtTm>
            <ToDtTm>2010-10-18T12:30:00+01:00</ToDtTm>
         </FrToDt>
         <Acct>
            <Id>
               <Othr>
                  <Id>50000000054910000003</Id>
               </Othr>
            </Id>
            <Ownr>
               <Nm>FINPETROL</Nm>
            </Ownr>
            <Svcr>
               <FinInstnId>
                  <Nm>AAAA BANKEN</Nm>
                  <PstlAdr>
                     <Ctry>SE</Ctry>
                  </PstlAdr>
               </FinInstnId>
            </Svcr>
         </Acct>
         <Ntry>
            <Amt Ccy="SEK">200000</Amt>
            <CdtDbtInd>DBIT</CdtDbtInd>
            <Sts>BOOK</Sts>
            <BookgDt>
               <DtTm>2010-10-18T10:15:00+01:00</DtTm>
            </BookgDt>
            <ValDt>
               <Dt>2010-10-18</Dt>
            </ValDt>
            <AcctSvcrRef>AAAASESS-FP-ACCR-01</AcctSvcrRef>
            <BkTxCd>
               <Domn>
                  <Cd>PAYM</Cd>
                  <Fmly>
                     <Cd>0001</Cd>
                     <SubFmlyCd>0003</SubFmlyCd>
                  </Fmly>
               </Domn>
            </BkTxCd>
            <NtryDtls>
               <Btch>
                  <MsgId>FINP-0055</MsgId>
                  <PmtInfId>FINP-0055-001</PmtInfId>
                  <NbOfTxs>20</NbOfTxs>
               </Btch>
            </NtryDtls>
         </Ntry>
         <Ntry>
            <Amt Ccy="SEK">30000</Amt>
            <CdtDbtInd>CRDT</CdtDbtInd>
            <Sts>PDNG</Sts>
            <ValDt>
               <Dt>2010-10-18</Dt>
            </ValDt>
            <AcctSvcrRef>AAAASESS-FP-CONF-FX</AcctSvcrRef>
            <BkTxCd>
               <Domn>
                  <Cd>TREA</Cd>
                  <Fmly>
                     <Cd>0002</Cd>
                     <SubFmlyCd>0000</SubFmlyCd>
                  </Fmly>
               </Domn>
            </BkTxCd>
            <NtryDtls>
               <TxDtls>
                  <Refs>
                     <InstrId>FP-004567-FX</InstrId>
                     <EndToEndId>AAAASS1085FINPSS</EndToEndId>
                  </Refs>
                  <AmtDtls>
                     <CntrValAmt>
                        <Amt Ccy="EUR">3255</Amt>
                        <CcyXchg>
                           <SrcCcy>EUR</SrcCcy>
                           <XchgRate>0.185</XchgRate>
                        </CcyXchg>
                     </CntrValAmt>
                  </AmtDtls>
               </TxDtls>
            </NtryDtls>
         </Ntry>
      </Rpt>
   </BkToCstmrAcctRpt>
</Document>

Output

Output of the component is same as the input, if the incoming message passes all of the validation criteria.
An exception message with a reason for failure of validation is sent on the ON_EXCEPTION port if the validation fails.

Adaptavist ThemeBuilder EngineAtlassian Confluence