Sun Message Library for SWIFT API

com.stc.swift.validation.v2007.svr
Class SVR

java.lang.Object
  extended by com.stc.swift.validation.v2007.svr.SVR

public class SVR
extends java.lang.Object


Constructor Summary
SVR()
           
 
Method Summary
static boolean semantic_validation_rule_002(java.lang.String msgType, boolean field71GExistsFlag, java.lang.String Field71G, java.lang.String Field32A)
          For Message Type 103_STP If field 71G is present, the currency code in the fields 71G and 32A must be the same.
static boolean semantic_validation_rule_003(java.lang.String currency, java.lang.String amount)
           
static boolean semantic_validation_rule_005(java.lang.String bicType)
          The BIC must NOT be a BEI, i.e.
static boolean semantic_validation_rule_006(java.lang.String msgType, boolean field50aExistsFlag, boolean field52aExistsFlag)
          In messsage type 910, Either field 50a or field 52a, but not both, must be present.
static boolean semantic_validation_rule_024(java.lang.String msgType, boolean sequence61ExistsFlag, boolean sequence86ExistsFlag)
          For Message Type MT 940,if field 86 is present in any occurrence of the repetitive sequence, it must be preceded by a field 61.
static boolean semantic_validation_rule_027(java.lang.String msgType, java.lang.String field60a, java.lang.String field62a, java.lang.String field64, java.lang.String field65)
          The first two characters of the three character currency code in fields 60F and M, 62F and M, 64, 65 and 90D and C, in MT 940,950 must be the same for all occurrences of these fields.
static boolean semantic_validation_rule_032(boolean fieldExistsFlag)
          For Message Types MTs 300, 303, 304, 306, 320, 330, 340, 350, 360, 361, 362, 364, 365, 405, 553, 560, 561, 562, 563, 570, 571, 572, 573, 582, 600, 643, 645 and 813.
static boolean semantic_validation_rule_050(java.lang.String[] subSeqA136B_Qualifier, java.lang.String[][] seqE22FAndNext)
          apply to MT 540 541 542 543 If field :36B::PAIR is present in minimum one occurrence of sequence A1, then the type of settlement transaction must be a pair-off; ie, sequence E field :22F::SETR//PAIR must be present (Error code(s): C50).
static boolean semantic_validation_rule_058(java.lang.String msgType, boolean field77DExists, java.lang.String field77D)
           
static boolean semantic_validation_rule_071(java.lang.String msgType, java.lang.String[][] subSeq36BAndNext)
          MT 536 537
static boolean semantic_validation_rule_072(java.lang.String msgType, java.lang.String[][] subSeq36BAndNext)
          MT 537
static boolean semantic_validation_rule_073(java.lang.String msgType, java.lang.String[] subSeq20C)
          MT 536, 537, 544, 545, 546, 547, 548
static boolean semantic_validation_rule_074(java.lang.String msgType, java.lang.String[] subSeq20C)
          MT 537
static boolean semantic_validation_rule_081(java.lang.String msgType, boolean field56ExistsFlag, boolean field57ExistsFlag)
          For Message Types 103_STP, 202 If field 56( ) is present, field 57( ) must be present
static boolean semantic_validation_rule_103(java.lang.String msgType, boolean sequenceB94aExistsFlag, boolean field93BAGGRExistsFlag, boolean field94aSAFEExistsFlag)
          For Message Types 535 If field :94a:: is present in Sequence B, then fields :93B::AGGR and :94a::SAFE are not allowed in any occurrence of Subsequence B1a.
static boolean semantic_validation_rule_104(java.lang.String msgType, boolean field93BAGGRExistsFlag, boolean field94aSAFEExistsFlag)
           
static boolean semantic_validation_rule_105(java.lang.String msgType, boolean field93BAGGRExistsFlag, java.lang.String[] field93a)
           
static boolean semantic_validation_rule_119(java.lang.String messageType, java.lang.String emitterCountryCode, java.lang.String receiverCountryCode, boolean field57aExistsFlag, java.lang.String field57aBICCountryCode, java.lang.String accountOfField59a)
          For MT102 STP and 103 STP If in the transaction headers the country codes of both the Sender's and Receiver's BIC are present in the list D19_CC, then in each occurrence of Seq.B the following apply: If field 57A is not present, then the IBAN format (ISO-13616, refer note 1) is mandatory in subfield_1 Account of field 59a in this occurrence of Seq.B (Error code: D19).
static boolean semantic_validation_rule_149(java.lang.String msgType, java.lang.String emitterBIC, java.lang.String receiverBIC, boolean field33BExistsFlag)
          For Message Type MT103_STP, If the country codes of both the Sender's and the Receiver's BIC belong to the D49_CC list,then field 33B is mandatory, otherwise field 33B is optional
static boolean semantic_validation_rule_150(java.lang.String msgType, java.lang.String field71A, boolean field71GExists)
          For Message Type 103_STP If field 71A contains SHA, then field(s) 71F is(are) optional and field 71G is not allowed.
static boolean semantic_validation_rule_151(java.lang.String msgType, boolean field71FExistsFlag, boolean field71GExistsFlag, boolean field33BExistsFlag)
          For Message Type 103_STP If either field 71F (at least one occurrence) or field 71G is present, then field 33B is mandatory, otherwise field 33B is optional if both fields 71F and 71G are present, field 33B should not be present.
static boolean semantic_validation_rule_154(java.lang.String msgType, boolean field36, boolean field21F)
          MT 101 If field 36 is present, then field 21F must be present
static boolean semantic_validation_rule_157(java.lang.String msgType, java.lang.String amountField71G)
          For Message Types 103_STP, In field 71G, Amount must not equal ‘0’.
static boolean semantic_validation_rule_160(java.lang.String msgType, boolean field33B, java.lang.String field32B, boolean field36)
          MT 101 If field 36 is present then field 33B must be present, and vice-versa.
static boolean semantic_validation_rule_161(java.lang.String msgType, boolean field50GExists, boolean field50HExists, boolean field50FExists, boolean[] seqBfield50G, boolean[] seqBfield50H, boolean[] seqBfield50F)
          MT 101 If there is only one debit account, the ordering customer must be identified in field 50a (option G or H) in sequence A.
static boolean semantic_validation_rule_162(java.lang.String msgType, boolean field50CExists, boolean field50LExists, boolean[] seqBfield50C, boolean[] seqBfield50L)
          MT 101 Field 50a (option C or L), may be present in either sequence A (index 4), or in each occurrence of sequence B (index 14), but must not be present in both sequences A and B.
static boolean semantic_validation_rule_164(java.lang.String msgType, boolean field52AExists, boolean field52CExists, boolean[] seqBfield52A, boolean[] seqBfield52C)
          MT 101, 206.
static boolean semantic_validation_rule_165(java.lang.String msgType, boolean field56Exists, boolean field57Exists)
          In each occurence of Sequence B: IF field 56a is present then field 57a must be present {Error Code D65}.
static boolean semantic_validation_rule_166(java.lang.String msgType, java.lang.String subField1, boolean subField2Exists)
           
static boolean semantic_validation_rule_167(java.lang.String msgType, java.lang.String[] field23E, int numberOfField23E)
          When field 23E is used more than once, the following combination is not allowed REPA with CORT {Error Code D67}:
static boolean semantic_validation_rule_168(java.lang.String msgType, java.lang.String field33BCurr, java.lang.String field32BCurr)
          MT 101 For each occurrence of Sequence B, if field 33B is present in sequence B, its currency code must be different from the currency code in field 32B of the same occurrence of sequence B {Error Code D68}
static boolean semantic_validation_rule_170(java.lang.String msgType, java.lang.String field22A, boolean field21ExistsFlag)
          For Message Type 300 In Sequence A, If field 22A is "AMND" or, "CANC", then field 21 is Mandatory.
static boolean semantic_validation_rule_171(java.lang.String msgType, java.lang.String sequenceEField22F, boolean sequenceFExistsFlag, int numberOfSequenceF, java.lang.String[] field95a)
          For Message Types 541, 543 If field :22F::DBNM//VEND is present in sequence E, then it is mandatory to specify a vendor: i.e.
static boolean semantic_validation_rule_174(java.lang.String msgType, java.lang.String field94A, boolean field94AExistsFlag, boolean sequenceCExistsFlag, boolean field88aExistsFlag, boolean field71FExistsFlag)
          For Message Type 300 In sequence A, if field 94A is not present, then in sequence C field 71F is not allowed.
static boolean semantic_validation_rule_175(java.lang.String msgType, boolean field33BExistsFlag, java.lang.String currencyField33B, java.lang.String currencyField32A, boolean field36ExistsFlag)
          For Message Types 103_STP, If field 33B is present and the currency code is different from the currency code in field 32A, field 36 must be present, otherwise field 36 is not allowed
static boolean semantic_validation_rule_176(java.lang.String msgType, java.lang.String field17U, boolean field17UExistsFlag, boolean sequenceDExistsFlag)
          For Message Type 300 In Sequence A, if field 17U is not present, then Sequence D is not allowed.
static boolean semantic_validation_rule_196(java.lang.String msgType, boolean sequenceDExistsFlag, int fieldValue, int noOfRepetitions)
          For Message Types MT 300 if sequence D is present, then Field 16A must be equal to the number of internal repetitions in sequence D (i.e.
static boolean semantic_validation_rule_197(java.lang.String msgType, java.lang.String[] field23E, int numberOfField23E)
          MT 103_STP Subfield 2 of field 23E is only allowed when subfield 1 consists of :‘REPA’.
static boolean semantic_validation_rule_198(java.lang.String msgType, boolean field21RExists, java.lang.String[] field21RCurrency, int numberOfField23E, java.lang.String[] field23E)
          For Message Type MT101, If field 21R is present in sequence A, then in each occurrence of sequence B, the currency code in fields 32B must be the same (Error code D98).
static boolean semantic_validation_rule_199(java.lang.String msgType, java.lang.String field32B, boolean field23EExists, boolean EQUIPresent, boolean field21FExists, boolean field33BExists)
          MT101 In each occurrence of sequence B, if 'amount' in field 32B is equal to zero, then fields 21F, 33B and 36 are not allowed.
static boolean semantic_validation_rule_201(java.lang.String msgType, java.lang.String field23B, java.lang.String[] field23E)
          For Message Types 103_STP If field 23B contains the code word ‘SPRI’, field 23E can contain only the code words ‘SDVA’, ‘INTC’.
static boolean semantic_validation_rule_202(java.lang.String msgType, java.lang.String field23B, boolean field23EExistsFlag)
          For Message Types 103_STP If field 23B contains one of the code words ‘SSTD’ or ‘SPAY’, field 23E must not be used.
static boolean semantic_validation_rule_204(java.lang.String msgType, boolean field53aExistsFlag, boolean field53aS1ExistsFlag)
           
static boolean semantic_validation_rule_206(java.lang.String msgType, boolean field55AExistsFlag, boolean field53AExistsFlag, boolean field54AExistsFlag)
          For Message Type 103_STP If field 55A is present, then both fields 53A and 54A must also be present.
static boolean semantic_validation_rule_208(java.lang.String msgType, java.lang.String field23G, int numberOfSubsequenceA1, java.lang.String[] field20C)
          For Messagetypes MT 535,MT 536,MT 537,MT 541,MT 543 In sequence A if field :23G: is CANC then subsequence A1 is mandatory and and in minimum one occurrence of subsequence A1 field :20C::PREV is Mandatory For Messagetypes MT 545,MT 547 In sequence A if field :23G: is CANC or RVSL then in minimum one occurrence of subsequence A1 field :20C::PREV is Mandatory For Message Types MT515, If the message is a cancellation (i.e.
static boolean semantic_validation_rule_210(java.lang.String msgType, boolean subfield1Field59aExistsFlag)
          For message Type 103_STP Subfield 1 (Account) in field 59a (Beneficiary Customer) is mandatory (Error Code E10).
static boolean semantic_validation_rule_213(java.lang.String msgType, java.lang.String field71A, boolean field71FExistsFlag)
           
static boolean semantic_validation_rule_214(java.lang.String msgType, java.lang.String field22F, java.lang.String field22FNext, java.lang.String field23G)
          If field :22F::FXCX is present in sequence E, then the message should be a cancellation, ie, Function of the Message in sequence A (field 23G) is CANC.
static boolean semantic_validation_rule_215(java.lang.String msgType, java.lang.String field71A, boolean field71FExistsFlag, boolean field71GExistsFlag)
          If field 71A contains BEN, then at least one occurrence of field 71F is mandatory and field 71G is not allowed (Error Code E15).
static boolean semantic_validation_rule_216(java.lang.String msgType, java.lang.String field23B, boolean field56aExistsFlag)
          If field 23B contains the code word ‘SPRI’, field 56a must not be used.
static boolean semantic_validation_rule_237(java.lang.String msgType, int numberOfSequence, java.lang.String[] field24B, java.lang.String field25D, java.lang.String sequenceName)
          *************************************************************************************** Here assumption is that for each occurrences of sequence B and C3 this fucntion is called with parameters as per the subsequences B1 and C3a respectively..for MT537.
static boolean semantic_validation_rule_246(java.lang.String[] field23a)
           
static boolean semantic_validation_rule_252(java.lang.String msgType, java.lang.String field95a, java.lang.String field97a, java.lang.String sequenceName)
          *************************************************************************************** Here assumption is that for each occurrences of the following sequences this fucntion is called with the required parameters Sequences MT --------------------------------------- B1a2a 536 B2b1,C2a 537 E1 541,543,545,547 B1 548 **************************************************************************************** MT 537 In subsequence B2b1, if field :95a::PSET is present, then field :97a::SAFE is not allowedin the same sequence.
static boolean semantic_validation_rule_256(java.lang.String msgType, boolean sequenceA17BACTIYExistsFlag, boolean sequenceA17BACTINExistsFlag, boolean sequenceA17BCONSYExistsFlag, boolean sequenceA17BCONSNExistsFlag, boolean sequenceB17BACTIExistsFlag, boolean field97aExistsFlag, int numberOfSequenceB)
          MT 535, 536 If in sequence A field :17B::CONS=Y, then in every occurrence of sequence B field :97a::SAFE and field :17B::ACTI are mandatory.
static boolean semantic_validation_rule_257(java.lang.String bicType)
          The BIC must be a BEI, i.e.
static boolean semantic_validation_rule_258(java.lang.String msgType, int numberOfSubSequenceB1a, java.lang.String[] field93a)
          *************************************************************************************** Here for each B1 sequence the rule is called with total number of subsequence B1a and a array containing the value of field93a in each subsequnce.
static boolean semantic_validation_rule_259(java.lang.String msgType, int numberOfSubSequenceB1a, java.lang.String[] field93a)
          *************************************************************************************** Here for each B1 sequence the rule is called with total number of subsequence B1a and a array containing the value of field93a in each subsequnce.
static boolean semantic_validation_rule_262(java.lang.String msgType, java.lang.String field92B, java.lang.String field19A)
          If an Exchange Rate (field:92B::EXCH) is present, the corresponding Resulting Amount (field:19A::RESU) must be present in the same subsequence.
static boolean semantic_validation_rule_266(java.lang.String msgType, boolean sequenceA17BACTIYExistsFlag, boolean sequenceA17BACTINExistsFlag, boolean sequenceA22HSTSTSTATExistsFlag, boolean sequenceA22HSTSTTRANExistsFlag, boolean sequenceBExistsFlag, boolean sequenceCExistsFlag)
          For MT535 and 536 If the Activity Flag (field :17B:ACTI) in sequence A General Information is N, then sequence B must not be present.
static boolean semantic_validation_rule_269(java.lang.String msgType, java.lang.String activityFlag, boolean seqB1Exists)
          For MT535 and 536 If the Activity Flag (field :17B::ACTI) in sequence B Sub-safekeeping Account indicates no information to be reported, i.e.
static boolean semantic_validation_rule_270(java.lang.String msgType, java.lang.String field22F, java.lang.String[] field95a, int numberOfSubsequenceE1)
          In MT541 if field :22F::DBNM is present in sequence E, then a seller must be specified, i.e.
static boolean semantic_validation_rule_276(java.lang.String msgType, java.lang.String fieldDate, java.lang.String dateFormat, java.lang.String fieldCurrency)
          For specific message types, if the value date (if field with Value Date is present in the message) is after 31 December 2001, then the 13 European currencies (referenced as NCD) must not be used as the currency of settlement (Error Code: E76).
static boolean semantic_validation_rule_282(java.lang.String msgType, boolean sequenceA17BACTIYExistsFlag, boolean sequenceA17BACTINExistsFlag, boolean accountingStatementExistsFlag, boolean dataSourceSchemeExistsFlag, boolean sequenceB190AExistsFlag, boolean sequenceB119AExistsFlag, boolean sequenceBExistsFlag, boolean sequenceB1ExistsFlag)
          For Message type MT 535,If the statement refers to an accounting statement, i.e.
static boolean semantic_validation_rule_283(java.lang.String msgType, java.lang.String field22H, java.lang.String field19A, boolean field19AExistsFlag)
          For subsequence B1a2,if field 22H is PAYM//APMT ,field19A is mandatory and must be a POSTING AMOUNT(PSTA).(Error Code E83)
static boolean semantic_validation_rule_284(java.lang.String msgType, java.lang.String[] sequence, java.lang.String sequenceName)
          In each occurrence of sequence B1a, in sequence B1a2, the following Party Fields cannot appear more than once (Error Code E84).
static boolean semantic_validation_rule_285(java.lang.String msgType, java.lang.String field22H, java.lang.String[] field95a, boolean sequenceExists)
          If the instruction is a delivery (:22H::REDE//DELI in sequence B2b) and the Settlement Parties sequence B2b1 is used, then it is mandatory to specify a Receiving Agent: One occurrence of the settlement parties sequence B2b1 must contain party field :95a::REAG (Error Code E85).
static boolean semantic_validation_rule_286(java.lang.String msgType, java.lang.String[] field95a)
           
static boolean semantic_validation_rule_287(java.lang.String msgType, int numberOfSequenceE3, java.lang.String[] field19A)
           
static boolean semantic_validation_rule_288(java.lang.String msgType, java.lang.String field19A, boolean sequenceCExistsFlag, int numberOfSequenceC)
          In MT 541,543 if the Financial Instrument/Account sequence C is present once, the Settlement Amount (field :19A::SETT) must not be present in sequence C (Error Code E88).
static boolean semantic_validation_rule_289(java.lang.String msgType, int numberOfSequenceC, int numberOfSequenceE3, java.lang.String[] sequenceCfield19A, java.lang.String[] sequenceCfield19AString7, java.lang.String[] sequenceE3field19A, java.lang.String[] sequenceE3field19AString7, java.lang.String[] sequenceCCurrency, java.lang.String[] sequenceE3Currency)
          For message type MT 541, 543 If sequence C is present two or more times, the Settlement Amount (field :19A::SETT) must be present in every occurrence of sequence C or in none (Error Code E89).
static boolean semantic_validation_rule_290(java.lang.String msgType, java.lang.String[] field99B, int numberOfField99B)
          If the Total of Linked Settlement Instructions (field :99B::TOSE) is present, then the Current settlement instruction (field :99B::SETT) must be present (Error Code E90).
static boolean semantic_validation_rule_291(java.lang.String msgType, boolean field22fDBNMExistsFlag, java.lang.String[] field95a)
          For MT541, 545 and 547, If field :22F::DBNM is NOT present in sequence E, then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties sequence E1 must contain party field :95a::DEAG (Error Code E91).
static boolean semantic_validation_rule_292(java.lang.String msgType, java.lang.String[] field19A, int numberOfSequenceE3)
          For MT 541, 543 It is mandatory to specify a Settlement Amount : One occurrence of the amounts sequence E3 must contain amount field :19A::SETT (Error Code E92).
static boolean semantic_validation_rule_293(java.lang.String msgType, boolean field22FExistsFlag, java.lang.String[] field95a)
          MT 543,If field :22F::DBNM is NOT present in sequence E, then it It is mandatory to specify a Receiving Agent: One occurrence of the settlement parties sequence E1 must contain party field :95a::REAG (Error Code E93).
static boolean semantic_validation_rule_299(java.lang.String msgType, java.lang.String[] field99B, int numberOfField99B)
          In sequence A, if field :99B::TORE or field :99B::TODE is present, then field :99B::TOSE is mandatory in the same sequence.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SVR

public SVR()
Method Detail

semantic_validation_rule_002

public static boolean semantic_validation_rule_002(java.lang.String msgType,
                                                   boolean field71GExistsFlag,
                                                   java.lang.String Field71G,
                                                   java.lang.String Field32A)
                                            throws SVRException
For Message Type 103_STP If field 71G is present, the currency code in the fields 71G and 32A must be the same.

Throws:
SVRException

semantic_validation_rule_003

public static boolean semantic_validation_rule_003(java.lang.String currency,
                                                   java.lang.String amount)
                                            throws SVRException
Throws:
SVRException

semantic_validation_rule_005

public static boolean semantic_validation_rule_005(java.lang.String bicType)
                                            throws SVRException
The BIC must NOT be a BEI, i.e. must not be of subtype BEID or TRCO or TESP or MCCO (Error code C05)

Throws:
SVRException

semantic_validation_rule_006

public static boolean semantic_validation_rule_006(java.lang.String msgType,
                                                   boolean field50aExistsFlag,
                                                   boolean field52aExistsFlag)
                                            throws SVRException
In messsage type 910, Either field 50a or field 52a, but not both, must be present.

Throws:
SVRException

semantic_validation_rule_024

public static boolean semantic_validation_rule_024(java.lang.String msgType,
                                                   boolean sequence61ExistsFlag,
                                                   boolean sequence86ExistsFlag)
                                            throws SVRException
For Message Type MT 940,if field 86 is present in any occurrence of the repetitive sequence, it must be preceded by a field 61.

Throws:
SVRException

semantic_validation_rule_027

public static boolean semantic_validation_rule_027(java.lang.String msgType,
                                                   java.lang.String field60a,
                                                   java.lang.String field62a,
                                                   java.lang.String field64,
                                                   java.lang.String field65)
                                            throws SVRException
The first two characters of the three character currency code in fields 60F and M, 62F and M, 64, 65 and 90D and C, in MT 940,950 must be the same for all occurrences of these fields.

Throws:
SVRException

semantic_validation_rule_032

public static boolean semantic_validation_rule_032(boolean fieldExistsFlag)
                                            throws SVRException
For Message Types MTs 300, 303, 304, 306, 320, 330, 340, 350, 360, 361, 362, 364, 365, 405, 553, 560, 561, 562, 563, 570, 571, 572, 573, 582, 600, 643, 645 and 813. An optional sequence of fields was used. However, a field which is required (i.e. indicated by an OR) or a field which is mandatory (i.e. indicated by Mandatory) within this sequence is missing.

Throws:
SVRException

semantic_validation_rule_050

public static boolean semantic_validation_rule_050(java.lang.String[] subSeqA136B_Qualifier,
                                                   java.lang.String[][] seqE22FAndNext)
                                            throws SVRException
apply to MT 540 541 542 543 If field :36B::PAIR is present in minimum one occurrence of sequence A1, then the type of settlement transaction must be a pair-off; ie, sequence E field :22F::SETR//PAIR must be present (Error code(s): C50).

Parameters:
fieldExistsFlag -
Returns:
Throws:
SVRException

semantic_validation_rule_058

public static boolean semantic_validation_rule_058(java.lang.String msgType,
                                                   boolean field77DExists,
                                                   java.lang.String field77D)
                                            throws SVRException
Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_071

public static boolean semantic_validation_rule_071(java.lang.String msgType,
                                                   java.lang.String[][] subSeq36BAndNext)
                                            throws SVRException
MT 536 537

Parameters:
field56ExistsFlag -
field57ExistsFlag -
Returns:
Throws:
SVRException

semantic_validation_rule_072

public static boolean semantic_validation_rule_072(java.lang.String msgType,
                                                   java.lang.String[][] subSeq36BAndNext)
                                            throws SVRException
MT 537

Parameters:
msgType -
field56ExistsFlag -
field57ExistsFlag -
Returns:
Throws:
SVRException

semantic_validation_rule_073

public static boolean semantic_validation_rule_073(java.lang.String msgType,
                                                   java.lang.String[] subSeq20C)
                                            throws SVRException
MT 536, 537, 544, 545, 546, 547, 548

Parameters:
msgType -
field56ExistsFlag -
field57ExistsFlag -
Returns:
Throws:
SVRException

semantic_validation_rule_074

public static boolean semantic_validation_rule_074(java.lang.String msgType,
                                                   java.lang.String[] subSeq20C)
                                            throws SVRException
MT 537

Parameters:
msgType -
field56ExistsFlag -
field57ExistsFlag -
Returns:
Throws:
SVRException

semantic_validation_rule_081

public static boolean semantic_validation_rule_081(java.lang.String msgType,
                                                   boolean field56ExistsFlag,
                                                   boolean field57ExistsFlag)
                                            throws SVRException
For Message Types 103_STP, 202 If field 56( ) is present, field 57( ) must be present

Throws:
SVRException

semantic_validation_rule_103

public static boolean semantic_validation_rule_103(java.lang.String msgType,
                                                   boolean sequenceB94aExistsFlag,
                                                   boolean field93BAGGRExistsFlag,
                                                   boolean field94aSAFEExistsFlag)
                                            throws SVRException
For Message Types 535 If field :94a:: is present in Sequence B, then fields :93B::AGGR and :94a::SAFE are not allowed in any occurrence of Subsequence B1a.

Throws:
SVRException

semantic_validation_rule_104

public static boolean semantic_validation_rule_104(java.lang.String msgType,
                                                   boolean field93BAGGRExistsFlag,
                                                   boolean field94aSAFEExistsFlag)
                                            throws SVRException
Throws:
SVRException

semantic_validation_rule_105

public static boolean semantic_validation_rule_105(java.lang.String msgType,
                                                   boolean field93BAGGRExistsFlag,
                                                   java.lang.String[] field93a)
                                            throws SVRException
Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_119

public static boolean semantic_validation_rule_119(java.lang.String messageType,
                                                   java.lang.String emitterCountryCode,
                                                   java.lang.String receiverCountryCode,
                                                   boolean field57aExistsFlag,
                                                   java.lang.String field57aBICCountryCode,
                                                   java.lang.String accountOfField59a)
                                            throws SVRException
For MT102 STP and 103 STP If in the transaction headers the country codes of both the Sender's and Receiver's BIC are present in the list D19_CC, then in each occurrence of Seq.B the following apply: If field 57A is not present, then the IBAN format (ISO-13616, refer note 1) is mandatory in subfield_1 Account of field 59a in this occurrence of Seq.B (Error code: D19). If field 57A is present and the country code of the BIC in 57A is present in the list D19_CC, then the IBAN format is mandatory in subfield_1 Account of field 59a in this occurrence of Seq. B (Error code:D19). In all other cases, the presence of the IBAN format is optional and its format is not validated in subfield_1 Account of field 59a.

Throws:
SVRException

semantic_validation_rule_149

public static boolean semantic_validation_rule_149(java.lang.String msgType,
                                                   java.lang.String emitterBIC,
                                                   java.lang.String receiverBIC,
                                                   boolean field33BExistsFlag)
                                            throws SVRException
For Message Type MT103_STP, If the country codes of both the Sender's and the Receiver's BIC belong to the D49_CC list,then field 33B is mandatory, otherwise field 33B is optional

Throws:
SVRException

semantic_validation_rule_150

public static boolean semantic_validation_rule_150(java.lang.String msgType,
                                                   java.lang.String field71A,
                                                   boolean field71GExists)
                                            throws SVRException
For Message Type 103_STP If field 71A contains SHA, then field(s) 71F is(are) optional and field 71G is not allowed.

Throws:
SVRException

semantic_validation_rule_151

public static boolean semantic_validation_rule_151(java.lang.String msgType,
                                                   boolean field71FExistsFlag,
                                                   boolean field71GExistsFlag,
                                                   boolean field33BExistsFlag)
                                            throws SVRException
For Message Type 103_STP If either field 71F (at least one occurrence) or field 71G is present, then field 33B is mandatory, otherwise field 33B is optional if both fields 71F and 71G are present, field 33B should not be present.

Throws:
SVRException

semantic_validation_rule_154

public static boolean semantic_validation_rule_154(java.lang.String msgType,
                                                   boolean field36,
                                                   boolean field21F)
                                            throws SVRException
MT 101 If field 36 is present, then field 21F must be present

Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_157

public static boolean semantic_validation_rule_157(java.lang.String msgType,
                                                   java.lang.String amountField71G)
                                            throws SVRException
For Message Types 103_STP, In field 71G, Amount must not equal ‘0’.

Throws:
SVRException

semantic_validation_rule_160

public static boolean semantic_validation_rule_160(java.lang.String msgType,
                                                   boolean field33B,
                                                   java.lang.String field32B,
                                                   boolean field36)
                                            throws SVRException
MT 101 If field 36 is present then field 33B must be present, and vice-versa.

Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_161

public static boolean semantic_validation_rule_161(java.lang.String msgType,
                                                   boolean field50GExists,
                                                   boolean field50HExists,
                                                   boolean field50FExists,
                                                   boolean[] seqBfield50G,
                                                   boolean[] seqBfield50H,
                                                   boolean[] seqBfield50F)
                                            throws SVRException
MT 101 If there is only one debit account, the ordering customer must be identified in field 50a (option G or H) in sequence A. Conversely, if multiple debit accounts are used, they must be identified for every transaction in field 50a (option G or H) of sequence B. Consequently, field 50a (option G or H), must be present in either sequence A (index 5) or in each occurrence of sequence B (index 15), but must never be present in both sequences, nor be absent from both sequences.

Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_162

public static boolean semantic_validation_rule_162(java.lang.String msgType,
                                                   boolean field50CExists,
                                                   boolean field50LExists,
                                                   boolean[] seqBfield50C,
                                                   boolean[] seqBfield50L)
                                            throws SVRException
MT 101 Field 50a (option C or L), may be present in either sequence A (index 4), or in each occurrence of sequence B (index 14), but must not be present in both sequences A and B.

Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_164

public static boolean semantic_validation_rule_164(java.lang.String msgType,
                                                   boolean field52AExists,
                                                   boolean field52CExists,
                                                   boolean[] seqBfield52A,
                                                   boolean[] seqBfield52C)
                                            throws SVRException
MT 101, 206. Field 52() must not be present in both sequences A and B {Error Code D64}.

Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_165

public static boolean semantic_validation_rule_165(java.lang.String msgType,
                                                   boolean field56Exists,
                                                   boolean field57Exists)
                                            throws SVRException
In each occurence of Sequence B: IF field 56a is present then field 57a must be present {Error Code D65}.

Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_166

public static boolean semantic_validation_rule_166(java.lang.String msgType,
                                                   java.lang.String subField1,
                                                   boolean subField2Exists)
                                            throws SVRException
Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_167

public static boolean semantic_validation_rule_167(java.lang.String msgType,
                                                   java.lang.String[] field23E,
                                                   int numberOfField23E)
                                            throws SVRException
When field 23E is used more than once, the following combination is not allowed REPA with CORT {Error Code D67}:

Throws:
SVRException

semantic_validation_rule_168

public static boolean semantic_validation_rule_168(java.lang.String msgType,
                                                   java.lang.String field33BCurr,
                                                   java.lang.String field32BCurr)
                                            throws SVRException
MT 101 For each occurrence of Sequence B, if field 33B is present in sequence B, its currency code must be different from the currency code in field 32B of the same occurrence of sequence B {Error Code D68}

Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_170

public static boolean semantic_validation_rule_170(java.lang.String msgType,
                                                   java.lang.String field22A,
                                                   boolean field21ExistsFlag)
                                            throws SVRException
For Message Type 300 In Sequence A, If field 22A is "AMND" or, "CANC", then field 21 is Mandatory. If field 22A is "DUPL", "EXOP" or "NEWT", then field 21 is Optional.

Throws:
SVRException

semantic_validation_rule_171

public static boolean semantic_validation_rule_171(java.lang.String msgType,
                                                   java.lang.String sequenceEField22F,
                                                   boolean sequenceFExistsFlag,
                                                   int numberOfSequenceF,
                                                   java.lang.String[] field95a)
                                            throws SVRException
For Message Types 541, 543 If field :22F::DBNM//VEND is present in sequence E, then it is mandatory to specify a vendor: i.e. one occurrence of sequence F Other Parties must contain a party field :95a::VEND

Throws:
SVRException

semantic_validation_rule_174

public static boolean semantic_validation_rule_174(java.lang.String msgType,
                                                   java.lang.String field94A,
                                                   boolean field94AExistsFlag,
                                                   boolean sequenceCExistsFlag,
                                                   boolean field88aExistsFlag,
                                                   boolean field71FExistsFlag)
                                            throws SVRException
For Message Type 300 In sequence A, if field 94A is not present, then in sequence C field 71F is not allowed. In sequence A, if field 94A is "AGNT" or, "BILA", then in sequence C, field 71F is not allowed. In sequence A, if field 94A is "BROK", then sequence C is mandatory and in sequence C field 88a is mandatory.

Throws:
SVRException

semantic_validation_rule_175

public static boolean semantic_validation_rule_175(java.lang.String msgType,
                                                   boolean field33BExistsFlag,
                                                   java.lang.String currencyField33B,
                                                   java.lang.String currencyField32A,
                                                   boolean field36ExistsFlag)
                                            throws SVRException
For Message Types 103_STP, If field 33B is present and the currency code is different from the currency code in field 32A, field 36 must be present, otherwise field 36 is not allowed

Throws:
SVRException

semantic_validation_rule_176

public static boolean semantic_validation_rule_176(java.lang.String msgType,
                                                   java.lang.String field17U,
                                                   boolean field17UExistsFlag,
                                                   boolean sequenceDExistsFlag)
                                            throws SVRException
For Message Type 300 In Sequence A, if field 17U is not present, then Sequence D is not allowed. if field 17U is "Y", then Sequence D is mandatory. if field 17U is "N", then Sequence D is not allowed.

Throws:
SVRException

semantic_validation_rule_196

public static boolean semantic_validation_rule_196(java.lang.String msgType,
                                                   boolean sequenceDExistsFlag,
                                                   int fieldValue,
                                                   int noOfRepetitions)
                                            throws SVRException
For Message Types MT 300 if sequence D is present, then Field 16A must be equal to the number of internal repetitions in sequence D (i.e. block of fields : 17A - 58a). For MT 340, 360, 361, 362 Field 18A must be equal to the number of repetitions that immediately follows.

Throws:
SVRException

semantic_validation_rule_197

public static boolean semantic_validation_rule_197(java.lang.String msgType,
                                                   java.lang.String[] field23E,
                                                   int numberOfField23E)
                                            throws SVRException
MT 103_STP Subfield 2 of field 23E is only allowed when subfield 1 consists of :‘REPA’.

Throws:
SVRException

semantic_validation_rule_198

public static boolean semantic_validation_rule_198(java.lang.String msgType,
                                                   boolean field21RExists,
                                                   java.lang.String[] field21RCurrency,
                                                   int numberOfField23E,
                                                   java.lang.String[] field23E)
                                            throws SVRException
For Message Type MT101, If field 21R is present in sequence A, then in each occurrence of sequence B, the currency code in fields 32B must be the same (Error code D98). For Message Types 103_STP, If field 23E is repeated, the codes must appear in the following order: SDVA INTC REPA CORT note: the first code does not need to be SDVA, there may be gaps.

Throws:
SVRException

semantic_validation_rule_199

public static boolean semantic_validation_rule_199(java.lang.String msgType,
                                                   java.lang.String field32B,
                                                   boolean field23EExists,
                                                   boolean EQUIPresent,
                                                   boolean field21FExists,
                                                   boolean field33BExists)
                                            throws SVRException
MT101 In each occurrence of sequence B, if 'amount' in field 32B is equal to zero, then fields 21F, 33B and 36 are not allowed. (Error D99).

Parameters:
-
Returns:
Throws:
SVRException
See Also:

semantic_validation_rule_201

public static boolean semantic_validation_rule_201(java.lang.String msgType,
                                                   java.lang.String field23B,
                                                   java.lang.String[] field23E)
                                            throws SVRException
For Message Types 103_STP If field 23B contains the code word ‘SPRI’, field 23E can contain only the code words ‘SDVA’, ‘INTC’.

Throws:
SVRException

semantic_validation_rule_202

public static boolean semantic_validation_rule_202(java.lang.String msgType,
                                                   java.lang.String field23B,
                                                   boolean field23EExistsFlag)
                                            throws SVRException
For Message Types 103_STP If field 23B contains one of the code words ‘SSTD’ or ‘SPAY’, field 23E must not be used.

Throws:
SVRException

semantic_validation_rule_204

public static boolean semantic_validation_rule_204(java.lang.String msgType,
                                                   boolean field53aExistsFlag,
                                                   boolean field53aS1ExistsFlag)
                                            throws SVRException
Throws:
SVRException

semantic_validation_rule_206

public static boolean semantic_validation_rule_206(java.lang.String msgType,
                                                   boolean field55AExistsFlag,
                                                   boolean field53AExistsFlag,
                                                   boolean field54AExistsFlag)
                                            throws SVRException
For Message Type 103_STP If field 55A is present, then both fields 53A and 54A must also be present.

Throws:
SVRException

semantic_validation_rule_208

public static boolean semantic_validation_rule_208(java.lang.String msgType,
                                                   java.lang.String field23G,
                                                   int numberOfSubsequenceA1,
                                                   java.lang.String[] field20C)
                                            throws SVRException
For Messagetypes MT 535,MT 536,MT 537,MT 541,MT 543 In sequence A if field :23G: is CANC then subsequence A1 is mandatory and and in minimum one occurrence of subsequence A1 field :20C::PREV is Mandatory For Messagetypes MT 545,MT 547 In sequence A if field :23G: is CANC or RVSL then in minimum one occurrence of subsequence A1 field :20C::PREV is Mandatory For Message Types MT515, If the message is a cancellation (i.e. if the Function of the Message -field 23G- is CANC), then a reference to the previous message must be specified in the Linkage section (i.e. field :20C::PREV must be present minimum once on that message).

Throws:
SVRException

semantic_validation_rule_210

public static boolean semantic_validation_rule_210(java.lang.String msgType,
                                                   boolean subfield1Field59aExistsFlag)
                                            throws SVRException
For message Type 103_STP Subfield 1 (Account) in field 59a (Beneficiary Customer) is mandatory (Error Code E10).

Throws:
SVRException

semantic_validation_rule_213

public static boolean semantic_validation_rule_213(java.lang.String msgType,
                                                   java.lang.String field71A,
                                                   boolean field71FExistsFlag)
                                            throws SVRException
Throws:
SVRException

semantic_validation_rule_214

public static boolean semantic_validation_rule_214(java.lang.String msgType,
                                                   java.lang.String field22F,
                                                   java.lang.String field22FNext,
                                                   java.lang.String field23G)
                                            throws SVRException
If field :22F::FXCX is present in sequence E, then the message should be a cancellation, ie, Function of the Message in sequence A (field 23G) is CANC. (Error code E14).

Throws:
SVRException

semantic_validation_rule_215

public static boolean semantic_validation_rule_215(java.lang.String msgType,
                                                   java.lang.String field71A,
                                                   boolean field71FExistsFlag,
                                                   boolean field71GExistsFlag)
                                            throws SVRException
If field 71A contains BEN, then at least one occurrence of field 71F is mandatory and field 71G is not allowed (Error Code E15).

Throws:
SVRException

semantic_validation_rule_216

public static boolean semantic_validation_rule_216(java.lang.String msgType,
                                                   java.lang.String field23B,
                                                   boolean field56aExistsFlag)
                                            throws SVRException
If field 23B contains the code word ‘SPRI’, field 56a must not be used.

Throws:
SVRException

semantic_validation_rule_237

public static boolean semantic_validation_rule_237(java.lang.String msgType,
                                                   int numberOfSequence,
                                                   java.lang.String[] field24B,
                                                   java.lang.String field25D,
                                                   java.lang.String sequenceName)
                                            throws SVRException
*************************************************************************************** Here assumption is that for each occurrences of sequence B and C3 this fucntion is called with parameters as per the subsequences B1 and C3a respectively..for MT537. For MT548 the sequence and subsequence will be A2 and A2a respectively *************************************************************************************** MT 537 Within each occurrence of subsequence B1 Reason, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of its surrounding sequence B Status (Error code E37) Within each occurrence of subsequence C3a Reason, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of its surrounding sequence C3 Status (Error code E37) MT 548 Within each occurrence of subsequence A2a Reason, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of its surrounding subsequence A2 Status (Error code E37)

Throws:
SVRException

semantic_validation_rule_246

public static boolean semantic_validation_rule_246(java.lang.String[] field23a)
                                            throws SVRException
Throws:
SVRException

semantic_validation_rule_252

public static boolean semantic_validation_rule_252(java.lang.String msgType,
                                                   java.lang.String field95a,
                                                   java.lang.String field97a,
                                                   java.lang.String sequenceName)
                                            throws SVRException
*************************************************************************************** Here assumption is that for each occurrences of the following sequences this fucntion is called with the required parameters Sequences MT --------------------------------------- B1a2a 536 B2b1,C2a 537 E1 541,543,545,547 B1 548 **************************************************************************************** MT 537 In subsequence B2b1, if field :95a::PSET is present, then field :97a::SAFE is not allowedin the same sequence. (Error code E52). In subsequence C2a, if field :95a::PSET is present, then field :97a::SAFE is not allowed inthe same sequence. (Error code E52). MT 541,543,545,547 In subsequence E1, if field :95a::PSET is present, then field :97a::SAFE is not allowed inthe same sequence. (Error code E52). MT 548 In subsequence B1, if field :95a::PSET is present, then field :97a::SAFE is not allowed inthe same sequence. (Error code E52).

Throws:
SVRException

semantic_validation_rule_256

public static boolean semantic_validation_rule_256(java.lang.String msgType,
                                                   boolean sequenceA17BACTIYExistsFlag,
                                                   boolean sequenceA17BACTINExistsFlag,
                                                   boolean sequenceA17BCONSYExistsFlag,
                                                   boolean sequenceA17BCONSNExistsFlag,
                                                   boolean sequenceB17BACTIExistsFlag,
                                                   boolean field97aExistsFlag,
                                                   int numberOfSequenceB)
                                            throws SVRException
MT 535, 536 If in sequence A field :17B::CONS=Y, then in every occurrence of sequence B field :97a::SAFE and field :17B::ACTI are mandatory. (Error code E56) This check only applies when sequence B Sub-safekeeping Account is present as per rule 266, i.e. in sequence A, field :17B::ACTI=Y.

Throws:
SVRException

semantic_validation_rule_257

public static boolean semantic_validation_rule_257(java.lang.String bicType)
                                            throws SVRException
The BIC must be a BEI, i.e. must not be of subtype BEID or TRCO or TESP or MCCO (Error code C05)

Throws:
SVRException

semantic_validation_rule_258

public static boolean semantic_validation_rule_258(java.lang.String msgType,
                                                   int numberOfSubSequenceB1a,
                                                   java.lang.String[] field93a)
                                            throws SVRException
*************************************************************************************** Here for each B1 sequence the rule is called with total number of subsequence B1a and a array containing the value of field93a in each subsequnce. *************************************************************************************** In each occurrence of Sequence B1, if field :93a::PEND is present in one of the occurrences of subsequence B1a, then fields :93a::PDUM and :93a::PDMT are not allowed in the other occurrences of subsequence B1a (Error code E58)

Throws:
SVRException

semantic_validation_rule_259

public static boolean semantic_validation_rule_259(java.lang.String msgType,
                                                   int numberOfSubSequenceB1a,
                                                   java.lang.String[] field93a)
                                            throws SVRException
*************************************************************************************** Here for each B1 sequence the rule is called with total number of subsequence B1a and a array containing the value of field93a in each subsequnce. *************************************************************************************** In each occurrence of Sequence B1, if field :93a::PENR is present in one of the occurrences of subsequence B1a, then fields :93a::PRUM and :93a::PRMT are not allowed in the other occurrences of subsequence B1a (Error code E59)

Throws:
SVRException

semantic_validation_rule_262

public static boolean semantic_validation_rule_262(java.lang.String msgType,
                                                   java.lang.String field92B,
                                                   java.lang.String field19A)
                                            throws SVRException
If an Exchange Rate (field:92B::EXCH) is present, the corresponding Resulting Amount (field:19A::RESU) must be present in the same subsequence. If the Exchange Rate is not present then the Resulting Amount is not allowed. This check applies to sequence E3 (Error code E62).

Throws:
SVRException

semantic_validation_rule_266

public static boolean semantic_validation_rule_266(java.lang.String msgType,
                                                   boolean sequenceA17BACTIYExistsFlag,
                                                   boolean sequenceA17BACTINExistsFlag,
                                                   boolean sequenceA22HSTSTSTATExistsFlag,
                                                   boolean sequenceA22HSTSTTRANExistsFlag,
                                                   boolean sequenceBExistsFlag,
                                                   boolean sequenceCExistsFlag)
                                            throws SVRException
For MT535 and 536 If the Activity Flag (field :17B:ACTI) in sequence A General Information is N, then sequence B must not be present. Otherwise, Sequence B is mandatory (Error code E66). For MT537, In sequence A General Information, if the Activity Flag (field :17B::ACTI) is N, then sequence B Status and Sequence C Transactions must not be present. (Error code E66). If the Activity Flag (field :17B::ACTI) is Y and Statement Structure Type Indicator is per statuses (field :22H::STST//STAT), then sequence B Status is mandatory and sequence C Transactions is not allowed. (Error code E66). If the Activity Flag (field :17B::ACTI) in sequence A General Information is Y and Statement Structure Type Indicator is per transactions (field :22H::STST//TRAN), then sequence B Status is not allowed and sequence C Transactions is mandatory. (Error code E66).

Throws:
SVRException

semantic_validation_rule_269

public static boolean semantic_validation_rule_269(java.lang.String msgType,
                                                   java.lang.String activityFlag,
                                                   boolean seqB1Exists)
                                            throws SVRException
For MT535 and 536 If the Activity Flag (field :17B::ACTI) in sequence B Sub-safekeeping Account indicates no information to be reported, i.e. N, then subsequence B1 Financial Instrument must not be present. Subsequence B1 Financial Instrument is otherwise mandatory (Error code E69)

Throws:
SVRException

semantic_validation_rule_270

public static boolean semantic_validation_rule_270(java.lang.String msgType,
                                                   java.lang.String field22F,
                                                   java.lang.String[] field95a,
                                                   int numberOfSubsequenceE1)
                                            throws SVRException
In MT541 if field :22F::DBNM is present in sequence E, then a seller must be specified, i.e. one occurrence of subsequence E1 Settlement Parties must contain party field :95a::SELL (Error Code E70). In MT543 if field :22F::DBNM is present in sequence E, then a buyer must be specified, i.e. one occurrence of subsequence E1 Settlement Parties must contain party field :95a::BUYR (Error Code E70).

Throws:
SVRException

semantic_validation_rule_276

public static boolean semantic_validation_rule_276(java.lang.String msgType,
                                                   java.lang.String fieldDate,
                                                   java.lang.String dateFormat,
                                                   java.lang.String fieldCurrency)
                                            throws SVRException
For specific message types, if the value date (if field with Value Date is present in the message) is after 31 December 2001, then the 13 European currencies (referenced as NCD) must not be used as the currency of settlement (Error Code: E76).

Throws:
SVRException

semantic_validation_rule_282

public static boolean semantic_validation_rule_282(java.lang.String msgType,
                                                   boolean sequenceA17BACTIYExistsFlag,
                                                   boolean sequenceA17BACTINExistsFlag,
                                                   boolean accountingStatementExistsFlag,
                                                   boolean dataSourceSchemeExistsFlag,
                                                   boolean sequenceB190AExistsFlag,
                                                   boolean sequenceB119AExistsFlag,
                                                   boolean sequenceBExistsFlag,
                                                   boolean sequenceB1ExistsFlag)
                                            throws SVRException
For Message type MT 535,If the statement refers to an accounting statement, i.e. :22F::STTY//ACCT present, then atleast one occurrence of subsequence B1 is required, and in each occurrence of subsequence B1 a both fields Price (field :90a:) must be specified and a Holding Value (field :19A::HOLD) must be specified (Error code E82). This check only applies when sequence B Sub-safekeeping Account is present as per rule 266, i.e. in sequence A, field :17B::ACTI = Y.

Throws:
SVRException

semantic_validation_rule_283

public static boolean semantic_validation_rule_283(java.lang.String msgType,
                                                   java.lang.String field22H,
                                                   java.lang.String field19A,
                                                   boolean field19AExistsFlag)
                                            throws SVRException
For subsequence B1a2,if field 22H is PAYM//APMT ,field19A is mandatory and must be a POSTING AMOUNT(PSTA).(Error Code E83)

Throws:
SVRException

semantic_validation_rule_284

public static boolean semantic_validation_rule_284(java.lang.String msgType,
                                                   java.lang.String[] sequence,
                                                   java.lang.String sequenceName)
                                            throws SVRException
In each occurrence of sequence B1a, in sequence B1a2, the following Party Fields cannot appear more than once (Error Code E84).

Throws:
SVRException

semantic_validation_rule_285

public static boolean semantic_validation_rule_285(java.lang.String msgType,
                                                   java.lang.String field22H,
                                                   java.lang.String[] field95a,
                                                   boolean sequenceExists)
                                            throws SVRException
If the instruction is a delivery (:22H::REDE//DELI in sequence B2b) and the Settlement Parties sequence B2b1 is used, then it is mandatory to specify a Receiving Agent: One occurrence of the settlement parties sequence B2b1 must contain party field :95a::REAG (Error Code E85). If the instruction is a receipt (:22H::REDE//RECE in sequence B2b) and the Settlement Parties sequence B2b1 is used, then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties sequence B2b1 must contain party field :95a::DEAG (Error Code E85).

Throws:
SVRException

semantic_validation_rule_286

public static boolean semantic_validation_rule_286(java.lang.String msgType,
                                                   java.lang.String[] field95a)
                                            throws SVRException
Throws:
SVRException

semantic_validation_rule_287

public static boolean semantic_validation_rule_287(java.lang.String msgType,
                                                   int numberOfSequenceE3,
                                                   java.lang.String[] field19A)
                                            throws SVRException
Throws:
SVRException

semantic_validation_rule_288

public static boolean semantic_validation_rule_288(java.lang.String msgType,
                                                   java.lang.String field19A,
                                                   boolean sequenceCExistsFlag,
                                                   int numberOfSequenceC)
                                            throws SVRException
In MT 541,543 if the Financial Instrument/Account sequence C is present once, the Settlement Amount (field :19A::SETT) must not be present in sequence C (Error Code E88). In MT 545,547 if the Financial Instrument/Account sequence C is present once, the Effective Settlement Amount (field :19A::ESTT) must not be present in sequence C (Error Code E88).

Throws:
SVRException

semantic_validation_rule_289

public static boolean semantic_validation_rule_289(java.lang.String msgType,
                                                   int numberOfSequenceC,
                                                   int numberOfSequenceE3,
                                                   java.lang.String[] sequenceCfield19A,
                                                   java.lang.String[] sequenceCfield19AString7,
                                                   java.lang.String[] sequenceE3field19A,
                                                   java.lang.String[] sequenceE3field19AString7,
                                                   java.lang.String[] sequenceCCurrency,
                                                   java.lang.String[] sequenceE3Currency)
                                            throws SVRException
For message type MT 541, 543 If sequence C is present two or more times, the Settlement Amount (field :19A::SETT) must be present in every occurrence of sequence C or in none (Error Code E89). In the former case (when sequence C is present two or more times and the Settlement Amount (field :19A::SETT) is present in every occurrence of sequence C) then: The sum of all occurrences of the Settlement Amount (field :19A::SETT) in sequence C must be equal to the Settlement Amount (field :19A::SETT) in sequence E3 and The currency code in the Settlement Amounts (fields 19A::SETT in sequences C and E3) must be the same for all occurrences of these fields in the message. For MT 545, 547 If sequence C is present two or more times, the Settlement Amount (field :19A::ESTT) must be present in every occurrence of sequence C or in none (Error Code E89). In the former case (when sequence C is present two or more times and the Settlement Amount (field :19A::ESTT) is present in every occurrence of sequence C) then: The sum of all occurrences of the Settlement Amount (field :19A::ESTT) in sequence C must be equal to the Settlement Amount (field :19A::ESTT) in sequence E3 and The currency code in the Settlement Amounts (fields 19A::ESTT in sequences C and E3) must be the same for all occurrences of these fields in the message.

Throws:
SVRException

semantic_validation_rule_290

public static boolean semantic_validation_rule_290(java.lang.String msgType,
                                                   java.lang.String[] field99B,
                                                   int numberOfField99B)
                                            throws SVRException
If the Total of Linked Settlement Instructions (field :99B::TOSE) is present, then the Current settlement instruction (field :99B::SETT) must be present (Error Code E90).

Throws:
SVRException

semantic_validation_rule_291

public static boolean semantic_validation_rule_291(java.lang.String msgType,
                                                   boolean field22fDBNMExistsFlag,
                                                   java.lang.String[] field95a)
                                            throws SVRException
For MT541, 545 and 547, If field :22F::DBNM is NOT present in sequence E, then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties sequence E1 must contain party field :95a::DEAG (Error Code E91).

Throws:
SVRException

semantic_validation_rule_292

public static boolean semantic_validation_rule_292(java.lang.String msgType,
                                                   java.lang.String[] field19A,
                                                   int numberOfSequenceE3)
                                            throws SVRException
For MT 541, 543 It is mandatory to specify a Settlement Amount : One occurrence of the amounts sequence E3 must contain amount field :19A::SETT (Error Code E92). For MT 545, 547 It is mandatory to specify an Effective Settlement Amount : One occurrence of the amounts sequence E3 must contain amount field :19A::ESTT (Error Code E92).

Throws:
SVRException

semantic_validation_rule_293

public static boolean semantic_validation_rule_293(java.lang.String msgType,
                                                   boolean field22FExistsFlag,
                                                   java.lang.String[] field95a)
                                            throws SVRException
MT 543,If field :22F::DBNM is NOT present in sequence E, then it It is mandatory to specify a Receiving Agent: One occurrence of the settlement parties sequence E1 must contain party field :95a::REAG (Error Code E93).

Throws:
SVRException

semantic_validation_rule_299

public static boolean semantic_validation_rule_299(java.lang.String msgType,
                                                   java.lang.String[] field99B,
                                                   int numberOfField99B)
                                            throws SVRException
In sequence A, if field :99B::TORE or field :99B::TODE is present, then field :99B::TOSE is mandatory in the same sequence. (Error code E99).

Throws:
SVRException

Sun Message Library for SWIFT API

Copyright © 2008 Sun Microsystems, Inc. All rights reserved.