Skip Navigation Links | |
Exit Print View | |
Oracle Java CAPS SWIFT Message Library User's Guide Java CAPS Documentation |
Overview of SWIFT Message Libraries
Installing the SWIFT Message Library
To Increase the Heap Size for GlassFish
To Increase the Heap Size for NetBeans
Using the SWIFT Message Library
Message Library and Collaboration Locations in NetBeans
SWIFT Message Library JAR Files
Using Message Validation Features
Validation Collaboration Definitions
In Collaboration Validation Methods
Calling the Validation Methods in your Collaboration
About the SWIFT MX Validation Sample
SWIFT Correlation Repository Sample
Linking the Domain Name and Direction to a Color
Using the SCR for Monitoring Flows
Using the Viewer for Monitoring Transactions
Using the Viewer to Repair Messages
BICDirService Method Operation
To Update BICPlusBAN Information
BICPlusIBAN Validation Method Definitions
Parse Debug Level Message Example
Using SWIFT FIN-Based Funds OTDs
SWIFT Message Library Funds Features
Validation Collaborations are provided for specific SWIFT Message types and their corresponding OTDs in the library. For a complete list of validation Collaborations, see Validation Collaborations.
The MFVR support for the SWIFT Message Library is a set of functions collectively known as the message format validation rules methods. These functions accurately test the semantic validity of a given subset of the SWIFT messages. Validation is performed according to standards provided in SWIFT’s publication, the Message Format Validation Rules Guide (current version).
There is one validation method for each MFVR message type and its corresponding OTD. Each method is called on a particular OTD and is used to validate the data of a given instance of that message type. Because business practices vary greatly between organizations, these functions can be modified as needed.
For examples of how the MFVR validation process works, you can import the sample validation Projects. For details, see SWIFT Projects.
SWIFT’s MFVR validation rules are known as semantic verification rules (SVRs) or semantic rules, as opposed to the syntactic rules, which verify the syntax of the fields only. Syntactic verification is built into each OTD.
SWIFT defines a total of 299 SVRs that are validated by the FIN network engine. SWIFT Alliance Access or IBM’s Merva products do not implement these rules, mainly because there is no functional model, and the implementation work is mostly manual. Each message type has to be validated against a subset of these rules.
In addition this set of 299 SVRs, SWIFT has defined a new series of rules to help enable straight-through processing (STP) in the securities industry. The OTD methods that validate for MFVR compliance also validate for compliance with STP rules.
The MFVR methods adhere to SWIFT’s current Message Format Validation Rules Guide, including those in any updates section in the back of the manual. The methods implement all of the “special functions” as defined in the guide, which are required by the validation rules.
The SVR methods also implement the semantic validation functions used in the validation functions, as defined by the current Message Format Validation Rules Guide.
Using this semantic validation, Java CAPS can verify the contents of each message before it is sent into the FIN network, saving time and usage fees.
MFVR errors result from the application of the Semantic Validation Rules. Multiple errors are possible, and they are given in the order in which they occurred and with the sequences, fields, or subfields used to determine them.
For example, an MFVR failure on a 535 Collaboration OTD appears as follows:
MFVR MT535 Error SVR Rule 103 - Error code: D031001 = Since field :94a:: is present in Sequence B, then fields :93B::AGGR and :94a::SAFE are not allowed in any occurrence of Subsequence B1a.mt_535.Mt_535.Data[1]. SubSafekeepingAccount mt_535.Mt_535.Data[1].SubSafekeepingAccount[0]. SubSeqB1[0].SubSeqB1a.Balance SVR Rule 104 - Error code: D04-1001 = Since field :93B:: AGGR is present in Subsequence B1a,then :field 94a::SAFE must be present in the same Subsequence B1a. mt_535.Mt_535.Data[1].SubSafekeepingAccount[0].SubSeqB1[0]. SubSeqB1a.Balance
For more information on error messages, see Error Message Information.