2.7.5 Swift Report Pagination

This topic provides information on swift report pagination.

As per ISO20022 standards, Swift allows only 100,000 characters per message. If message contains more than 100,000 characters it is creating a performance issue. To overcome this issue as part of Swift message maintenance, 3 fields, namely, Split required, Repeated Tag, and Maximum Length Allowed will be parameterized. The default value for Split required field will be No.

The repeated tag for Custody Statement of Holdings V02 is < BalForSubAcct>.

The repeated tag for Accounting Statement of Holdings V02 (unit holder based) is <BalForAcct>.

The repeated tag for Statement of Investment Fund Transaction V02 is <TxOnSubAcct>.

The repeated tag for Price Reprot V04 is <PriceValtnDtls>.

The value of parameters will be maintained in the SWIFTMAINTENANCETBL as follows:

Table 2-8 SWIFT Report

SWIFT Report Message Code Split Required? Repeated Tag in XML Maximu m Length allowed
AccountingStatementOfHoldingsV02 (Unitholder Based) semt.003.0 01.02 Yes < BalForAcct> 100000
CustodyStatementOf- HoldingsV02 semt.002.0 01.02 Yes < BalForSubAcct> 100000
StatementOfInvestmentFundTransactionV03 semt.006.0 01.03 Yes < TxOnSubAcct> 100000
PriceReportV04 reda.001.00 1.04 Yes <PricValtnDtls> 100000

Initially, the system will check the length of the entire message which includes the count of characters in Header section, Footer section and Message body. If the length is less than 100,000 characters, then system will skip the entire process and proceed for message generation.

In case if the length of the message exceeds the 100,000 characters, then based on each tag (< BalForAcct> in case of Accounting Statement of Holdings V02), it will accommodate up to 100,000 characters and rest will be stored in different message. The system will repeat the above process until report is generated.

The system will generate a unique message ID number <MsgId> for each split message. The tag <PgNb>Page No</PgNb> of the first message will be 1 and it will be incremented by 1 for other messages.

The value of the tag <LastPgInd>value</LastPgInd> of the last message will be True and all other messages will be False.

The complete block of the tag will be present in the message and will not get split over to the next message. In case, if report pertaining to one fund is not sufficient to store in the first message itself, then message will not get generated.

For instance, in case of Accounting Statement of Holdings V02 if the message is exceeding the 100,000 characters and based on CIF, if the message can be accommodated in the 1st Message is up to 99,850 characters, then the system will start placing the message information in the 2nd message with Header, Footer and Message body of message. Similarly if in the 2nd message also exceeds 100,000 characters, then it will start placing the remaining message information in 3rd message and so on.

The system will check the Header, Footer and Message body section for each and every split before generating the message.