SWIFT VALIDATION RULES Ptiv PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 223
At a glance
Powered by AI
The document discusses semantic validation rules and error codes applied to SWIFT message components.

Conditional semantic validations define meaning through natural language and logical expressions to program validation rules.

Fields followed by parentheses indicate letter options and a field without indicates no letter option.

Part IV Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Chapter 1 Introduction
In this part: Chapter 2 describes the conditional semantic validation rules which are applied to the components of a number of SWIFT messages. Refer to Part V Message formats, columns Semantic Checking and CR. Chapter 3 lists the text syntactic validation error codes (Txx). Chapter 4 lists the MUG (Message User Group) validation error codes (Gxx). Chapter 5 lists the VAS (Value Added Services) validation error codes (Bxx).

February 2007

1-1

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Chapter 2 Conditional Semantic Validations and Conditional Statements


This chapter describes the various semantic validation rules which are applied to the components of a number of SWIFT messages. These semantic validation rules are defined by two kinds of description expressions: A natural language expression describes the general meaning of the rule (*). A logical expression is used to clarify some ambiguous semantic checking or conditional statements in the natural language expression by using Boolean expressions and pseudocode constructs in order to provide an easy way to program the ad-hoc rule. (*) where a natural language expression would be too difficult to synthesize, or too long (verbose), hence prone to be misunderstood, a matrix is provided. The rows headers and columns headers identify the elements that are involved in the relational expressions (Field Tags, Letter options, Sequence id., code words, etc.). A matrix must be read from the left to the right, and from the top to the bottom, the following abreviations may be used in the frame of each particular matrix and according to the specific relational expressions that must be applied to fields and sequences: M = Mandatory (must be present, i.e. is required), O = Optional (may be present, but is not required), U = Unauthorized (must not be present), Y = Yes (is present), N = No (is not present), xxx = where xxx represents the exact code word , field or subfield value. The following paragraphs provide: the meaning of some notations used in natural language expressions the description of the syntax and the grammar of logical language expressions the list of all the semantic validation rules with their two expressions.

February 2007

2-1

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

2.1

Notations Used in Natural Language Expressions


A field followed by ( ), or a, indicates that the semantic rule applies to all valid letter options of the field in the related message type(s), as well as no letter option when the field may be used without letter option in the related message type(s), e.g. rule #81: If field 56( ) is present, field 57( ) must be present. means that in the MT103_not_STP for example if field 56A, or 56Cor 56D is used, then the field 57A or 57B or 57C or 57D must also be present. Other example, rule 206, MT103_not_STP: If field 55a is present, then both fields 53a and 54a must also be present.means if field 55 is present with any letter option A, or B or D, then the fields 53 and 54 must both be present, with any one of the letter option A, or B, or D.

The following example documents the case where a field may be used with no letter option, e.g. rule 6 in MT210: Either field 50a or field 52a, but not both, must be present in a repetitive sequence.
IF <message210> THEN FOR <sequence21-56*> IF <field50*>XOR<field52*> THEN <continue> ELSE <error:C06> ENDIF ENDFOR ENDIF

The same validation would be performed if the pseudo code was written as follow:
IF <message210> THEN FOR <sequence21-56*> IF ((field50 OR field50C OR AND ((field52A OR field52D) THEN <error:C06> ELSE IF ((field50 OR field50C OR AND ((field52A OR field52D) THEN <error:C06> ELSE <continue> ENDIF ENDIF ENDFOR ENDIF

field50F) is present) is present)

field50F) is not present) is not present)

A field followed by parentheses containing a letter range means all of the valid letter options within that range, and only those letter options, e.g., 37(A-F) means 37A or 37B... or 37F, but not 37G or 37M, etc...

2-2

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

2.2

Syntax of Logical Expressions


The elements used in the validation procedures described here are noted <element>. Elements are defined in a hierarchy, e.g., <constructs> may contain <statements> and <procedures> in their definition, while <statements> are built up from <single statements>, which in turn may refer to message <components>.

<constructs>

<statements>

<procedures>

<single statements>

<components>

<function>

<value>

The description of the elements used in the validation procedure follows:

2.2.1

Constructs
The IF THEN construct indicates the conditional procedure to be carried out if the given statement is true. The procedure can be replaced by another construct. Format:
IF <statement> THEN <procedure>|<construct> ENDIF

The IF THEN ELSE construct indicates the conditional procedure or alternate procedure to be carried out depending on the logical value of the statement, true or false. The procedures can be replaced by another construct. Format:
IF <statement> THEN <procedure>|<construct> ELSE <procedure>|<construct> ENDIF

The FOR construct indicates the iterative procedure to be carried out for each occurrence of a given statement. The procedure can be replaced by a construct. This construct is also used in conjunction with the TOTAL_OF function (see section 2.2.5 Functions).

If the statement used in the FOR construct is an index statement (see section 2.2.3 Statements), the index variable is incremented by 1 at the end of the construct (ENDFOR).
FOR <statement> <procedure>|<construct> ENDFOR

February 2007

2-3

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

2.2.2

Procedures
The validation process uses the following procedures:
<error: id>

end validation procedure and output an error message of error code id.
<exit>

end validation procedure, no error detected


<continue>

continue with validation procedure until completed, or <exit>, <error: id> procedures encountered.

2.2.3

Statements
A statement can be a single statement, or made up from existing statements (composed statements)

2.2.3.1

Single Statements
The following symbols are used as single statements:
<component>

component is present
<component1:component2:component3:...>

the specified component within the hierarchy of components is present


1<component>

at least one component is present (for repetitive components) n<component> at least n components are present (for repetitive components) 1!<component> one and only one component is present (for repetitive components) <component>={<component1>,<component2>,...} component is made out of listed [sub]components <component><component1>[,<component2>,...] component contains listed [sub]components <component1>NOT= <value>|<component2> content of numeric component1 is equal/not equal to content of component2 <component1>>|< <value>|<component2> content of numeric component1 is greater/lesser than content of numeric component2 <component>NOT= <value>|<function> content of component is equal/not equal to given value or function <index> = <value1>,<value2> content of index variable is comprised into two given values (value1 being the minimum value, value2 being the maximum value)

2-4

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

2.2.3.2

Compound Statements
A compound statement is obtained by applying logical operators NOT, OR/XOR, AND to existing statements, using the production rules.
<statement>::=[NOT]<statement> <statement>::=<statement>OR|XOR<statement> <statement>::=<statement>AND<statement>

Parentheses must be used to remove any ambiguous interpretation of complex statements and to ease readibility of a statement.
e.g., (<field32B>OR<field33B>) AND <field34B>

2.2.4

Components
The following symbols are used to define message components:
<componentid>

defines a component with identifier id


<componentid1|id2|...>

specifies any component with identifier id or id2...


<componentid(index)>

identifies the location of a component with identifier id inside a repetitive sequence, index representing the number of the occurrence Four component hierarchies are considered, i.e. message, sequence of fields or sequence, fields and subfields. The following notations are used:
<message 430>

identifies a message type 430


<sequence A>

identifies a sequence identified by A in this book


<sequence 10-30>

identifies a sequence of fields, with first field having field tag 10 and last field having tag 30
<field 30>

identifies a field with field tag 30


<field30A|B>

identifies 2 permissible letter options for given field

February 2007

2-5

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

<field30*>

identifies all permissible letter options for given field


<subf n>

identifies the nth subfield, within given field


<AMOUNT>, <CUR>...

defines various subfields as defined in this book To remove any ambiguity on components, components must be described with their hierarchy.
<sequenceA:field33B:CUR>

defines the currency code in field 33B of sequence A

2.2.5

Functions
The following functions are defined:

2.2.5.1

The Total Function


The total function accumulates given numeric value or content of numeric component. This function can also be used in conjunction with the FOR construct. Format:
Total_of <component>

Total obtained by accumulating content of component for each occurrence of the component.
Total_of <value>|<component> FOR <statement>

Total obtained by accumulating content of component or value each time the statement is true. The <value> is very useful to count the occurrence of a repetitive component, e.g., Total of 1 FOR <sequenceC> counts the number of times sequence C is present in the message.

2.2.5.2

The Substring Function


The substring function is used to extract a string of characters from a given alphanumeric/character component of another string. Format:
Substring_of <string>|<component>, <value1> <value2>

where <value1> is the position of the first character to extract <value2> is the position of the last character to extract

2-6

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

2.2.5.3

The Multiply Function


The multiply function is used to calculate the product of two numerical components. Format:
MUL_OF <component1>, <component2>

2.2.6

Values
Two types of values are used, numeric and string.

2.2.6.1

Numeric Values
Numeric values are used in single statements to allow comparison between the content of a numeric component and a numeric constant, e.g., <field32A:AMOUNT>=0. Numeric values can be either signed or unsigned.

2.2.6.2

String
A string is a chain of characters, e.g., SWIFT, SETTLE. Strings appear in single statements, typically comparisons such as <field23>=INT. The comparison between a string and a component is always to be made in considering the length AND the content. It means that both elements are declared equal, first of all if they have the same length, and then if their contents are identical. Lets take some examples:

Example 1: <field 22:subf 1> = SETTLE


means comparison between the content of the first subfield of field 22 and the string SETTLE (6 characters.). The format of the first subfield of field 22 is 8a (variable length). If its content is SETTLEe (7 characters), the result of the comparison is FALSE, since lengths are different. If its content is SETTLEX (7 characters), the result of the comparison is FALSE, since lengths are different. If its content is SETTLE (6 characters), the result of the comparison is TRUE.

Example 2: <field 22:subf 1> = AMEND/FINRESET/RESET


means comparison between the content of the first subfield of field 22 and one of the strings AMEND (5 characters), FINRESET (8 characters) and RESET (5 characters). The format of the first subfield of field 22 is 8a (variable length code word). If its content is AMENDeee (8 characters), the comparison is made with string FINRESET (the only one having the same length), and the result is declared FALSE, since contents are different. If its content is AMEND (5 characters), comparisons are made with strings AMEND and RESET (the result of the first comparison is TRUE).

February 2007

2-7

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

If the content is ASSIGNEE (8 characters), the comparison is made with string FINRESET and the result is declared FALSE, since contents are different.

2.3

List of the Semantic Validation Rules


Refer to Part V, Chapters 1 to 10, column Semantic Checking, for the message format and field tags where these semantic rules apply.

RULE 0

(C00) Not used.

RULE 1

(C01) MTs 201, 203, 204, and 559. The amount in field 19 must equal the sum of the amounts in all occurrences of field 32B or 34A.
IF <message201|203|204|559> THEN IF NOT (<field19:AMOUNT> = TOTAL_of <field32B|34A:AMOUNT>) THEN <error:C01> ENDIF ENDIF

MTs 820, 821, 823 and 824. Field 19 at the completion of each outer repetitive sequence must equal the sum of the products of subfields 1 and 3 in all occurrences of field 68A from its respective inner repetitive sequence(s).
IF <message820|821|823|824> THEN FOR <sequence 68A-19> IF NOT (<field 19:AMOUNT> = TOTAL_OF (MUL_OF <field 68A :subf 1>, <field 68A :subf 3>)) THEN <error:C01> ELSE <continue> ENDIF ENDFOR ENDIF

MT 102_not_STP, 102_STP, 104, 107. If field 19 is present in sequence C then it must be equal to the sum of the amounts in all occurrences of field 32B in sequence B.
IF <message102_not_STP' | '102_STP' | '104 | 107> THEN IF <field 19> THEN IF NOT (<field 19: AMOUNT> = Total_of <field 32B: AMOUNT>) THEN <error:C01> ENDIF ENDIF ENDIF

MT 256

2-8

RULE 0

(C00)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

If field 19 is present in sequence C then it must be equal to the sum of the amounts in all occurrences of field 32J in sequence B.
IF <message256> THEN IF <field 19> THEN IF NOT (<field 19: AMOUNT> = Total_of <field 32J: AMOUNT>) THEN <error:C01> ENDIF ENDIF ENDIF

RULE 2

(C02) "WHERE USED" of RULE 2: Please refer to Part V Message Type formats, column "Semantic checking"-Legacy- and column "Conditional" -ISO15022-. The currency code must be the same for all occurrences of indicated fields in the entire message. MT 102_not_STP, 102_STP The currency code in the fields 71G, 32B and 32A must be the same for all occurrences of these fields in the message. MT 103_not_STP, 103_STP If field 71G is present, the currency code in the fields 71G and 32A must be the same. MT 104, 107 The currency code in fields 32B and 71G in Sequences B and C must be the same for all occurrences of these fields in the message. The currency code in field 71F (in sequences B and C) must be the same for all occurrences of this field in the message . MT 207 The currency code in field 32B must be the same for all occurrences of this field in the message. MT 321 The currency code in the amount fields (fields 19A in Seq. B) must be the same for all occurrences of this field in the message (Error code : C02).

RULE 3

(C03) "WHERE USED" of RULE 3: Please refer to Part V Message Type formats, column "Semantic checking"-Legacy- and column "Conditional" -ISO15022-. The number of decimal digits in the amount component is checked against the maximum allowed for the corresponding currency. This check is mostly applied to fields containing both the amount and the currency code components, ex (the following list is not exhaustive) : field 32B in MT207 sequence B. field 32A in MT103, or in MT256 sequence C. field 32B in MT104 and 107 sequence B, and sequence C,

February 2007

RULE 2

(C02)

2-9

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

field 33B in MT103, or in MT104 and 107 sequence B, field 71F in MT103, or in MT104 and 107 sequence B, and sequence C, field 71G in MT103, or in MT104 and 107 sequence B, and sequence C, field 72 Reject/Return in MT103, or in MT104 and 107 sequence A. This check is also applied to : field 19 in MTs 102_not_STP, 102_STP, 104, 107 201, 203, 204, and 559 where the corresponding currency is the one used in field 32B or 34A, field 19 in MT 405 where the corresponding currency is the one used in field 32a, field 19 in MTs 820, 821, 823, and 824 where the corresponding currency is the one used in corresponding occurrences of field 68A, The check is also applied in MT206 to field 32J in sequence B, and to field 19 in sequence C, where the corresponding currency is the one used in field 32A, if field 32A is not present then the Rule 3 is not applied. The check is also applied in MT256 to field 32J in sequence B, and to field 19 in sequence C, where the corresponding currency is the one used in field 32A. Note: CO3 should only be applied to field 68A in MTs 820, 821, 823, and 824 if subfield 5 is present.

RULE 4

(C04) MT 503, 504, 506 In sequence B, if field :19B::TEXA is not present, then field :19B::TCRL is mandatory, otherwise field :19B::TCRL is optional (Error Code C04). Sequence B if field :19B::TEXA is
Not Present Present

Sequence B then field :19B::TCRL is


Mandatory Optional

RULE 5

(C05) MTs <see matrix below> The BIC must NOT be a BEI, i.e. must not be of subtype BEID or TRCO or TESP or MCCO or SMDP or CORP (Error code C05) note: this validation rule applies to all types of BICs referenced in a FIN message: SWIFTBIC, NON-SWIFTBIC, Master, Synonym, LIVE destination, T&T destination.
IF <BIC_Subtype> = ("BEID" | "TRCO" | TESP | MCCO | SMDP | CORP) THEN <error:C05> ENDIF

2-10

RULE 4

(C04)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

"Legacy" and "ISO 15022" MTs where Rule 5 is applied: Legacy: MT/sequence/field/letter_option ISO 15022: MT/sequence/field/letter_option /qualifier. note: Rule 5 is the opposite of Rule 257 MT
101

Seq.
A B B B A B B C C

Field
52A 52A 56A 57A 52A 52A 57A 53A 54A 52A 53A 54A 55A 56A 57A same validation for 102 generic (no tag 119), and for 102_STP

102

103

same validation for 103 generic (no tag 119), and other 'flavors', i.e. 103_REMIT, 103_STP

104

A B B C (*) A B B C

52A 52A 57A 53A 52A 52A 57A 53A 53A 54A 52A 52A 52A 56A 57A 56A 57A 52A 53A 54A 56A 57A 58A 52A 53A

same validation for 104 generic (no tag 119), and. 104_RFDD (*) ref RULE 96, 104_RFDD Seq. C not present

107

110

111 112 200 201 202

203

February 2007

RULE 5

(C05)

2-11

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

54A 56A 57A 58A 204 A A B 57A 58A 53A 52A 53A 56A 57A 58A A B B C A A A B B B 52A 58A 52A 57A 51A 52G 52A 56A 57A 58A 52A 56A C B1 B1 B1 B2 B2 B2 D D D D1 D1 D1 D2 D2 D2 D3 D3 D3 B B B B B B E 57A 53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J 53 A,J

205

206

207

210 256 300

303

304

2-12

RULE 5

(C05)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

E E 305

56 A,J 57 A,J 53A 56A 57A

306

B C C C C E E E E C C C C D D D D E E E E F F F F C C C C D D D D E E E E F F F F C C C C D D

84 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J

320

330

340

February 2007

RULE 5

(C05)

2-13

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

D D 341 C C C C C C C C D D D D G G G G L L L L M M M M D D D D G G G G J J J J K K K K L L L L M M M M

56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A

350

360

361

2-14

RULE 5

(C05)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

362

C C C C E E E E L L L L M M M M J J J J K K K K L L L L M M M M

53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A

364

365

MT
307

Seq.
B3a D1

Field
95P 95P 95P 95P

Qualifier
CDEA INTE ACCW CDEA INTE ACCW CDEA INTE ACCW CDEA INT2 INTE ACCW

308 321

B4b C1

400

52A 53A 54A 57A 58A A B B B3 B3 52A 52A 57A 56A 53A

405

February 2007

RULE 5

(C05)

2-15

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

C C 416 450 455 456 516 559 582 B B B A

56A 53A 53A 52A 52A 52A 57A 57A 56A 57A

MT
502 504

Seq.
C2 C2a1 E1

Field
95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P 95P

Qualifier
ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW PAYE ACCW ACCW PAYE ACCW PAYE ACCW

505

B2a1 D1

507 513 514 515 518 528 529 540 541 542 543 544 545 546 547 566 578 586 588

B1b1 D2 C2 D2 C2 C2 C2 E2 E2 E2 E2 E2 E2 E2 E2 D2a E2 B5b E1

2-16

RULE 5

(C05)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

600

B B B B B C C C C

86A 87A 53A 56A 57A 86A 87A 56A 57A 53A 56A 57A 82A 86A 87A 88A 82A 87A 88A 82A 87A 88A 82A 87A

601

604

605

606

607 643 644 645 646 B C B C C

57A 57A 57A 57A 57A

700

51A 41A 42A 53A 57A 41A 57A 52A 52A 51A 41A 42A 53A 57A

705 707 710

February 2007

RULE 5

(C05)

2-17

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

720

52A 41A 42A 57A 57A 57A 58A 41A 42A 52A 57A 58A 57A 53A 54A 53A 57A 58A 53A 54A 57A 57A

730 734 740

742

750 752 754

756 768 769

800

51A 52A 53A 54A 51A 52A 53A 54A 51A 57A 57A 51A 57A 51A 51A 51A 51A 52A 51A

801 802

810 812 813 820 821 822 823 824

2-18

RULE 5

(C05)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

900 910 985

52A 52A 56A 57A

n90 n91

52A 52A 57A

RULE 6

(C06) MT 210. Either field 50a or field 52a, but not both, must be present in a repetitive sequence.
IF <message210> THEN FOR <sequence21-56*> IF ((field50 OR field50C OR AND ((field52A OR field52D) THEN <error:C06> ELSE IF ((field50 OR field50C OR AND ((field52A OR field52D) THEN <error:C06> ELSE <continue> ENDIF ENDIF ENDFOR ENDIF

field50F) is present) is present)

field50F) is not present) is not present)

IF <message210> THEN FOR <sequence21-56*> IF <field50*>XOR<field52*> THEN <continue> ELSE <error:C06> ENDIF ENDFOR ENDIF

MT 710, 720 Either field 52a Issuing Bank or field 50B Non-Bank Issuer, but not both, must be present.
If field 52a is Present Not present Then field 50B is Not allowed Mandatory

February 2007

RULE 6

(C06)

2-19

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 910. Either field 50a or field 52a, but not both, must be present.
IF <message910> THEN IF <field50*>XOR<field52*> THEN <continue> ELSE <error:C06> ENDIF ENDIF

RULE 7

(C07) MT 516. Either field 35A or 35N must be present.


IF <message 516> THEN IF NOT (<field 35A> OR <field 35N>) THEN <error: C07> ENDIF ENDIF

RULE 8

(C08) Available.

RULE 9

(C09) MT 430. In each occurrence of sequence A, if field 33a is present then field 32a must be present.
IF <message430> THEN FOR <sequenceA> IF <field33*> THEN IF NOT<field32*>THEN<error:C09> ENDIF ENDIF ENDFOR ENDIF

RULE 10

(C10) MT 422. At least one of the fields 72, 75 or 76 must be present.


IF <message422> THEN IF NOT (<field72>OR<field75>OR<field76>) THEN <error:C10> ENDIF ENDIF

RULE 11

(C11) MT 400. If field 57( ) is present, fields 53( ) and 54( ) must be present.

2-20

RULE 7

(C07)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

IF <message400> THEN IF <field57*> THEN IF NOT (<field53*>AND<field54*>) THEN <error:C11> ENDIF ENDIF ENDIF

RULE 12

(C12) MTs 707 and 747. When field 32B or 33B is present, field 34B must be present. Conversely, when field 34B is present, either field 32B or 33B must be present.
IF <message707|747> THEN IF <field32B>OR<field33B>OR<field34B> THEN IF NOT ((<field32B>OR<field33B>)AND<field34B>) THEN <error:C12> ENDIF ENDIF ENDIF

RULE 13

(C13) MT 750. If any of fields 33B, 71B or 73 is present, field 34B must be present.
IF <message750> THEN IF <field33B>OR<field71B>OR<field73> THEN IF NOT <field34B> THEN <error:C13> ENDIF ENDIF ENDIF

RULE 14

(C14) MTs 559, 582, and 754. Either field 53( ) or 57( ), but not both, may be present.
IF <message559|582|754> THEN IF<field53*>AND<field57*>THEN <error:C14> ENDIF ENDIF

RULE 15

(C15) MT 747. At least one of the fields 31E, 32B, 33B, 34B, 39A, 39B, 39C, 72 or 77A must be present.

February 2007

RULE 12 (C12)

2-21

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

IF <message747> THEN IF NOT (<field31E>OR<field32B>OR<field33B>OR <field34B>OR<field39A>OR<field39B>OR <field 39C>OR<field72>OR<field77A>) THEN <error:C15> ENDIF ENDIF

RULE 16

(C16) MT 707. If field 23 is present, field 52( ) must be present.


IF <message707> THEN IF<field23> THEN IF NOT<field52*> THEN <error:C16> ENDIF ENDIF ENDIF

RULE 17

(C17) MT 734. If field 73 is present, field 33( ) must be present.


IF <message734> THEN IF<field73> THEN IF NOT <field33*> THEN <error:C17> ENDIF ENDIF ENDIF

RULE 18

(C18) MT 752. If fields 32B and 71B are present, field 33( ) must be present.
IF <message752> THEN IF<field32B>AND<field71B> THEN IF NOT<field33*> THEN <error:C18> ENDIF ENDIF ENDIF

RULE 19

(C19) MT 754. Either field 72 or 77A, but not both, may be present.
IF <message754> THEN IF<field72>AND<field77A> THEN <error:C19> ENDIF ENDIF

2-22

RULE 16 (C16)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 20

(C20) MTs 305 andMT 601. Field 53 ( ) may only be present if field 34P is used.
IF <message305|601> THEN IF<field53*>THEN IF NOT<field34P> THEN <error:C20> ENDIF ENDIF ENDIF

RULE 21

(C21) Available.

RULE 22

(C22) MT 920. If field 12 consists of 942, field 34F must be present in the same repetitive sequence.
IF <message920> THEN FOR <sequence12-34F> IF <field12>=942 THEN IF NOT 1<field34F> THEN <error:C22> ENDIF ENDIF ENDFOR ENDIF

RULE 23

(C23) MTs 920 and 942. When only one field 34F is present, the second subfield must not be used. When both fields 34F are present, the second subfield of the first 34F must consist of D, and the second subfield of the second 34F must consist of C. In MT 920, this applies to each repetitive sequence.

RULE 24

(C24) MT 940. If field 86 is present in any occurrence of the repetitive sequence, it must be preceded by a field 61.
IF <message940> THEN FOR <sequence61-86> IF <field86> THEN IF NOT <field61> THEN <error:C24> ELSE <continue> ENDIF ENDIF ENDFOR ENDIF

February 2007

RULE 20 (C20)

2-23

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 25

(C25) MT n92. At a minimum, either field 79 or a copy of any field(s) of the original message to which this message relates' (*) must be present.
IF <messagen92> THEN IF NOT (<field79>OR<original message:any field(s)>) THEN <error:C25> ENDIF ENDIF

Field 79 is
Present Not Present

then copy of any field(s) of original message is


Optional Mandatory (i.e. minimum one field)

(*) SWIFT does not validate the relationship between the copied fields and the original message, hence, any valid field(s) different than 79 is(are) valid. RULE 26 (C26) MT 430. At least one of the optional fields 32a or 74 must be present.
IF <message430> THEN IF NOT (1<field32*> OR <field74>) THEN <error:C26> ENDIF ENDIF

RULE 27

(C27) MTs 940, 941, 942, 950, 970, and 972. 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, 941, 942, 950, 970, 972 and field 34F in MT 942 must be the same for all occurrences of these fields.

2-24

RULE 25 (C25)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

IF <message942> THEN IF <optional field34F> THEN IF substr_of <optional field34F:CUR>,1,2 NOT= substr_of <mandatory field34F:CUR>,1,2 THEN <error:C27> ENDIF ENDIF IF <field90C> THEN IF substr_of <field90C:CUR>,1,2 NOT= substr_of <mandatory field34F:CUR>,1,2 THEN <error:C27> ENDIF ENDIF IF <field90D> THEN IF substr_of <field90D:CUR>,1,2 NOT= substr_of <mandatory field34F:CUR>,1,2 THEN <error:C27> ENDIF ENDIF ENDIF

February 2007

RULE 27 (C27)

2-25

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

IF <message940|941|950|970|972> THEN FOR <field62F|M> THEN IF substr_of <field62F|M:CUR>,1,2 NOT= substr_of <field60F|M:CUR>,1,2 THEN <error:C27> ENDIF ENDFOR IF <field64> THEN IF substr_of <field64:CUR>,1,2 NOT= substr_of <field60F|M:CUR>,1,2 THEN <error:C27> ENDIF ENDIF IF <field65> THEN IF substr_of <field65:CUR>,1,2 NOT= substr_of <field60F|M:CUR>,1,2 THEN <error:C27> ENDIF ENDIF IF <message 941> THEN IF <field 90D> THEN IF substr_of <field 90D:CUR>1,2 NOT= substr_of <field 60F|M:CUR>1,2 THEN <error: C27> ENDIF ENDIF IF <field 90C> THEN IF substr_of <field 90C:CUR>1,2 NOT= substr_of <field 60F|M:CUR>1,2 THEN <error: C27> ENDIF ENDIF ENDIF ENDIF

RULE 28

(C28) Available

RULE 29

(C29) MT 645. Either field 71B in sequence A or field 71C in sequence C must be present, if sequence B is not present.
IF <message645> THEN IF NOT <sequenceB> THEN IF NOT (<sequenceA:field71B>OR <sequenceC:field71C>) THEN <error:C29> ENDIF ENDIF ENDIF

2-26

RULE 28 (C28)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 30

(C30) MT 707. At least one of the fields 31E, 32B, 33B, 34B, 39A, 39B, 39C, 44A, 44E, 44F, 44B, 44C, 44D, 79 or 72 must be present.
IF <message707> THEN IF NOT (<field31E>OR<field32B>OR<field33B>OR<field34B>OR <field39A>OR<field39B>OR<field39C>OR<field44A>OR <field44B>OR<field44C>OR<field44D>OR<field79>OR <field72>) THEN <error:C30> ENDIF ENDIF

RULE 31

(C31) MTs n95 and n96. Either field 79 or a copy of any field(s) of the original message to which this message relates (*), but not both, may be present.
IF <messagen95|n96> THEN IF <field79>AND<original message:any field(s)> THEN <error:C31> ENDIF ENDIF

(*) SWIFT does not validate the relationship between the copied fields and the original message, hence, any valid field(s) different than 79 is(are) valid. RULE 32 (C32) MTs 300, 303, 304, 306, 320, 330, 340, 350, 360, 361, 362, 364, 365, 405, 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 in ...) within this sequence is missing. (ref. Part V: Tables of Messages. Fields with Status = OR or with Status = Mandatory in ... in a sequence of fields declared as optional) RULE 33 (C33) MTs 768 and 769. If field 71B is present, field 32( ) must be present.
IF <message768|769> THEN IF<field71B> THEN IF NOT<field32*> THEN <error:C33> ENDIF ENDIF ENDIF

RULE 34

(C34) MT 308

February 2007

RULE 30 (C30)

2-27

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

In each occurrence of Seq. B, either Subsequence B3 Gross Settlement or Subsequence B4 Net Settlement must be present, but not both (Error Code C34). MT 769. Either field 33B or field 39C, but not both, must be present.
IF <message769> THEN IF NOT (<field33B>XOR<field39C>) THEN <error:C34> ENDIF ENDIF

RULE 35

(C35) MTs 643, 644, 645, 646 and 649. Either field 21 or 29B must be present.
IF <message643|644|645|646|649> THEN IF NOT (<field21>OR<field29B>) THEN <error:C35> ENDIF ENDIF

RULE 36

(C36) MTs 643 and 646. The second subfield (<DATE2>) of field 31F must be present, in each occurrence of sequence B.
IF <message643|646> THEN FOR <sequenceB> IF <field31F:subf 2> THEN <continue> ELSE <error:C36> ENDIF ENDFOR ENDIF

RULE 37

(C37) MT 577. The second subfield [<DATE2>] of field 67A must not be present.
IF <message577> THEN IF <field67A:subf 2> THEN <error:C37> ENDIF ENDIF

RULE 38

(C38) MT 645. The third subfield [35x] of field 31F must not be present.

2-28

RULE 35 (C35)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

IF <message645> THEN IF <field31F:subf 3> THEN <error:C38> ENDIF ENDIF

RULE 39

(C39) MT 813. Either sequence A or sequence B must be present.


IF <message813> THEN IF NOT (<sequenceA>OR<sequenceB>) THEN <error:C39> ENDIF ENDIF

RULE 40

(C40) MT 920. The currency code must be the same for each occurrence of the indicated fields within each repetitive sequence.
IF <message 920> THEN FOR <sequence 12-34F> IF total of <field 34F> = 2 THEN IF <field 34F (1):CUR> NOT= <field 34F (2):CUR> THEN <error:C40> ELSE <continue> ENDIF ELSE <continue> ENDIF ENDFOR ENDIF

RULE 41

(C41) MT 813. If field 34B or field 73 is present, field 32A must be present.
IF <message813> THEN IF <field34B>OR<field73> THEN IF NOT<field32A> THEN <error:C41> ENDIF ENDIF ENDIF

RULE 42

(C42) MTs 820, 821, 823 and 824. The currency code in each of the fields 68A of a sequence of fields 68A preceding a field 19 must be the same.

February 2007

RULE 39 (C39)

2-29

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

IF <message820|821|823|824> THEN FOR <sequence 68A-19> FOR i = 1,n IF <field68A(i):CUR> NOT= <field68A(1):CUR> THEN <error:C42> ENDIF ENDFOR ENDFOR ENDIF

RULE 43

(C43) MT 646. Either field 32N or field 33N must be present.


IF <message646> THEN IF NOT (<field32N>OR<field33N>) THEN <error:C43> ENDIF ENDIF

RULE 44

(C44) MT 646. If fields 32N and 33N are present in sequence C,field 34( ) must be present in sequence C.
IF <message646> THEN IF <field32N>AND<field33N> THEN IF NOT<sequence C:field34*> THEN <error:C44> ENDIF ENDIF ENDIF

RULE 45

(C45) MT 646. If field 23 consists of the code word REPRINC or PREPRINC, field 32N must be present in sequence C.
IF <message646> THEN IF <field23>=REPRINC|PREPRINC THEN IF NOT<field32N> THEN <error:C45> ENDIF ENDIF ENDIF

RULE 46

(C46) MT 646. If field 23 consists of the code word INT, field 33N must be present in sequence C.

2-30

RULE 43 (C43)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

IF <message646> THEN IF <field23>=INT THEN IF NOT<field33N> THEN <error:C46> ENDIF ENDIF ENDIF

RULE 47

(C47) MT 643. If field 23 consists of the code words LOAN/DRAWDOWN or FINARR/DRAWDOWN, sequence B must not be present.
IF <message643> THEN IF <field23>=LOAN/DRAWDOWN OR <field23>=FINARR/DRAWDOWN THEN IF <sequenceB> THEN <error:C47> ENDIF ENDIF ENDIF

RULE 48

(C48) MT 643. If field 23 consists of the code words LOAN/RENEWAL or FINARR/RENEWAL, sequence B must be present.
IF <message643> THEN IF <field23>=LOAN/RENEWAL OR <field23>=FINARR/RENEWAL THEN IF NOT <sequenceB> THEN <error:C48> ENDIF ENDIF ENDIF

RULE 49

(C49) MT 456. If field 71B is present, the values in fields 32( ) and 33D must be different.
IF <message456> THEN FOR <sequence20-77D> IF <field71B> THEN IF <field32*:AMOUNT>=<field33D:AMOUNT> THEN <error:C49> ELSE <continue> ENDIF ENDIF ENDFOR ENDIF

RULE 50

(C50) MT 540, 541, 542, 543

February 2007

RULE 47 (C47)

2-31

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

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).
In Seq. A1 if field :36B::PAIR is Present Not present PAIR nNot applicable/a then in Sequence E, field :22F::SETR/[8c]/4!c must be

Note: DSS is optional in field 22F, the presence, or absence, of DSS in field 22F has no impact on the validation rule. RULE 51 (C51) MT 643. If field 23 consists of the code words LOAN/DRAWDOWN or LOAN/RENEWAL, field 31R must be present.
IF <message643> THEN IF <field23>=LOAN/DRAWDOWN OR <field23>=LOAN/RENEWAL THEN FOR <sequenceC> IF NOT <field31R> THEN <error:C51> ELSE <continue> ENDIF ENDFOR ENDIF ENDIF

RULE 52

(C52) Available

RULE 53

(C53) MT 643. If field 71C is present in any sequence B, field 34( ) must be present in the same sequence.
IF <message643> THEN FOR <sequenceB> IF <field71C> THEN IF NOT <field34*> THEN <error:C53> ENDIF ELSE <continue> ENDIF ENDFOR ENDIF

RULE 54

(C54) MT 644.

2-32

RULE 51 (C51)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Either field 36 or field 37(A-F) must be present in any sequence B.


IF <message644> THEN FOR<sequenceB> IF <field36>OR<field37A|B|C|D|E|F> THEN <continue> ELSE <error:C54> ENDIF ENDFOR ENDIF

RULE 55

(C55) MT 644. In any sequence B, the currency code in fields 33B and 34( )must be the same.
IF <message644> THEN FOR<sequenceB> IF <field33B:CUR> NOT= <field34*:CUR> THEN <error:C55> ELSE <continue> ENDIF ENDFOR ENDIF

RULE 56

(C56) Available

RULE 57

(C57) MT 646. If field 34N is present in any sequence B, field 31F in the same sequence B and 33N in sequence C must be present.
IF <message646> THEN FOR <sequenceB> IF <field34N> THEN IF <field31F> and <sequenceC:field33N> THEN <continue> ELSE <error:C57> ENDIF ENDIF ENDFOR ENDIF

RULE 58

(C58) MT 300 In sequence A, if field 77D is present and if the first six (6) characters of the first line are equal to /VALD/ then the next eight (8) characters must contain a date expressed as YYYYMMDD and followed by the "end_of_line" code, i.e. CrLf(Error code(s): C58) Note: the <DATE4> validation (as defined in Part II, 4.1 Date) applies to YYYYMMDD; however, any kind of error found on the 1st line after the code /VALD/ returns the error

February 2007

RULE 55 (C55)

2-33

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

code C58. Refer rule 59.

MT 304 In sequence C, if field 72 is present and if the first six (6) characters of the first line are equal to /VALD/ then the next eight (8) characters must contain a date expressed as YYYYMMDD and followed by the "end_of_line" code, i.e. CrLf (Error code(s): C58) Note: the <DATE4> validation (as defined in Part II, 4.1 Date) applies to YYYYMMDD; however, any kind of error found on the 1st line after the code /VALD/ returns the error code C58. Refer rule 59.

2-34

RULE 58 (C58)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 646. If field 34N is present in any sequence B, the total amount given in field 33N must equal the total amount of all occurrences of field 34N amounts in sequence B.
IF <message646> THEN IF 1 <sequence B:field 34N> THEN IF <sequence C:field33N:AMOUNT> NOT= TOTAL_of <sequenceB:field34N:AMOUNT> THEN <error:C58> ENDIF ENDIF ENDIF

RULE 59

(C59) MT 300 In sequence A, if field 77D is present and if the first six (6) characters of the first line are equal to /VALD/, then the second line must be present and contain /SETC/<CUR>CrLf (Error code(s): C59) Conversely, in sequence A, if field 77D is present, and the second line is present, and the first six (6) characters of the second line are equal to /SETC/, then the first six (6) characters of the first line must be equal to /VALD/ (Error code(s): C59). Any kind of error related to the 2nd line (line not present, invalid /SETC/ code, invalid ISO 4217 currency code) returns the error code C59. Rule 58 takes precedence over rule 59.

MT 304 In sequence C, if field 72 is present and if the first six (6) characters of the first line are equal to /VALD/, then the second line must be present and contain /SETC/<CUR>CrLf (Error code(s): C59) Conversely, in sequence C, if field 72 is present, and the second line is present, and the first six (6) characters of the second line are equal to /SETC/, then the first six (6) characters of the first line must be equal to /VALD/ (Error code(s): C59). Any kind of error related to the 2nd line (line not present, invalid /SETC/ code, invalid ISO 4217 currency code) returns the error code C59. Rule 58 takes precedence over rule 59.

February 2007

RULE 59 (C59)

2-35

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 321 In sequence B, the presence of field 19A and of the Next Interest Due Date (field :98A::INTR) depends on the Type of Loan/Deposit Event (field :22H::TLDE) in sequence A as follows (Error Code : C59): In Sequence A if field :22H::TLDE Indicator is
CONF ROLL MATU

Sequence B then field :98A::INTR is


Mandatory Mandatory Not allowed

Sequence B and field :19A::SETT is


Not allowed Mandatory Mandatory

Sequence B and field :19A::RODI is


Not allowed Optional Not allowed

Sequence B and field :19A::CINT is


Not allowed Optional Optional

Sequence B and field :19A::NINT is


Mandatory Mandatory Not allowed

MT 800. The amounts in fields 34B and 32A must be the same.
IF <message800> THEN IF <field34B:AMOUNT> NOT= <field32A:AMOUNT> THEN <error:C59> ENDIF ENDIF

RULE 60

(C60) MT 307 In sequence A, the presence of the Open Indicator (field :22H::APER) and the presence of the Net Settlement Indicator (field :22H::NEGR) depend on the Contract Type (field :22H::CRTR) as follows (Error Code : C60): In Sequence A if field :22H::CRTR Indicator is
ASET AFWD

Sequence A then field :22H::APER is


Not allowed Mandatory

Sequence A and field :22H::NEGR is


Optional Mandatory

MT 321 In sequence A, the presence of the Number Count (field :99B::) depends on the presence of the Block Trade Indicator (field :22H::BLOC) as follows (Error Code : C60):
In Sequence A if field :22H::BLOC is Present Not present Sequence A then field :99B:: is Mandatory Not allowed

MT 643. In each sequence B, the currency code in fields 32P, 33( ) and 34( ) must be the same.

2-36

RULE 60 (C60)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

IF <message643> THEN FOR <sequenceB> IF <field32P:CUR>=<field33*:CUR>=<field34*:CUR> THEN <continue> ELSE <error:C60> ENDIF ENDFOR ENDIF

RULE 61

(C61) MT 307 In sequence A, the presence of the Close Indicator (field :22H::PAFI) depends on the Open Indicator (field :22H::APER) as follows (Error Code : C61):
In Sequence A if field :22H::APER Indicator is OPEF NOPE Field :22H::APER not present Sequence A then field :22H::PAFI is Not allowed Mandatory Not allowed

MT 321 In sequence B, the presence of the Last Day of the First Interest Period (field :98A::LDFP), depends on the value of the Indicator of Type of Loan/Deposit Event (field :22H::TLDE) as follows (Error Code : C61):
In Sequence A if field :22H::TLDE Indicator is MATU Not MATU Sequence B then field :98A::LDFP is Not allowed Optional

MT 643. In each sequence C, the currency code in fields 32B and 33B must be the same.
IF <message643> THEN FOR <sequenceC> IF <field32B:CUR> NOT= <field33B:CUR> THEN <error:C61> ELSE <continue> ENDIF ENDFOR ENDIF

RULE 62

(C62) MT 307 The presence of sequence C depends on the Open Indicator (field :22H::APER) as follows (Error Code : C62):

February 2007

RULE 61 (C61)

2-37

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

In Sequence A if field :22H::APER Indicator is OPEF NOPE Field :22H::APER not present

Then Sequence C is Not allowed Mandatory Not allowed

MT 321 In sequence B, the presence of the Number of Days Accrued (field :99B::DAAC) depends on the presence of the Last Day of the First Interest Period (field :98A::LDFP) as follows (Error Code : C62):
In Sequence B if field :98A::LDFP is Present Not present Sequence B then field :99B::DAAC is Mandatory Not allowed

MT 813. If field 21 consists of the code word NONREF, field 59 must be present.
IF <message813> THEN IF <field21>=NONREF THEN IF NOT<field59> THEN <error:C62> ENDIF ENDIF ENDIF

RULE 63

(C63) MT 307 In sequence A, the presence of the qualifier UNKN in the Net Settlement Indicator (field :22H::NEGR//UNKN) depends on the content of the Contract Type (field :22H::CRTR), of the Open Indicator (field :22H::APER) and of the Close Indicator (field :22H::PAFI) as follows (Error Code : C63):
In Sequence A if field :22H:: is CRTR//ASET CRTR//AFWD and APER//OPEF CRTR//AFWD and APER//NOPE and PAFI//PAIN CRTR//AFWD and APER//NOPE and PAFI//FINA Then field :22H::NEGR//UNKN is Not allowed Optional Optional Not allowed

MT 321

2-38

RULE 63 (C63)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

In sequence A, if field 99B is present, then all qualifiers must be present (Error Code : C63):

RULE 64

(C64) MT 307 The presence of sequence D depends on the value of field 22H Indicator as follows (Error Code : C64): In Sequence A
if field and field and field and field

:22H::CRTR is
ASET

:22H::APER is
n/a Not applicable per rule 60 n/a Not applicable per rule 60 n/a Not applicable per rule 60 OPEF

:22H::PAFI is
n/a Not applicable per rule 61 n/a Not applicable per rule 61 n/a Not applicable per rule 61 n/a Not applicable per rule 61 PAIN FINA FINA

:22H::NEGR is
NETC

then Sequence D is Optional

ASET

GRSC

Not allowed

ASET

Not present

Not allowed

AFWD

NETC or GRSC or UNKN NETC or GRSC or UNKN NETC GRSC

Not allowed

AFWD AFWD AFWD

NOPE NOPE NOPE

Not allowed Mandatory Not allowed

RULE 65

(C65) Available

RULE 66

(C66) MT 643. The number of occurrences of sequence C must be equal to or greater than the number of occurrences of sequence B.
IF <message643> THEN IF TOTAL_of_1 for <sequenceC> < TOTAL_of_1 for <sequenceB> THEN <error:C66> ENDIF ENDIF

RULE 67

(C67) MT 516 (sequence A) In sequence A of MT 516, either field 83( ) or 87( ), but not both, may be present.

February 2007

RULE 64 (C64)

2-39

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

IF <message 516> THEN IF <field 83*> AND <sequence A:field 87*> THEN <error: C67> ENDIF ENDIF

RULE 68

(C68) Available.

RULE 69

(C69) MT 507 In each occurrence of sequence B (if present), if subsequence B1 is present, the presence of subsequences B1a and B1b depends on the value of field :22H::COLL in sequence B as follows (Error Code C69): In each occurrence of sequence B if subsequence B1 is
present

and in sequence B, field :22H::COLL// Status is


CCOL SCOL BCOL (N/ANot applicable, see rule 70)

then subsequence B1a is


Not allowed Mandatory Not applicableN/A

and subsequence B1b is


Mandatory Not allowed Not applicableN/A

not present

N/A Not applicable

Not applicableN/A

Not applicableN/A

Note: Rule 70 takes precedence over rule 69.

2-40

RULE 68 (C68)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 70

(C70) MT 507 In each occurrence of sequence B, the presence of subsequence B1 depends on the value of field :25D::COLL//<Status> and :22H::COLL//<Indicator> as follows (Error Code C70): In each occurrence of sequence B If for field :25D::COLL/[8c]/4!c Data Source Scheme [8c] is
not present

and field :25D::COLL/[8c]/4!c is

and field :22H::COLL//4!c is

then subsequence B1 is

:25D::COLL//ACCT :25D::COLL//ACCT :25D::COLL//ACCT :25D::COLL//REJT

BCOL CCOL SCOL N/A Not applicable CCOL SCOL BCOL

Not allowed Mandatory (*) Mandatory (*) Not allowed Optional (*) Not allowed

present

Not applicableN/A

(*) see rule 69 for additional checks. Rule 70 takes precedence over rule 69. RULE 71 (C71) MT 528, 529 In sequence. B, field 36B::SETT cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).
Sequence B if field :36B::SETT is Repeated Not Repeated Then one occurrence of :36B::SETT must be :36B::SETT//FAMT Not applicable And the other occurrence of :36B::SETT must be :36B::SETT//AMOR Not applicable

MT 535 In each occurrence of Subseq. B1, field 93B::AGGR cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).
Subsequence B1 if field :93B::AGGR is Repeated Not Repeated Then one occurrence of :93B::AGGR must be :93B::AGGR//FAMT Not applicable And the other occurrence of :93B::AGGR must be :93B::AGGR//AMOR Not applicable

MT 536 In each occurrence of Subseq. B1a2, field 36B::PSTA is not allowed to be repeated more

February 2007

RULE 70 (C70)

2-41

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

than once cannot appear more than twice (i.e. maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).
Sequence B1a2 if field :36B::PSTA is Repeated Not Repeated Then one occurrence of :36B::PSTA must be :36B::PSTA//FAMT Not applicableN.A. And the other occurrence of :36B::PSTA must be :36B::PSTA//AMOR Not applicableN.A.

MT 537 In each occurrence of Subseq. B2b, field 36B::PSTA is not allowed to be repeated more than once cannot appear more than twice (i.e. maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71)
Subsequence B2b if field :36B::PSTA is Repeated Not Repeated Then one occurrence of :36B::PSTA must be :36B::PSTA//FAMT Not applicableN.A. And the other occurrence of :36B::PSTA must be :36B::PSTA//AMOR Not applicableN.A.

MT 540, 541, 542, 543 In each occurrence of sequence. C, field 36B::SETT cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).
Sequence C if field :36B::SETT is Repeated Not Repeated Then one occurrence of :36B::SETT must be :36B::SETT//FAMT Not applicable And the other occurrence of :36B::SETT must be :36B::SETT//AMOR Not applicable

MT 544, 545, 546, 547 In each occurrence of sequence. C, field 36B::ESTT cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).
Sequence C if field :36B::ESTT is Repeated Not Repeated Then one occurrence of :36B::ESTT must be :36B::ESTT//FAMT Not applicable And the other occurrence of :36B::ESTT must be :36B::ESTT//AMOR Not applicable

MT 548 In sequence. B, field 36B::SETT cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other

2-42

RULE 71 (C71)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

occurrence must have Quantity Type Code AMOR (Error code(s): C71).
Sequence B if field :36B::SETT is Repeated Not Repeated Then one occurrence of :36B::SETT must be :36B::SETT//FAMT Not applicable And the other occurrence of :36B::SETT must be :36B::SETT//AMOR Not applicable

MT 564, 565 In each occurrence of Subsequence. B2, field 93B::ELIG cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).
Subsequence B2 if field :93B::ELIG is Repeated Not Repeated Then one occurrence of :93B::ELIG must be :93B::ELIG//FAMT Not applicable And the other occurrence of :93B::ELIG must be :93B::ELIG//AMOR Not applicable

MT 566 In Sequence. B, field 93B::ELIG cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).
Subsequence B if field :93B::ELIG is Repeated Not Repeated Then one occurrence of :93B::ELIG must be :93B::ELIG//FAMT Not applicable And the other occurrence of :93B::ELIG must be :93B::ELIG//AMOR Not applicable

MT 567 In sequence. B, field 36B::STAQ OR QREC cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).
Sequence B if field :36B::STAQ or QREC is Repeated Not Repeated Then one occurrence of :36B::STAQ or QREC must be :36B::STAQ//FAMT or :36B::QREC//FAMT Not applicable Andd the other occurrence of :36B::STAQ or QREC must be :36B::STAQ//AMOR :36B::QREC//AMOR Not applicable

MT 568 In Sequence. B, field 93B::ELIG cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

February 2007

RULE 71 (C71)

2-43

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

Subsequence B if field :93B::ELIG is Repeated Not Repeated

Then one occurrence of :93B::ELIG must be :93B::ELIG//FAMT Not applicable

And the other occurrence of :93B::ELIG must be :93B::ELIG//AMOR Not applicable

MT 584 In each occurrence of Subseq. B2b, field 36B::TRAD cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).
Subsequence B2b if field :36B::TRAD is Repeated Not Repeated Then one occurrence of :36B::TRAD must be :36B::TRAD//FAMT Not applicable And the other occurrence of :36B::TRAD must be :36B::TRAD//AMOR Not applicable

RULE 72

(C72) MT 537. In each occurrence of Subseq. C2, field 36B::PSTA is not allowed to be repeated more than once cannot appear more than twice (i.e. maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C72).
Subsequence C2 if field :36B::PSTA is Repeated Not Repeated Then one occurrence of :36B::PSTA must be :36B::PSTA//FAMT Not applicableN.A. And the other occurrence of :36B::PSTA must be :36B::PSTA//AMOR Not applicableN.A.

MT 564 In each occurrence of Subsequence. E1, field 36B::ENTL cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C72).
Subsequence E1 if field :36B::ENTL is Repeated Not Repeated Then one occurrence of :36B::ENTL must be :36B::ENTL//FAMT Not applicable And the other occurrence of :36B::ENTL must be :36B::ENTL//AMOR Not applicable

MT 565 In sequence. D, field 36B::QINS or QREC cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR. When used with format

2-44

RULE 72 (C72)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

option C, the qualifiers QINS and QREC cannot be repeated (Error code(s): C72).
Sequence D if field :36B::QINS or QREC is Repeated Not Repeated :36B::QINS//FAMT :36B::QREC//FAMT Not applicable :36B::QINS//AMOR :36B::QREC//AMOR Not applicable Then one occurrence of And the other occurrence of

:36B::QINS or QREC must be :36B::QINS or QREC must be

Note: therefore the only valid repetitions are:


:36B::QINS//FAMT :36B::QINS//AMOR

or
:36B::QREC//FAMT :36B::QREC//AMOR

MT 566 In each occurrence of Subseq. D1, field 36B::PSTA cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C72).
Subsequence D1 if field :36B::PSTA is Repeated Not Repeated Then one occurrence of :36B::PSTA must be :36B::PSTA//FAMT Not applicable And the other occurrence of :36B::PSTA must be :36B::PSTA//AMOR Not applicable

MT 584 In each occurrence of Subseq. C1c, field 36B::TRAD cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C72).
Subsequence C1c if field :36B::TRAD is Repeated Not Repeated Then one occurrence of :36B::TRAD must be :36B::TRAD//FAMT Not applicable And the other occurrence of :36B::TRAD must be :36B::TRAD//AMOR Not applicable

RULE 73

(C73) MT 536 A reference to the previously received message must be specified for each transaction reported, i.e. in each occurrence of Subseq. B1a Transaction, field 20C::RELA must be present in one and only one occurrence of Subseq. B1a1 Linkages; field 20C::RELA is not

February 2007

RULE 73 (C73)

2-45

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

allowed in all other occurrences of Subseq. B1a1 (Error code(s): C73).

MT 537 A reference to the previously received message must be specified for each transaction reported, i.e. in each occurrence of Subseq. B2 Transaction, field 20C::RELA must be present in one and only one occurrence of Subseq. B2a Linkages; field 20C::RELA is not allowed in all other occurrences of Subseq. B2a (Error code(s): C73).

MT 544, 545, 546, 547, 548 A reference to the previously received message must be specified, i.e. field 20C::RELA must be present in one and only one occurrence of Subseq. A1 Linkages; field 20C::RELA is not allowed in all other occurrences of Subseq. A1 (Error code(s): C73).

RULE 74

(C74) MT 537 A reference to the previously received message must be specified for each transaction reported, i.e. in each occurrence of Seq. C Transaction, field 20C::RELA must be present in one and only one occurrence of Subseq. C1 Linkages; field 20C::RELA is not allowed in all other occurrences of Subseq. C1 (Error code(s): C74).

RULE 75

(C75) MT104 If field 23E is present in sequence A and contains RFDD then field 23E must be present in all occurrences of sequence B. If field 23E is present in sequence A and does not contain RFDD then field 23E must not be present in any occurrence of sequence B. If field 23E is not present in sequence A then field 23E must be present in all occurrences of sequence B. Sequence A if field 23E is ...
Present and = RFDD Present and NOT= RFDD Not present see rules 94 and 96

Sequence B then field 23E is ...


Mandatory in all occurrences Not allowed Mandatory in all occurrences

RULE 76

(C76) MT104 Field 50a (option A or K), must be present in either sequence A (index 8) or in each occurrence of sequence B (index 21), but must never be present in both sequences, nor be absent from both sequences. Sequence A if field 50a (option A or K) is ... In every occurrence of Sequence B then field 50a (option A or K) is ...

2-46

RULE 74 (C74)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Present Not present

Not allowed Mandatory

RULE 77

(C77) MTs 730, 768 and 769. Either field 25 or field 57( ), but not both, may be present.
IF <message730|768|769> THEN IF <field25>AND<field57*>THEN <error:C77> ENDIF ENDIF

RULE 78

(C78) MTs 730, 768 and 769. Either field 32D or field 57( ), but not both, may be present.
IF <message730|768|769> THEN IF <field32D>AND<field57*>THEN <error:C78> ENDIF ENDIF

RULE 79

(C79) MTs 305 and 601. Field 31C may only be present if the third subfield of field 23 consists of A.
IF <message305|601> THEN IF <field31C> THEN IF NOT <field23:subf 3>=A THEN <error:C79> ENDIF ENDIF ENDIF

RULE 80

(C80) MT 608. The metal code must be the same for all occurrences of the indicated fields in the entire message.

February 2007

RULE 77 (C77)

2-47

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

IF <message608> THEN IF <field 62*: subf3> NOT= <field 60*: subf3> THEN <error: C80> ENDIF IF <field64> THEN IF <field64:subf 3> NOT= <field60*:subf 3> THEN <error:C80> ENDIF ENDIF FOR <field65> IF <field65:subf 3> NOT= <field60*:subf 3> THEN <error:C80> ELSE <continue> ENDIF ENDFOR ENDIF

RULE 81

(C81)

MTs 103_not_STP, 103_STP, 202, 203, 205, and 582. If field 56( ) is present, field 57( ) must be present.
IF <message103_not_STP|103_STP|202|203|205|582> THEN IF <field 56*> THEN IF NOT <field 57*> THEN <error:C81> ENDIF ENDIF ENDIF IF <message 203> THEN FOR <sequence 20-72> IF <field 56*> THEN IF NOT <field 57*> THEN <error: C81> ELSE <continue> ENDIF ENDIF ENDFOR ENDIF

RULE 82

(C82) MT 104, 107 In sequence A, if field 23E is present and contains RTND then field 72 must be present, in all other cases (i.e. field 23E not present, or field 23E does not contain RTND) field 72 is not allowed.

2-48

RULE 81 (C81)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Sequence A if field 23E is ...


present and = RTND present and NOT= RTND Not present

Sequence A then field 72 is ...


Mandatory Not allowed Not allowed

RULE 83

(C83) MT 935. Either field 23 or 25, but not both, must be present in any repetitive sequence.
IF <message935> THEN FOR <sequence23-37H> IF <field23>XOR<field25>THEN <continue> ELSE <error:C83> ENDIF ENDFOR ENDIF

RULE 84

(C84) MT 303 In Sequence A, the presence of field 21 depends on field 22A as follows : Sequence A if field 22A is ...
AMNA AMND CANC DUPL NEWT

Sequence A then field 21 is ...


Mandatory Mandatory Mandatory Optional Optional

RULE 85

(C85) MT 609. Field 68B must be present when the immediately preceding field 23 consists of one of the code words SPOTS or FORWARDS.
IF <message609> THEN FOR <sequence23-72> IF <field23>=SPOTS|FORWARDS THEN IF <field68C>THEN <error:C85> ENDIF ENDIF ENDFOR ENDIF

February 2007

RULE 83 (C83)

2-49

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 86

(C86) MT 609. Field 68C must be present when the immediately preceding field 23 consists of the code word OPTIONS.
IF <message609> THEN FOR <sequence23-72> IF <field23>=OPTIONS THEN IF <field68B>THEN <error:C86> ENDIF ENDIF ENDFOR ENDIF

RULE 87

(C87) MTs 601, 605 thru 609. The first subfield of field 26C must not be present.
IF <message601|605|606|607|608|609> THEN IF <field26C:subf 1> THEN <error:C87> ENDIF ENDIF

RULE 88

(C88) MT 305. The currency code in the fourth subfield of field 23 must be the same as the currency code in field 32B.
IF <message305> THEN IF <field23:subf 4> NOT= <field32B:CUR> THEN <error:C88> ENDIF ENDIF

RULE 89

(C89) MTs 600, 601, 604 thru 609. A maximum of 6 decimal digits is permitted in the following: Field 32F in MTs 600, 601, 604, 605, 606 and 607; Fields 60F; 60M, 61, 62F, 62M, 64 and 65 in MT 608; and the sixth subfield of fields 68B and 68C in MT 609.

RULE 90

(C90) MTs 700, 710, 720 and 740. If field 42( ) is used, the only combinations which are allowed are field 42M (on its own) or field 42P (on its own) or both fields 42C and 42(A or D).

2-50

RULE 86 (C86)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

IF <message 700|710|720|740> THEN


IF < field 42C> THEN IF <field 42M>OR<field 42P>OR NOT<field 42A|D> THEN <error:C90> ELSE <exit> ENDIF ENDIF IF <field 42A|D> THEN <error: C90> ENDIF IF <field 42M> THEN IF <field 42P> THEN <error: C90> ENDIF ENDIF ENDIF

RULE 91

(C91) MT 608. The fourth subfield of field 61 must not be present.


IF <message608> THEN IF <field61:subf 4> THEN <error:C91> ENDIF ENDIF

RULE 92

(C92) MT 303 Sequences B and C are mutually exclusive. Field 94A in Sequence A specifies which type of transaction is allocated and thus which one of the two sequences must be present: Sequence A if field 94A is ...
FORX FXOP

then Sequence B is ...


Mandatory Not allowed

then Sequence C is ...


Not allowed Mandatory

RULE 93

(C93) MT 600. Either sequence B or sequence C, but not both, must be present.
IF <message600> THEN IF NOT (<sequenceB>XOR<sequenceC>) THEN <error:C93> ENDIF ENDIF

RULE 94

(C94) MT104

February 2007

RULE 91 (C91)

2-51

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

If field 23E in sequence A is present and contains RFDD, then field 119 of User Header must be present and contain RFDD. If field 23E in sequence A is not present or does not contain RFDD, then field 119 of User header must not be present. note: this rule takes precedence over rules 75 and 96. Sequence A if field 23E is ...
present and = RFDD present and Not= RFDD Not present

User Header then field 119 is...


Mandatory and must contain RFDD Not allowed Not allowed

MT 503, 504, 505, 506, 507 The User Header of the message (block 3) is mandatory and must contain a valid 4 alphanumeric characters (fixed length) code in the Validation Flag field 119 ( {3:{119:xxxx}} ). This code must be identical to the code contained in field :22a::COLA//xxxx (Exposure Type Indicator) in sequence A of the message content (text block 4) (Error Code C94). note: the rule 94 must be applied even if the DSS is present in field :22F::COLA RULE 95 (C95) MT 303 In Sequence C, the presence of field 30X depends on field 23B as follows: Sequence C if field 23B is...
CLAM or PTAM CLEU or PTEU

Sequence C then field 30X is ...


Mandatory Not allowed

RULE 96

(C96) MT104 In sequence A, if field 23E is present and contains RFDD, then: in sequence A field 21R is optional, and in sequence B the fields 21E, 50a (option A or K), 52a, 71F and 71G must not be present, and sequence C must not be present. Otherwise, i.e. in sequence A, field 23E does not contain RFDD or Field 23E is not present: in sequence A field 21R must not be present, and in sequence B the fields 21E, 50a (option A or K), 52a, 71F and 71G are optional, and sequence C must be present. Sequence A if field 23E Sequence A then field 21R Sequence B and fields 21E, 50a and sequence C is ...

2-52

RULE 95 (C95)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

is ...

is ...

(option A or K), 52a, 71F and 71G are ...


Not allowed Optional Optional Not allowed Mandatory Mandatory

present and = RFDD present and Not= RFDD Not present

Optional Not allowed Not allowed

see rules 75, 94 and 180 (rule 96 takes precedence over rule 180). RULE 97 (C97) MT 303 The presence of Sequence D depends on the value of field 22A in Sequence A as follows: Sequence A if field 22A is...
AMNA or AMND or DUPL or NEWT CANC

then Sequence D is ...


Mandatory Optional

MT504 Sequence D is mandatory when in any occurence of sequence C the subsequence C1 is present and the subsequence C1a is not present (Error Code C97): In sequence(s) C
IF in one (or more) occurrence(s) of sequence C : subsequence C1 is present and an internal subsequence C1a is not present

then sequence D is
Mandatory

see rule 149 MT505 Sequence C is mandatory when in any occurence of sequence B the subsequence B1 is present and the subsequence B1a is not present (Error Code C97): In sequence(s) B
IF in one (or more) occurrence(s) of sequence B : subsequence B1 is present and an internal subsequence B1a is not present

then sequence C is
Mandatory

see rule 149

February 2007

RULE 97 (C97)

2-53

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 98

(C98) MT 306 In sequence I, field 15I may not be the only field. In other words, if field 15I is present then at least one of the other fields of sequence I must be present.

MT 320, 330 In sequence H, field 15H may not be the only field, i.e. if field 15H is present, then at least one of the other fields of sequence H must be present (Error code C98). MT 340 In sequence E, field 15E may not be the only field, i.e. if field 15E is present, then at least one of the other fields of sequence E must be present (Error code C98). RULE 99 (C99) MT 303 In each occurrence of Sequence D, the presence of Subsequent Subsequence D3 depends on field 94A of Sequence A as follows : Sequence A if field 94A is...
FORX FXOP

Subsequence D3 is ...
Not allowed Mandatory

MT504 Sequence E is mandatory when in any occurence of sequence C the subsequence C2 is present and the subsequence C2a is not present (Error Code C99): In sequence(s) C
IF in one (or more) occurrence(s) of sequence C : subsequence C2 is present and an internal subsequence C2a is not present

then sequence E is
Mandatory

see rule 150

MT505 Sequence D is mandatory when in any occurence of sequence B the subsequence B2 is present and the subsequence B2a is not present (Error Code C99): In sequence(s) B
IF in one (or more) occurrence(s) of sequence B : subsequence B2 is present and an internal subsequence B2a is not present

then sequence D is
Mandatory

see rule 150

2-54

RULE 98 (C98)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 100

(D00) Not used.

RULE 101

(D01) MT 303 If subfield 1 of field 39P consists of CURR, the number of decimal digits in subfield 3 is checked against the maximum allowed for the corresponding currency in subfield 2.

RULE 102

(D02) MT 304, 360, 361, 362, 364, 365 In Sequence A, the presence of field 21 depends on field 22A as follows : Sequence A if field 22A is...
AMND CANC DUPL NEWT

Sequence A then field 21 is ...


Mandatory Mandatory Optional Optional

MT 306, 340 In sequence A, the presence of field 21 depends on the value of field 22A as follows. Sequence A if field 22A is...
AMND CANC NEWT

Sequence A then field 21 is ...


Mandatory Mandatory Optional

MT 341 In sequence A, the presence of field 21 depends on the value of field 22A as follows. Sequence A if field 22A is...
AMND CANC SETT

Sequence A then field 21 is ...


Mandatory Mandatory Optional

MT 350 In sequence A, if field 22A contains ADVC then field 21 is optional, otherwise field 21 is mandatory (Error Code D02). Sequence A if field 22A is...
ADVC Not= ADVC

Sequence A then field 21 is ...


Optional Mandatory

February 2007

RULE 100 (D00)

2-55

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 103

(D03) MT 304 In Sequence A, the presence of fields 17O and 17N depends on field 94A as follows: Sequence A if field 94A is ...
ASET AFWD

Sequence A then field 17O is ...


Not allowed Mandatory

Sequence A then field 17N is ...


Not allowed Mandatory

(see also RULE 104 and 129) MT 535 If field :94a:: is present in Sequence B, then fields :93B::AGGR and :94a::SAFE are not allowed in any occurrence of Subsequence B1b (Error code(s): D03).
Sequence B if field :94a: is Present Not present then in any occurrence(s) of Subseq. B1b, field :93B::AGGR and field :94a::SAFE are Not allowed Optional

RULE 104

(D04) MT 304 In Sequence A, the presence of field 17F depends on field 17O as follows : Sequence A if field 17O is...
Y N Not present

Sequence A then field 17F is ...


Not allowed Mandatory Not allowed

(see also RULE 103 and 129) MT 535 If field :93B::AGGR is present in Subsequence B1b, then :field 94a::SAFE must be present in the same Subsequence B1b (Error code(s): D04).
Subsequence B1b if field :93B::AGGR is Present Not present then in same Subseq. B1b, field :94a::SAFE is Mandatory Optional

RULE 105

(D05) MT 535 In each occurrence of Subsequence B1b, if field :93B::AVAI or/and :93B::NAVL is/are present, then :field :93B::AGGR must be present in the same occurrence of Subsequence B1b (Error code(s): D05)

2-56

RULE 103 (D03)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MTs 700, 705, 707, 710, 720, 740, and 747. Either field 39A or field 39B, but not both, may be present.
IF <message 700|705|707|710|720|740|747> THEN IF <field 39A> AND <field 39B> THEN <error : D05> ENDIF ENDIF

RULE 106

(D06) MTs 700, 705, 707, 710, and 720. Either field 44C or field 44D but not both, may be present.
IF <message 700|705|707|710|720> THEN IF <field 44C> AND <field 44D> THEN <error : D06> ENDIF ENDIF

RULE 107

(D07) Available

RULE 108

(D08) Available

RULE 109

(D09) Available

RULE 110

(D10) Available.

RULE 111

(D11) Available

RULE 112

(D12) Available

RULE 113

(D13) MT 503, 504, 506 In subsequence B1, fields 16R and 16S may not be the only fields present. If both fields 16R and 16S are present, then at least one of the other fields of the same subsequence must be present (Error Code D13).

RULE 114

(D14) Available.

RULE 115

(D15) Available

February 2007

RULE 106 (D06)

2-57

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 116

(D16) Available.MT 306 The presence of subsequence B1 and of sequence C depends on the values of Type of Event (subfield 1 of field 22K) in sequence A as follows (Error code(s): D16). Sequence A if subfield 1 of field 22K is
CLST CONF KNIN KNOT OTHR TRIG

then subsequence B1 is
Optional Mandatory Not allowed Not allowed Optional Not allowed

and sequence C is
Optional Mandatory Not allowed Not allowed Optional Not allowed

RULE 117

(D17) MT 102_not_STP, 102_STP. Field 50a must be present either in sequence A or in each occurrence of sequence B, but it must never be present in both sequences, nor be absent from both sequences.
IF <message102> THEN FOR <sequenceB> IF <sequenceA:field50*> THEN IF <sequenceB:field50*> THEN <error:D17> ENDIF ELSE IF NOT (<sequenceB:field50*>) THEN <error:D17> ENDIF ENDIF ENDFOR ENDIF

2-58

RULE 116 (D16)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 118

(D18) MT 102_not_STP. If a field 52a, 26T or 77B is present in sequence A, then that field must not be present in any occurrence of sequence B. When a field 52a, 26T or 77B is present in any occurrence of sequence B, that field must not be present in Sequence A.
Sequence A if field 52a is ... Present Not present In each occurrence of sequence B then field 52a is ... Not allowed Optional

Sequence A if field 26T is ... Present Not present

In each occurrence of sequence B then field 26T is ... Not allowed Optional

Sequence A if field 77B is ... Present Not present

In each occurrence of sequence B then field 77B is ... Not allowed Optional

IF <message102_not_STP> THEN FOR <sequenceB> IF <sequenceB:field52*>AND <sequenceA:field52*>) THEN <error:D18> ENDIF IF <sequenceB:field26T>AND <sequenceA:field26T>) THEN <error:D18> ENDIF IF <sequenceB:field77B>AND <sequenceA:field77B>) THEN <error:D18> ENDIF ENDFOR ENDIF

MT 102_STP. If a field 52A, 26T or 77B is present in sequence A, then that field must not be present in any occurrence of sequence B. When a field 52A, 26T or 77B is present in any occurrence of sequence B, that field must not be present in Sequence A.
Sequence A if field 52A is ... Present Not present In each occurrence of sequence B then field 52A is ... Not allowed Optional

February 2007

RULE 118 (D18)

2-59

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

Sequence A if field 26T is ... Present Not present

In each occurrence of sequence B then field 26T is ... Not allowed Optional

Sequence A if field 77B is ... Present Not present

In each occurrence of sequence B then field 77B is ... Not allowed Optional

IF <message102_STP> THEN FOR <sequenceB> IF <sequenceB:field52A>AND <sequenceA:field52A>) THEN <error:D18> ENDIF IF <sequenceB:field26T>AND <sequenceA:field26T>) THEN <error:D18> ENDIF IF <sequenceB:field77B>AND <sequenceA:field77B>) THEN <error:D18> ENDIF ENDFOR ENDIF

RULE 119

(D19) MT 102_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 (refer note 2), 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 (note) 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. Note 1: Note 2 : <IBAN> format special validation : refer Part II, Chapter 4, section 4.23 D19_CC list of country codes :

AD, AT, BE, BG, BV, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GF, GI, GP, GR, HU, IE, IS, IT, LI, LT, LU, LV, MC, MQ, MT, NL, NO, PL, PM, PT, RE, RO, SE, SI, SJ, SK, SM, TF, VA

2-60

RULE 119 (D19)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

In transaction headers,

in each occurrence of Seq. B,

then in this If country code and country code of and field 57A present and country code in this occurrence in BIC (note) of field occurrence of Seq.B Receiver's BIC of Emitters BIC in field 59a the 57A of Seq.B present in present in <IBAN> is present in D19_CC D19_CC format in D19_CC subfield_1 Account is Yes Yes No No Yes Yes No No Yes Yes No .No Yes No Yes No Yes No Yes No Yes No Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes n/aNot applicable n/aNot applicable n/aNot applicable n/aNot applicable Yes Yes Yes Yes No No No No Mandatory Optional Optional Optional Mandatory Optional Optional Optional Optional Optional Optional Optional

IF (Emitters BIC Country code belongs to D19_CC) AND (Receivers BIC Country code belongs to D19_CC) THEN BEGIN FOR each occurrence of Seq. B: IF field 57A not present THEN IF field 59a does not contain a valid IBAN account THEN <error D19> ELSE continue END_IF ELSE IF Country code of field 57A:BIC (note) belongs to the D19_CC list THEN IF field 59a does not contain a valid IBAN account THEN <error D19> ELSE continue END_IF ELSE continue END_IF END_IF END_FOR END_BEGIN ELSE continue END_IF Note: this validation rule applies to all types of BICs that are referenced in field 57A: SWIFTBIC, NON-SWIFTBIC, Master, Synonym, LIVE destination, T&T destination. MT 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 (refer note 2), then the following apply:

February 2007

RULE 119 (D19)

2-61

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

If field 57A is not present, then the IBAN format (ISO-13616, refer note 1) is mandatory in subfield_1 Account of field 59a (Error code: D19). If field 57A is present and the country code of the BIC in 57A (note) is present in the list D19_CC, then the IBAN format is mandatory in subfield_1 Account of field 59a (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. Note 1: Note 2 : <IBAN> format special validation : refer Part II, section 4.27 D19_CC list of country codes :

AD, AT, BE, BG, BV, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GF, GI, GP, GR, HU, IE, IS, IT, LI, LT, LU, LV, MC, MQ, MT, NL, NO, PL, PM, PT, RE, SE, RO, SI, SJ, SK, SM, TF, VA
In transaction headers, Then in field 59a If country code and country code of and field 57A present and country code in BIC (note) of field the <IBAN> format Receiver's BIC of Emitters BIC in 57A present in present in subfield_1 Account is present in D19_CC D19_CC is D19_CC Yes Yes No No Yes Yes No No Yes Yes No No Yes No Yes No Yes No Yes No Yes No Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes n/aNot applicable n/aNot applicable n/aNot applicable n/aNot applicable Yes Yes Yes Yes No No No No Mandatory Optional Optional Optional Mandatory Optional Optional Optional Optional Optional Optional Optional

2-62

RULE 119 (D19)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

IF (Emitters BIC Country code belongs to D19_CC) AND (Receivers BIC Country code belongs to D19_CC) THEN BEGIN IF field 57A not present THEN IF field 59a does not contain a valid IBAN account THEN <error D19> ELSE continue END_IF ELSE IF Country code of field 57A:BIC (note) belongs to the D19_CC list THEN IF field 59a does not contain a valid IBAN account THEN <error D19> ELSE continue END_IF ELSE continue END_IF END_IF END_BEGIN ELSE continue END_IF Note: this validation rule applies to all types of BICs that are referenced in field 57A: SWIFTBIC, NON-SWIFTBIC, Master, Synonym, LIVE destination, T&T destination. RULE 120 (D20) MT 102_not_STP, 102_STP. Field 71A must be present either in sequence A or in each occurrence of sequence B, but it must never be present in both sequences, nor be absent from both sequences.
IF <message102_not_STP | '102_STP'> FOR <sequenceB> IF <sequenceA:field71A> THEN IF <sequenceB:field71A> THEN <error:D20> ENDIF ELSE IF NOT (<sequenceB:field71A>) THEN <error:D20> ENDIF ENDIF ENDFOR ENDIF

note: rule 120 takes precedence over rules 150, 213 and 215

February 2007

RULE 120 (D20)

2-63

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 121

(D21) MT 104, 107. In each occurrence of sequence B : if field 33B is present, then the currency code or the amount, or both, must be different between fields 33B and 32B.
IF <message 104 | '107'> THEN FOR <sequence B> IF <sequenceB:field33B> THEN IF (<sequenceB:field33B:CUR> = <sequenceB:field32B:CUR>) THEN IF (<sequenceB:field33B:AMOUNT> = <sequenceB:field32B:AMOUNT>) THEN <error:D21> ENDIF ENDIF ENDIF ENDFOR ENDIF

RULE 122

(D22) MT 102_not_STP, 102_STP. Field 36 (sequence A or sequence B) must be present in the message if there is any sequence B which contains a field 33B with a currency code different from the currency code in field 32B; in all other cases field 36 is not allowed in the message. When a field 36 (sequence A or sequence B) is required, EITHER field 36 must be present in sequence A and not in any sequence B, OR it must be present in every sequence B which contains fields 32B and 33B with different currency codes and must not be present in sequence A or any other sequence B (Error code: D22).
In Seq.A If field 36 is present In Seq.A If field 36 is not present if field 33B is Present In Sequence B : Then in minimum one occurrence of Seq.B field 33B must be present, and currency codes in fields 32B and 33B must be different. And field 36 is not allowed in any occurrence of Seq. B

In each occurrence of Sequence B And currency codes in fields32B and 33B are Equal Not equal Not present n/aNot applicable Then field 36 is Not allowed Mandatory Not allowed

2-64

RULE 121 (D21)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 123

(D23) MT 304 The presence of Sequence D depends on field 17O as follows: Sequence A if field 17O is...
Y N Not present

then Sequence D is ...


Not allowed Mandatory Not allowed

RULE 124

(D24) MT 306 In sequence A, if field 12F consists of the code VANI, at least field 17A or field 17F must contain the code Y. Both fields may contain the code Y. Sequence A if field 12F is
VANI VANI VANI VANI NOT= VANI

Sequence A and field 17A is


N N Y Y Not applicableNA

Sequence A and field 17F is


N Y N Y Not applicableNA

then this combination of code words is ...


NOT allowed allowed allowed allowed allowed

RULE 125

(D25) MT 306 In sequence B, the presence of field 84a depends on the value of fields 12F, 17A and 17F in sequence A as follows: Sequence A if field 12F is
VANI VANI VANI VANI NOT= VANI

Sequence A and field 17A is


N N Y Y Not applicable NA

Sequence A and field 17F is


N Y N Y Not applicableNA

Sequence B then field 84a is


Not allowed (note) Mandatory Mandatory Mandatory Mandatory

note : the first row (VANI N N) is redundant with RULE 124, that validation will be applicable when RULE 124 will be removed.

February 2007

RULE 123 (D23)

2-65

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 126

(D26) MT 306 In sequence A, the values allowed for the field 12E depend on the value of field 12F as follows: Sequence A if field 12F is
BINA DIGI NOTO VANI

Sequence A then the allowed values for field 12E are


AMER, EURO EURO EURO AMER, BERM, EURO

In sequence B, the presence of the field 30F depends on the value of fields 12F and 12E in sequence A as follows: Sequence A if field 12F is
VANI, DIGI, NOTO BINA BINA

Sequence A and field 12E is


any value EURO AMER

Sequence B then field 30F is


Mandatory Mandatory Not allowed

RULE 127

(D27) MT 306 In sequence A, the allowed values for Type of Event (subfield 1 of field 22K) depend on the fields 12F and 17A in sequence A as follows: Sequence A if field 12F is
VANI VANI NOT= VANI NOT= VANI

Sequence A and field 17A is


N Y N Y

Sequence A then, the allowed values for Type of Event (subfield 1 of field 22K) are
CONF, CLST, OTHR CONF, CLST, KNIN, KNOT, OTHR CONF, CLST, TRIG, OTHR CONF, CLST, KNIN, KNOT, TRIG, OTHR

2-66

RULE 126 (D26)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 128

(D28) MT 306 In sequence A, the presence of fields 30U and 29H depend on the value of Type of Event (subfield 1 of field 22K) as follows: Sequence A if Type of Event (subfield 1 of field 22K) is
CONF or CLST Any other value

Sequence A then field 30U is


Not allowed Mandatory

Sequence A and field 29H is


Not allowed MandatoryOptional

RULE 129

(D29) MT 304 The presence of Sequence E depends on fields 17F and 17N as follows: Sequence A if field 17F is ...
Y Y Y

Sequence A and field 17N is ...


Y N Not present

then Sequence E is ...


Mandatory Not allowed Not allowed (this case is already NAKed, see rule 103, 104) Not allowed Not allowed (this case is already NAKed, see rule 103, 104) Not allowed Not allowed.

N N

Y or N Not present

Not present Not present

Y or N Not present

(see also RULE 103 and 104)

MT 507 The presence of sequence B depends on the value of field :25D::4!c//<Status> in sequence A and the value of field :13A::LINK//<Number Id> in subsequence A2 as follows (Error Code D29):

February 2007

RULE 128 (D28)

2-67

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

Sequence A if field :25D::4!c/[8c]/4! c Qualifier is

Sequence A and field :25D::REST/[8c ]/4!c Data Source Scheme [8c] is


not present

Sequence A and field :25D::REST/[8c]/ 4!c is

Subsequence A2 and field :13A::LINK// 3!c is


503 503 504 504 505 505 N/A Not applicable Not applicable N/A Not applicable N/A Not applicable N/A Not applicable N/A

then Sequence B is ...

REST

:25D::REST//ACCP :25D::REST//ACCT :25D::REST//ACCP :25D::REST//ACCT :25D::REST//ACCP :25D::REST//ACCT :25D::REST//SUBR :25D::REST//REJT

Optional Optional Mandatory Mandatory Optional Optional Optional Not Allowed Optional Not Allowed Not Allowed

present CPRC IPRC Not applicable N/A Not applicable N/A

Not applicable N/A Not applicable N/A Not applicable N/A

see rule 152 MT 567 If the message is an instruction status or a cancellation request status (:23G:INST or CAST), AND Sequence B is present, AND an instruction has been received (:25D::IPRC//NOIN is NOT present in the message), then sequence B should contain a CA option number and code (:13A::CAON and :22a::CAOP are mandatory). (Error code(s): D29).
In Seq. A if field :23G: is INST or CAST Present And Seq. B, is And field :25D::IPRC//NOIN (in Subseq. A2) is Not present in the message, or used with a DSS Present at least once in Optional the message without DSS (*), Not present EVST n/aNot applicable n/aNot applicable n/aNot applicable n/aNot applicable n/aNot applicable n/aNot applicable n/aNot applicable Optional then Seq. B, field :13A::CAON is Mandatory Mandatory and Seq. B, field :22a::CAOP is

(*) note: this condition takes precedence over the condition "Not present in the message, or used with a DSS.

2-68

RULE 129 (D29)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 130

(D30) MT 306 The presence of sequence D, and the presence of sequence G, depends on the value of field 12F in sequence A as follows: Sequence A if field 12F is
VANI NOT= VANI

then sequence D is
Mandatory Not allowed

and sequence G is
Not allowed Mandatory

RULE 131

(D31) MT 306 In sequence D, if present, i.e. if field 12F in sequence A contains "VANI" (see also RULE 130), the presence of field 30P and the presence of field 30Q depend on the value of field 12E in sequence A as follows: Sequence A if field 12F is
VANI

Sequence A and field 12E is


AMER BERM

Sequence D then field 30P is


Mandatory Not allowed

Sequence D and field 30Q is


Not allowed Mandatory (i.e. at least one occurrence must be present) Not allowed

EURO

Not allowed

RULE 132

(D32) MT 306 The presence of sequence E depends on the values of field 12F and Type of Event (subfield 1 of field 22K) in sequence A as follows: Sequence A if field 12F is Sequence A and Type of Event (subfield 1 of field 22K) is
Any value Any value NOT= TRIG TRIG

then sequence E is

VANI BINA or DIGI NOTO NOTO

Not allowed Mandatory Mandatory Not allowed

RULE 133

(D33) MT 306 In sequence D, if present, i.e. if field 12F in sequence A contains "VANI" (see also RULE 130), the allowed values for field 26F depend on the value of field 17F in sequence A as follows:

February 2007

RULE 130 (D30)

2-69

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

Sequence A if field 12F is


VANI

Sequence A and field 17F is


Y N

Sequence D then, the allowed values for field 26F are


NETCASH NETCASH, PRINCIPAL

RULE 134

(D34) MT 306 In sequence E, if present (see also RULE 132), the presence of field 30H depends on the value of Type of Event (subfield 1 of field 22K) and on the Expiration Style (field 12E) in sequence A as follows: If Sequence E is ... Sequence A if and subfield 1 of field 22K is
TRIG Not TRIG Not present Not applicable

Sequence A and field 12E is ...


AMER AMER or BERM or EURO Not applicable

Sequence E then field 30H is

Present

Mandatory Not allowed Not applicable

RULE 135

(D35) MTs 360 and 361. In sequence A, if field 14A consists of code word OTHER, field 77D must be present.
IF <message360|361> THEN IF <sequence A : field14A> = OTHER THEN IF NOT <field 77D> THEN <error:D35> ENDIF ENDIF ENDIF

RULE 136

(D36) MT 340 The presence of sequence E, and the presence of field 72 in sequence E, depend on the value of field 14F in sequence B as follows (Error Code D36): Sequence B if field 14F is
OTHER (*) Not= OTHER

then sequence E is
Mandatory Optional

Sequence E and field 72 is


Mandatory Optional

(*) note: because field 14F is variable length (1 to 24 char <x>), in order for this condition

2-70

RULE 134 (D34)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

to be true, field 14F must be coded :14F:OTHER<CrLf> in all other situations the condition will not be true, i.e. "Not= OTHER" will apply, ex.: :14F: OTHER<CrLf> (leading blanks) :14F:OTHER <CrLf> (trailing blanks) :14F:OTHERWISE<CrLf> ref. Chapter 2, section 2.2.6.2

MTs 306, 360 and 361. In sequence A, if subfield 1 of field 77H consists of code word OTHER, field 77D must be present.
IF <message '306|360|361> THEN IF <field77H: subf1> = OTHER THEN IF NOT <field 77D> THEN <error:D36> ENDIF ENDIF ENDIF

Sequence A if Type of Agreement (subfield 1 of field 77H) is


OTHER NOT= OTHER

Sequence A then field 77D is


Mandatory Optional

RULE 137

(D37) MT 340 The presence of sequence E, and the presence of field 72 in sequence E, depend on the value of field 14D in subsequence B2 as follows (Error Code D37): Subsequence B2 if field 14D is
OTHER Not= OTHER

then sequence E is
Mandatory Optional

Sequence E and field 72 is


Mandatory Optional

(*) note: because field 14D is variable length (1 to 24 char <x>), in order for this condition to be true, field 14D must be coded :14D:OTHER<CrLf> in all other situations the condition will not be true, i.e. "Not= OTHER" will apply, ex.: :14D: OTHER<CrLf> (leading blanks) :14D:OTHER <CrLf> (trailing blanks) :14D:OTHERWISE<CrLf> ref. Chapter 2, section 2.2.6.2 MTs 360 and 361. In sequence B, C, E and F, if field 14D consists of code word OTHER, field 37N must be present in the respective sequence.

February 2007

RULE 137 (D37)

2-71

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

IF <message360|361> THEN FOR <sequence B> IF <sequence B : field14D> = OTHER THEN IF NOT <sequence B : field 37N> THEN <error:D37> ENDIF ENDIF ENDFOR FOR <sequence C> IF <sequence C : field14D> = OTHER THEN IF NOT <sequence C : field 37N> THEN <error:D37> ENDIF ENDIF ENDFOR FOR <sequence E> IF <sequence E : field14D> = OTHER THEN IF NOT <sequence E : field 37N> THEN <error:D37> ENDIF ENDIF ENDFOR FOR <sequence F> IF <sequence F : field14D> = OTHER THEN IF NOT <sequence F : field 37N> THEN <error:D37> ENDIF ENDIF ENDFOR ENDIF

RULE 138

(D38) MT 360 and 361. In sequence C and F, if field 14F consists of code word OTHER, field 37N must be present in the respective sequence.
IF <message360|361> THEN FOR <sequence C> IF <sequence C : field14F> = OTHER THEN IF NOT <sequence C : field 37N> THEN <error:D38> ENDIF ENDIF ENDFOR FOR <sequence F> IF <sequence F : field14F> = OTHER THEN IF NOT <sequence F : field 37N> THEN <error:D38> ENDIF ENDIF ENDFOR ENDIF

2-72

RULE 138 (D38)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 139

(D39) MT 360 and 361. In sequence C and F, if field 14J consists of code word OTHER, field 37N must be present in the respective sequence.
IF <message360|361> THEN FOR <sequence C> IF <sequence C : field14J> = OTHER THEN IF NOT <sequence C : field 37N> THEN <error:D39> ENDIF ENDIF ENDFOR FOR <sequence F> IF <sequence F : field14J> = OTHER THEN IF NOT <sequence F : field 37N> THEN <error:D39> ENDIF ENDIF ENDFOR ENDIF

RULE 140

(D40) MT 360 and 361. In sequence C and F, if subfield 1 of field 14G consists of code word O, field 37N must be present in the respective sequence.
IF <message360|361> THEN FOR <sequence C> IF <sequence C : field14G: subf1> = O THEN IF NOT <sequence C : field 37N> THEN <error:D40> ENDIF ENDIF ENDFOR FOR <sequence F> IF <sequence F : field14G : subf1> = O THEN IF NOT <sequence F : field 37N> THEN <error:D40> ENDIF ENDIF ENDFOR ENDIF

RULE 141

(D41) MT 360 and 361. In sequence C and F, if subfield 2 of field 38E consists of code word O, field 37N must be present in the respective sequence.

February 2007

RULE 139 (D39)

2-73

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

IF <message360|361> THEN FOR <sequence C> IF <sequence C : field38E : subf2> = O THEN IF NOT <sequence C : field 37N> THEN <error:D41> ENDIF ENDIF ENDFOR FOR <sequence F> IF <sequence F : field38E : subf2> = O THEN IF NOT <sequence F : field 37N> THEN <error:D41> ENDIF ENDIF ENDFOR ENDIF

RULE 142

(D42) MT 340 The presence of sequence E, and the presence of field 72 in sequence E, depend on the value of the second component of the first subfield of field 38G in subsequence B2 as follows (Error Code D42): Subsequence B2 if second component of subfield 1 of field 38G is
O Not= O

then sequence E is
Mandatory Optional

Sequence E and field 72 is


Mandatory Optional

MT 360 and 361. If a Subsequences C3 or F3 is present, and if subfield 2 or subfield 4 of field 38G or field 38H consist of code word O, then field 37N must be present in the respective C or F Sequence.

RULE 143

(D43) MT 306 The presence of sequence F depends on the value of field 17A in sequence A as follows: Sequence A if field 17A is
Y N

then sequence F is
Mandatory Not allowed

2-74

RULE 142 (D42)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 144

(D44) MT 306 In sequence F (see also RULE 143), the presence of the field 37L depends on the value of field 22G as follows: Sequence F if field 22G is
SKIN or SKOT DKIN or DKOT

Sequence F then field 37L is


Not allowed Mandatory

RULE 145

(D45) MT 360 and 361. If Subsequence B1 is present, the presence of fields 32M (in each occurrence of the internal loop), 17F and 14D, depends on field 37U (from sequence B) as follows : If in Sequence B field 37U is... if Subsequence B1 is present then in each occurrence of the internal loop field 32M is ...
Present Not present Not allowed Mandatory

if Subsequence B1 is present then field 17F is ...

if Subsequence B1 is present then field 14D is ...

Mandatory Not allowed

Mandatory Not allowed

Note : the presence of Subsequence B1 is determined by RULE 241.

RULE 146

(D46) MT 306 In sequence G (see also RULE 130), the presence of the field 37P depends on the value of field 22J as follows: Sequence G if field 22J is
SITR DBTR

Sequence G then field 37P is


Not allowed Mandatory

February 2007

RULE 144 (D44)

2-75

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 147

(D47) MT 306 The presence of sequence H depends on the value of field 17F in sequence A as follows: Sequence A if field 17F is
Y N

then sequence H is
Mandatory Not allowed

RULE 148

(D48) MT 360, 361. In sequence L and M, for all occurrences of the fields 53a, 56a and 57a: the following rules apply : If, in Sequence L or M, field 57a is...
Present Not present

Then, in the same Sequence, fields 53a, 56a are


Optional Not allowed

RULE 149

(D49) MT102_not_STP, 102_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 in each occurrence of sequence B, otherwise field 33B is optional (Error Code D49). D49_CC list of country codes : AD, AT, BE, BG, BV, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GF, GI, GP, GR, HU, IE, IS, IT, LI, LT, LU, LV, MC, MQ, MT, NL, NO, PL, PM, PT, RE, RO, SE, SI, SJ, SK, SM, TF, VA If Emitter's BIC country code present in D49_CC
yes yes no no

and Receiver's BIC country code present in D49_CC


yes no yes no

in each occurrence of sequence B, then field 33B is ...


Mandatory Optional Optional Optional

Note: see rule 151 MT103_not_STP, 103_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 (Error Code D49).

2-76

RULE 147 (D47)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

If Emitter's BIC country code present in D49_CC


yes yes no no

and Receiver's BIC country code present in D49_CC


yes no yes no

then field 33B is ...


Mandatory Optional Optional Optional

Note: see rule 151 MT504 Sequence D is not allowed when for all occurrence of sequence C either the subsequence C1 is not present, or C1a is present in all occurrences of C1 (Error Code D49): IF Seq. D is ...
present

then in sequence(s) C
in one (or more) occurrence(s) of sequence C: subsequence C1 must be present and an internal subsequence C1a must not be present

see rule 97

MT505 Sequence C is not allowed when for all occurrence of sequence B either the subsequence B1 is not present, or B1a is present in all occurrences of B1 (Error Code D49): IF Seq. C is ...
present

then in sequence(s) B
in one (or more) occurrence(s) of sequence B: subsequence B1 must be present and an internal subsequence B1a must not be present

see rule 97 RULE 150 (D50) MT 102_not_STP, 102_STP If field 71A in sequence A contains SHA, then fields 71F are optional and field 71G is not allowed in any occurrence of sequence B (Error Code D50). in sequence A If field 71A is ...
SHA

in each occurrence of sequence B then field(s) 71F is(are) ...


Optional

and field 71G is ...


Not allowed

If field 71A in sequence B contains SHA, then fields 71F are optional and field 71G is not allowed in the same occurrence of sequence B (Error Code D50).

February 2007

RULE 150 (D50)

2-77

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

in sequence B If field 71A is ...


SHA

in the same occurrence of sequence B then field(s) 71F is(are) ...


Optional

and field 71G is ...


Not allowed

see rules 120, 213 and 215 (rule 120 takes precedence over rules 150, 213 and 215)

MT 103_not_STP, 103_STP If field 71A contains SHA, then field(s) 71F is(are) optional and field 71G is not allowed (Error Code D50). If field 71A is ...
SHA

then field(s) 71F is(are) ...


Optional

and field 71G is ...


Not allowed

see rules 213 and 215

MT504 Sequence E is not allowed when for all occurrence of sequence C either the subsequence C2 is not present, or C2a is present in all occurrences of C2 (Error Code D50): IF Seq. E is ...
present

then in sequence(s) C
in one (or more) occurrence(s) of sequence C: subsequence C2 must be present and an internal subsequence C2a must not be present

see rule 99 MT505 Sequence D is not allowed when for all occurrence of sequence B either the subsequence B2 is not present, or B2a is present in all occurrences of B2 (Error Code D50): IF Seq. D is ...
present

then in sequence(s) B
in one (or more) occurrence(s) of sequence B: subsequence B2 must be present and an internal subsequence B2a must not be present

see rule 99 RULE 151 (D51) MT 102_not_STP, 102_STP If either field 71F (at least one occurrence) or field 71G are present in an occurrence of sequence B, then field 33B is mandatory in the same occurrence of sequence B (Error Code D51)

2-78

RULE 151 (D51)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

In each occurrence of sequence B If field 71F is ...


Present Present Not present Not present

and field 71G is ...


Present Not present Present Not present

then field 33B is ...


Rejected (*) Mandatory Mandatory Optional

(*) both fields 71F and 71G present is not a valid combination, see rules 150, 213, 215

MT 103_not_STP, 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 (Error Code D51) If field 71F is ...
Present Present Not present Not present

and field 71G is ...


Present Not present Present Not present

then field 33B is ...


Rejected (*) Mandatory Mandatory Optional

(*) both fields 71F and 71G present is not a valid combination, see rules 150, 213, 215 RULE 152 (D52) MT 507 Field :13a::LINK must be present in one and only one occurrence of subsequence A2 (Error Code D52). Note: See also Network Validated Rule 153.

RULE 153

(D53) MT 507 Field:20C::RELA must be present in the same occurrence of subsequence A2 where field :13a::LINK is present (Error Code D53).

RULE 154

(D54) MT 101 If field 36 is present, then field 21F must be present Sequence B if field 36 is ...
Present Not present

Sequence B then field 21F is ...


Mandatory Optional

February 2007

RULE 152 (D52)

2-79

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 155

(D55) MT 360 and 361. In Sequence B, C, E and F, if field 14A consists of code word OTHER, field 37N must be present in the respective Sequence.
IF <message360|361> THEN FOR <sequence B> IF <sequence B : field14A> = OTHER THEN IF NOT <sequence B : field 37N> THEN <error:D55> ENDIF ENDIF ENDFOR FOR <sequence C> IF <sequence C : field14A> = OTHER THEN IF NOT <sequence C : field 37N> THEN <error:D55> ENDIF ENDIF ENDFOR FOR <sequence E> IF <sequence E : field14A> = OTHER THEN IF NOT <sequence E : field 37N> THEN <error:D55> ENDIF ENDIF ENDFOR FOR <sequence F> IF <sequence F : field14A> = OTHER THEN IF NOT <sequence F : field 37N> THEN <error:D55> ENDIF ENDIF ENDFOR ENDIF

RULE 156

(D56) MT 320 In sequence B, the presence of fields 32H and 30X depends on the value of field 22B in sequence A as follows (Error Code D56): Sequence A if field 22B is
CONF MATU ROLL

Sequence B then field 32H is


Not allowed Mandatory Mandatory

Sequence B and field 30X is


Mandatory Not allowed Mandatory

2-80

RULE 155 (D55)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 330 In sequence B, the presence of fields 32B, 32H and 30X depends on the value of field 22B in sequence A as follows (Error Code D56): Sequence A if field 22B is
CHNG CINT CONF SETT

Sequence B then field 32B is


Mandatory Mandatory Mandatory Not allowed

Sequence B and field 32H is


Mandatory Mandatory Not allowed Mandatory

Sequence B and field 30X is


Optional Optional Not allowed Mandatory

RULE 157

(D57) MT 102_not_STP, 102_STP, 104, 107 In sequence C, in field 71G, Amount must not equal 0 (Error Code D57):

MT 103_not_STP, 103_STP In field 71G, Amount must not equal 0 (Error Code D57):

MT 320 In sequence B, the values allowed for field 32H depend on the values of fields 22B in sequence A and 17R in sequence B as follows (Error Code D57): Sequence A if field 22B is
MATU MATU Not= MATU

Sequence B and field 17R is


L B Not applicable

Sequence B then field 32H Amount must be


Negative or zero (*) Positive or zero (*) Not applicable

note: see Rule 156, IF 22B contains MATU then field 32H is Mandatory MT 330 In sequence B, the values allowed for field 32H depend on the values of fields 22B in sequence A and 17R in sequence B as follows (Error Code D57): Sequence A if field 22B is
SETT SETT Not= SETT

Sequence B and field 17R is


L B Not applicable

Sequence B then field 32H Amount must be


Negative or zero (*) Positive or zero (*) Not applicable

note: see Rule 156, IF 22B contains SETT then field 32H is Mandatory (*) The presence of the letter N (Sign) in subfield 1 of field 32H specifies a negative

February 2007

RULE 157 (D57)

2-81

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

amount. The absence of the letter N (Sign) in subfield 1 of field 32H specifies a positive amount. If subfield 3 (Amount) of field 32H = 0 (i.e. zero value), then the letter N (Sign) in subfield 1 of field 32H is not allowed (Error Code T14).

RULE 158

(D58) MT 360. Depending on the code word value in Sequence A, field 23A subfield 1, only the following combinations of the optional Sequences B, C, E and F are allowed : Sequence A if subfield 1 of field 23A =
FIXEDFIXED FLOATFLOAT FLOATFIXED FIXEDFLOAT CAPBUYER CAPSELLER FLOORBUYER FLOORSLLER COLLARBYER COLLARSLLR

then Sequence B is ...


Mandatory Not allowed Mandatory Not allowed Not allowed Not allowed Not allowed Not allowed Not allowed Not allowed

then Sequence C is ...


Not allowed Mandatory Not allowed Mandatory Mandatory Not allowed Mandatory Not allowed Mandatory Mandatory

then Sequence E is ...


Mandatory Not allowed Not allowed Mandatory Not allowed Not allowed Not allowed Not allowed Not allowed Not allowed

then Sequence F is ...


Not allowed Mandatory Mandatory Not allowed Not allowed Mandatory Not allowed Mandatory Mandatory Mandatory

Note : see RULES 241, 242 for additional subsequence(s) and field(s) semantic checks. RULE 159 (D59) MT 360 and 361. If Subsequence E1 is present, the presence of fields 32M (in each occurrence of the internal loop), 17F and 14D depends on field 37U (from sequence E) as follows : If in Sequence E field 37U is ... if Subsequence E1 is present then in each occurrence of the internal loop field 32M is ...
Present Not present Not allowed Mandatory

if Subsequence E1 is present then field 17F is ...

if Subsequence E1 is present then field 14D is ...

Mandatory Not allowed

Mandatory Not allowed

Note : the presence of Subsequence E1 is determined by RULE 241.

2-82

RULE 158 (D58)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 160

(D60) MT 101 In each occurrence of Sequence B, if Iffield 33B is present and 'amount' in field 32B is not equal to zero, then field 36 must be present, otherwise field 36 is not allowed (Error code(s): D60). field 36 is present then field 33B must be present, and vice-versa. (or: Fields 36 and 33B must be either both present, or both absent) Sequence B if field 33B is ...
Present Not present

Sequence B then field 36 is ...


Mandatory Not allowed

In each occurrence of Sequence B Sequence B If field 33B is


Present

Sequence B and amount in field 32B is


Equal zero Not Equal zero

Sequence B then field 36 is


Not allowed Mandatory Not allowed

Not present

Not applicable

MT 320, 330 In sequence B, if field 30F is present then field 38J in sequence B is mandatory, otherwise field 38J is not allowed (Error Code D60). Sequence B if field 30F is ...
Present Not present

Sequence B then field 38J is ...


Mandatory Not allowed

MT 341 In sequence B, if field 30V is present then field 38D in sequence B is mandatory, otherwise field 38D is not allowed (Error Code D60). Sequence B if field 30V is ...
Present Not present

Sequence B then field 38D is ...


Mandatory Not allowed

RULE 161

(D61) MT 101 If there is only one debit account, the ordering customer must be identified in field 50a index 5 (option F, G or H) in sequence A. Conversely, if multiple debit accounts are used, they must be identified for every transaction in field 50a index 15 (option F, G or H) of sequence B.

February 2007

RULE 160 (D60)

2-83

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

Consequently, field 50a (option F, 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. Sequence A if field 50a index 5 (option F, G or H) is ...
Present Not present

In every occurrence of Sequence B then field 50a index 15 (option F, G or H) is ...


Not allowed Mandatory

RULE 162

(D62) 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. Sequence A if field 50a (option C or L) is ...
Present Not present

Sequence B then field 50a (option C or L) is ...


Not allowed Optional in any occurrence

RULE 163

(D63) MTs 101, 102_not_STP, 103_not_STP, 104, 107, 405, 416 Field 51A is only valid in FileAct. (This special error code is required to indicate to FileAct users that they have included in a FIN message a field that is reserved for FileAct).

RULE 164

(D64) MT 101, 206. Field 52() must not be present in both sequences A and B {Error Code D64}. Sequence A if field 52() is ...
Present Not present

Sequence B then field 52() is ...


Not allowed Optional

RULE 165

(D65) MT 101, 207 In each occurence of Sequence B: IF field 56a is present then field 57a must be present {Error Code D65}. if field 56a is ...
Present Not present

then field 57a is ...


Mandatory Optional

2-84

RULE 162 (D62)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 166

(D66) MT 101 Subfield 2 of field 23E is only allowed when subfield 1 of this field consists of 'CMTO', PHON, OTHR or REPA. MT 207 Subfield 2 of field 23E is only allowed when subfield 1 of this field consists of 'CMTO', PHON or OTHR.

RULE 167

(D67) MT 101 In each occurence of Sequence B: when field 23E is used more than once, the following combinations are not allowed {Error Code D67}:
CHQB CHQB CHQB CHQB CHQB CHQB CHQB CHQB CHQB CMSW CMSW CMTO CORT CORT CORT CORT EQUI EQUI EQUI NETS with with with with with with with with with with with with with with with with with with with with CMSW CMTO CMZB CORT URGP REPA RTGS NETS PHON CMTO CMZB CMZB CMSW CMTO CMZB REPA CMSW CMTO CMZB RTGS

For example:
Valid :23E:CMSW :23E:CORT Invalid :23E:CHQB :23E:URGP

:23E::PHON :23E::NETS

:23E:NETS :23E:RTGS

February 2007

RULE 166 (D66)

2-85

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 103_STP When field 23E is used more than once, the following combination is not allowed {Error Code D67}:
REPA with CORT

see also rule 198 and 246 for other restrictions rule 167 takes precedence over rules 246 and 198 MT 103_not_STP When field 23E is used more than once, the following combinations are not allowed {Error Code D67}:
SDVA SDVA INTC INTC REPA REPA REPA CORT CORT HOLD PHOB PHON PHOI with with with with with with with with with with with with with HOLD CHQB HOLD CHQB HOLD CHQB CORT HOLD CHQB CHQB TELB TELE TELI

see also rule 198 and 246 for other restrictions rule 167 takes precedence over rules 246 and 198 MT 207 In each occurrence of Sequence B: when field 23E is used more than once, the following combinations are not allowed {Error Code D67}:
CMSW CMSW CMTO CORT CORT CORT NETS with with with with with with with CMTO CMZB CMZB CMSW CMTO CMZB RTGS

2-86

RULE 167 (D67)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 168

(D68) 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} Examples :
Valid :32B:USD1000, :33B:CHF1000, . . . :32B:CHF1200, :33B:USD1000, Invalid :32B:USD1000,00 :33B:USD1000, . . . :32B:CHF1200, :33B:CHF1000,00

RULE 169

(D69) MT 320 In sequence A, if field 22B contains MATU, then field 30F in sequence B is not allowed, otherwise field 30F is optional (Error Code D69). Sequence A if field 22B is
MATU Not= MATU

Sequence B then field 30F is


Not allowed Optional

MT 330 In sequence A, if field 22B contains SETT, then field 30F in sequence B is not allowed, otherwise field 30F is optional (Error Code D69). Sequence A if field 22B is
SETT Not= SETT

Sequence B then field 30F is


Not allowed Optional

February 2007

RULE 168 (D68)

2-87

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 340 In subsequence B2, if at least one occurrence of field 22B contains the code OTHR, then sequence E and field 72 in sequence E are mandatory, otherwise (i.e. if no occurrence of field 22B contains the code OTHR), field 72 in sequence E is optional (Error Code D69): Subsequence B2 if at least one field 22B is
= OTHR otherwise (i.e. no occurrence of field 22B contains the code word OTHR)

then sequence E is
Mandatory Optional

Sequence E and field 72 is


Mandatory Optional

IF <message340> THEN FOR <subsequenceB2> IF 1<field22B>=OTHR THEN IF NOT <sequenceE:field72> THEN <error:D69> ENDIF ENDIF ENDFOR ENDIF

RULE 170

(D70) MT 300 In Sequence A, the presence of field 21 depends on field 22A as follows: Sequence A if field 22A is ...
AMND CANC DUPL EXOP NEWT

Sequence A then field 21 is ...


Mandatory Mandatory Optional Optional Optional

MT 320, 330 In sequence A, the presence of field 21 depends on the value of fields 22B and 22A as follows (Error code D70): Sequence A if field 22B is
CONF CONF Not= CONF

Sequence A and if field 22A is


NEWT Not= NEWT any value

Sequence A then field 21 is


Optional Mandatory Mandatory

2-88

RULE 170 (D70)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 171

(D71) MT 502, 514, 518 If field :22F::DBNM//VEND is present in sequence C, then it is mandatory to specify a vendor: i.e. one occurrence of sequence D Other Parties must contain a party field :95a::VEND (Error code: D71)
If Seq.C is And in Seq.C if field :22F::DBNM//VEND is (*) present then Seq.D is Mandatory i.e. Seq.D must be present minimum once and in one occurrence of Seq.D field :95a::VEND is Mandatory note: :95a::VEND Mandatory in only one occurrence of Seq.D ref. Rule 284 Optional Optional

present

not present not present n/aNot applicable

Optional Optional

(*) if the Data Source Scheme is present in field :22F::DBNM//VEND then the conditional rule does not apply. Mt 513, 515 If field :22F::DBNM//VEND is present in sequence D, then it is mandatory to specify a vendor: i.e. one occurrence of sequence E Other Parties must contain a party field :95a::VEND (Error code: D71)
If Seq.D is (*) And in Seq.D if field :22F::DBNM//VEND is (*) present then Seq.E is Mandatory i.e. Seq.E must be present minimum once Optional Optional and in one occurrence of Seq.E field :95a::VEND is Mandatory note: :95a::VEND Mandatory in only one occurrence of Seq.E ref. Rule 284 Optional Optional

present

not present not present n/aNot applicable

(*) if the Data Source Scheme is present in field :22F::DBNM//VEND then the conditional rule does not apply.

February 2007

RULE 171 (D71)

2-89

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 528, 529 If field :22F::DBNM//VEND is present in sequence C, then it is mandatory to specify a vendor: i.e. one occurrence of sequence D Other Parties must contain a party field :95a::VEND (Error code: D71)
In Seq.C if field :22F::DBNM//VEND is (*) present then Seq.D is Mandatory i.e. Seq.D must be present minimum once and in one occurrence of Seq.D field :95a::VEND is Mandatory note: :95a::VEND Mandatory in only one occurrence of Seq.D ref. Rule 284 Optional

not present

Optional

(*) if the Data Source Scheme is present in field :22F::DBNM//VEND then the conditional rule does not apply.

MT 540, 541, 542, 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 (Error code: D71) In Seq.E if field :22F::DBNM//VEND is
present (*)

then Seq.F is
Mandatory i.e. Seq.F must be present minimum once

and in one occurrence of Seq.F field :95a::VEND is


Mandatory note: :95a::VEND Mandatory in only one occurrence of Seq.F ref. Rule 284 Optional

not present

Optional

(*) if the Data Source Scheme is present in field :22F::DBNM//VEND then the conditional rule does not apply. RULE 172 (D72) MT 320 In sequence A, if field 94A is present and contains AGNT, then field 21N in sequence A is mandatory, otherwise it is optional (Error Code D72). Sequence A if field 94A is
AGNT BILA

Sequence A then field 21N is


Mandatory Optional

2-90

RULE 172 (D72)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

BROK Not present

Optional Optional

MT 330, 350 In sequence A, if field 94A is present and contains AGNT, then field 21N in sequence A is mandatory, otherwise field 21N is optional (Error Code D72). Sequence A if field 94A is
AGNT BILA Not present

Sequence A then field 21N is


Mandatory Optional Optional

RULE 173

(D73) MT 104, 107 When present in Sequence A, fields 21E, 26T, 77B, 71A, 52a, and field 50a (option C or L) must, independently of each other, not be present in any occurrence of Sequence B. When present in one or more occurrences of Sequence B, fields 21E, 26T, 77B, 71A, 52a, and field 50a (option C or L) must not be present in Sequence A {Error Code D73}. Sequence A if field 26T is ...
Present Not present

Sequence B then field 26T is ...


Not allowed Optional

Sequence A if field 77B is ...


Present Not present

Sequence B then field 77B is ...


Not allowed Optional

Sequence A if field 71A is ...


Present Not present

Sequence B then field 71A is ...


Not allowed Optional

Sequence A if field 52a is ...


Present Not present Sequence A if field 50a (option C or L) is ... Present Not present

Sequence B then field 52a is ...


Not allowed Optional Sequence B then field 50a (option C or L) is ... Not allowed Optional

Sequence A if field 21E is ...


Present Not present

Sequence B then field 21E is ...


Not allowed Optional

February 2007

RULE 173 (D73)

2-91

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 174

(D74) MT 300 The presence of Sequence C and fields 88a and 71F depend on field 94A as follows: Sequence A if field 94A is ...
Not present AGNT BILA BROK

Then Sequence C is ...


Optional Optional Optional Mandatory

Sequence C and field 88a is ....


Optional Optional Optional Mandatory

Sequence C and field 71F is ...


Not allowed Not allowed Not allowed Optional

MT 306 The presence of sequence I, and the presence of fields 88a and 71F in sequence I, depend on the value of field 94A in sequence A as follows: Sequence A if field 94A is ...
Not present BROK Not= BROK

Then Sequence I is ...


Optional Mandatory Optional

Sequence I and field 88a is ....


Optional Mandatory Optional

Sequence I and field 71F is ...


Not allowed Optional Not allowed

MT 320 The presence of sequence H, and the presence of fields 88a and 71F in sequence H, depend on the value of field 94A in sequence A as follows (Error code D74): Sequence A if field 94A is ...
Not present AGNT BILA BROK

then Sequence H is ...


Optional Optional Optional Mandatory

Sequence H and field 88a is ....


Optional Optional Optional Mandatory

Sequence H and field 71F is ...


Not allowed Not allowed Not allowed Optional

MT 340 The presence of sequence E, and the presence of fields 88a and 71F in sequence E, depend on the value of field 94A in sequence A as follows (Error code D74): Sequence A if field 94A is ...
Not present BROK Not= BROK

then sequence E is ...


Optional Mandatory Optional

Sequence E and field 88a is ....


Optional Mandatory Optional

Sequence E and field 71F is ...


Not allowed Optional Not allowed

2-92

RULE 174 (D74)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 360, 361 The presence of fields 88a and 71F in Sequence N and therefore, the presence of Sequence N itself, depend on field 94A in Sequence A as follows : Sequence A if field 94A is ...
Not present AGNT BILA BROK

Then Sequence N is ...


Optional Optional Optional Mandatory

Sequence N with field 88a ...


Optional Optional Optional Mandatory

Sequence N with field 71F...


Not allowed Not allowed Not allowed Optional

RULE 175

(D75) MT 103_not_STP, 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 (Error Code D75). If field 33B is ...
Present

and currency code in field 33B ...


NOT= currency code in field 32A = currency code in field 32A

then field 36 is ...


Mandatory Not allowed Not allowed

Not present

Not applicableNA

MT 104, 107 In any occurrence of Sequence B, if field 33B is present and the currency codes in fields 32B and 33B are different, then field 36 must be present. Otherwise, field 36 must not be present. {Error Code D75} Sequence B if field 33B is ...
Not present Present, AND <field 32B currency code> NOT = <field 33B currency code> Present, AND <field 32B currency code> = <field 33B currency code>

Sequence B then field 36 is ...


Not allowed Mandatory

Not allowed

February 2007

RULE 175 (D75)

2-93

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 176

(D76) MT 300 The presence of Sequence D depends on field 17U in Sequence A as follows: Sequence A if field 17U is ...
Not present Y N

then Sequence D is ...


Not allowed Mandatory Not allowed

RULE 177

(D77) MT 104 If field 21E is present in Sequence A, then field 50a (option A or K) must also be present in Sequence A. In each occurrence of Sequence B, if field 21E is present then field 50a (option A or K) must also be present in the same occurrence {Error Code D77}: Sequence A if field 21E is ... Sequence A then field 50a (option A or K) is ...
Mandatory

Sequence B if field 21E is ...

Sequence B then field 50a (option A or K) is ...


Mandatory

Present Not present

Present Not present

Optional (See 76)

Optional (See 76, 96)

MT 107 If field 21E is present in Sequence A, then field 50a (option A or K) must also be present in Sequence A. In each occurrence of Sequence B, if field 21E is present then field 50a (option A or K) must also be present in the same occurrence {Error Code D77}: Sequence A if field 21E is ... Sequence A then field 50a (option A or K) is ...
Mandatory

Sequence B if field 21E is ...

Sequence B then field 50a (option A or K) is ...


Mandatory

Present Not present

Present Not present

Optional (See 186)

Optional (See 186)

2-94

RULE 176 (D76)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 178

(D78) MT 416 Field 23E must be present either in Sequence A or in each occurrence of Sequence B but not in both. Sequence A if field 23E is ...
Present Not present

Sequence B then field 23E is ...


Not allowed Mandatory in each occurrence of Seq. B

RULE 179

(D79) MT 102_not_STP, 102_STP If field 71G is present in an occurrence of sequence B, then field 71G is mandatory in the sequence C (Error Code D79) if in any occurrence of Sequence B field 71G is ...
Present

Sequence C then field 71G is ...


Mandatory

MT 104, 107 If field 71F is present in one or more occurrence of Sequence B, then it must also be present in Sequence C, and vice-versa {Error Code D79}: If field 71G is present in one or more occurrence of Sequence B, then it must also be present in Sequence C, and vice-versa {Error Code D79}: Sequence B if field 71F is ...
Present Not present

Sequence C then field 71F is ...


Mandatory Not allowed

Sequence B if field 71G is ...


Present Not present

Sequence C then field 71G is ...


Mandatory Not allowed

RULE 180

(D80) MT 104 If sequence C is present, and if the amount in field 32B of sequence C is equal to the sum of the amounts of the fields 32B of sequence B then field 19 must not be present; otherwise, field 19 must be present. {Error Code D80}.

February 2007

RULE 178 (D78)

2-95

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

IF <message 104> AND <sequence C> THEN IF TOTAL_of <sequence B : field 32B.AMOUNT> = <sequence C : field 32B.AMOUNT> THEN IF <sequence C : field 19> THEN <error: D80> ENDIF ELSE IF NOT <sequence C : field 19> THEN <error: D80> ENDIF ENDIF ENDIF see rule 96

MT 107 If the amount in field 32B of sequence C is equal to the sum of the amounts of the fields 32B of sequence B then field 19 must not be present; otherwise, field 19 must be present. {Error Code D80}.
IF <message 107> THEN IF TOTAL_of <sequence B : field 32B.AMOUNT> = <sequence C : field 32B.AMOUNT> THEN IF <sequence C : field 19> THEN <error: D80> ENDIF ELSE IF NOT <sequence C : field 19> THEN <error: D80> ENDIF ENDIF ENDIF

MT 256 If the amount in field 32A of sequence C is equal to the sum of the amounts of fields 32J of sequence B, then field 19 must not be present; otherwise (i.e. the amount in field 32A of sequence C is not equal to the sum of the amounts of fields 32J of sequence B) field 19 must be present. RULE 181 (D81) MT 104, 107, 206, 256, 416 Subfield 2 of field 23E is only allowed when subfield 1 of this field consists of OTHR. MT 306 Subfield 2 of field 22K, i.e. "/"35x, is mandatory when subfield 1 of this field consists of OTHR, otherwise it is not allowed. MT 405. Subfield 2 of field 23C is only allowed when subfield 1 of this field consists of OTHR. Subfield 2 of field 23E is only allowed when subfield 1 of this field consists of OTHR. Subfield 2 of field 23F is only allowed when subfield 1 of this field consists of OTHR.

2-96

RULE 181 (D81)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 700, 710, 720 Subfield 2 of field 40E, i.e. "/"35x, is only allowed when subfield 1 of this field consists of OTHR.

MT 760 Subfield 2 of field 40C, i.e. "/"35x, is only allowed when subfield 1 of this field consists of OTHR.

RULE 182

(D82) MT 104, 107, 207 The first component in line 1 of field 72 must consist of either /RETN/ or /REJT/.

RULE 183

(D83) MT 416 When present in Sequence A, fields 71F and 77A must, independently of each other, not be present in any occurrence of Sequence B. Conversely, when not present in Sequence A, fields 71F and 77A are, independently of each other, optional in any occurrence of Sequence B. in Sequence A, if field 71F is ... then in each occurrence of Sequence B, field 71F is ...
Not allowed Optional

in Sequence A if field 77A is ...

then in each occurrence of Sequence B, field 77A is ...


Not allowed Optional

Present Not present

Present Not present

RULE 184

(D84) MT 740 Either field 58a or 59, but not both, may be present. if field 58a is ...
Present Not present

then field 59 is ...


Not allowed Optional

February 2007

RULE 182 (D82)

2-97

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 185

(D85) MT 330 In sequence B, if field 30X is present, then field 34E in sequence B is mandatory, otherwise field 34E is not allowed (Error Code D85). Sequence B if field 30X is
Present Not present

Sequence B then field 34E is


Mandatory Not allowed

RULE 186

(D86) MT 107 Fields 23E and 50a (option A or K) must, independently of each other, be present either in Sequence A or in each occurrence of Sequence B but not in both (Error Code D86). Sequence A if field 23E is ... In each occurrence of Sequence B then field 23E is ...
Not allowed Mandatory

Sequence A if field 50a (option A or K) is ...


Present Not present

In each occurrence of Sequence B then field 50a (option A or K) is ...


Not allowed Mandatory

Present Not present

MT 405 Fields 23E Collection Type and 50D Principal must, independently of each other, be present either in Sequence A or in each occurrence of Sequence B but not in both. Sequence A if field 23E is ...
Present Not present

In each occurrence of Sequence B then field 23E is ...


Not allowed Mandatory

Sequence A if field 50D is ...


Present Not present

In each occurrence of Sequence B then field 50D is ...


Not allowed Mandatory

2-98

RULE 185 (D85)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 187

(D87) MT 405 When present in Sequence A, fields 26T Transaction Type Code, 77B Regulatory Reporting, 71A Details of Charges, 50L Instructing Party and 52a Remitting Bank must, independently of each other, not be present in any occurrence of Sequence B. Conversely, when not present in Sequence A, fields 26T Transaction Type Code, 77B Regulatory Reporting, 71A Details of Charges, 50L Instructing Party and 52a Remitting Bank are, independently of each other, optional in any occurrence of Sequence B. in Sequence A, if field 26T is ... then in each occurrence of Sequence B, field 26T is ...
Not allowed Optional

in Sequence A, if field 77B is ...

then in each occurrence of Sequence B, field 77B is ...


Not allowed Optional

Present Not present

Present Not present

in Sequence A, if field 71A is ...

then in each occurrence of Sequence B, field 71A is ...


Not allowed Optional

in Sequence A, if field 52a is ...

then in each occurrence of Sequence B, field 52a is ...


Not allowed Optional

Present Not present

Present Not present

in Sequence A, if field 50L is ...

then in each occurrence of Sequence B, field 50L is ...


Not allowed Optional

Present Not present

RULE 188

(D88) MT 405 Independently of each other, if fields 71F and 71G are present in one or more occurrence of Sequence B, then they must also be present in Sequence C. Conversely, if fields 71F and 71G are not present in any occurrence of Sequence B, then they must not be present in Sequence C. IF (in Sequence B) field 71F is ...
Present in one or more occurrences of Seq. B

and Sequence C is ...


present not present

then in Sequence C, field 71F is ...


Mandatory N.A. Not Allowed N.A.

Not Present in any occurrence of Seq. B

present not present

February 2007

RULE 187 (D87)

2-99

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

IF (in Sequence B) field 71G is ...


Present in one or more occurrences of Seq. B

and Sequence C is ...


present not present

then in Sequence C, field 71G is ...


Mandatory N.A. Not Allowed N.A.

Not Present in any occurrence of Seq. B

present not present

RULE 189

(D89) MT 405 If Sequence C is present and the sum of the fields 32a Face Amount of Financial Document in Sequence B equals the amount indicated in field 32a Proceeds to be Remitted in Sequence C, then field 19 Sum of Face Amounts of Financial Documents must not be present in Sequence C. If Sequence C is present and the sum of the fields 32a Face Amount of Financial Document in Sequence B does not equal the amount indicated in field 32a Proceeds to be Remitted in Sequence C, then field 19 Sum of Face Amounts of Financial Documents must be present in Sequence C and must equal the sum of all the fields 32a Face Amount of Financial Document in Sequences B.

RULE 190

(D90) MT 405 The presence of Subsequences A1 and B1 Avalisation Details is dependent on the presence and the content of subfield 1 of field 23E Collection Type in the same Sequence A and B respectively. Sequence A if field 23E contains ...
BACC BAAV BNAC RCPT PRNO OTHR

Subsequence A1 is ...
Not allowed Mandatory Not allowed Not allowed Not allowed Not allowed

Sequence B if field 23E contains ...


BACC BAAV BNAC RCPT PRNO OTHR

Subsequence B1 is ...
Not allowed Mandatory Not allowed Not allowed Not allowed Not allowed

23E not present RULE 191 (D91) MT 405

Not allowed

23E not present

Not allowed

If field 71A Details of Charges contains either the code word SHA or BEN, field 17A Charges Indicator must be used. If field 71A Details of Charges contains the code word OUR, field 17A Charges Indicator must not be used.

2-100

RULE 189 (D89)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

If field 71A Details of Charges is not present, field 17A Charges Indicator is optional. Sequence A if field 71A is ...
SHA BEN OUR Not present

Sequence A then field 17A is ...


Mandatory Mandatory Not allowed Optional

Sequence B if field 71A is ...


SHA BEN OUR Not present

Sequence B then field 17A is ...


Mandatory Mandatory Not allowed Optional

RULE 192

(D92) MT 530 In each occurrence of Sequence B, all Orders of field 20C are Optional, but at least one Order (any one) must be present. MT 568 All Orders of field 70a are Optional, but at least one Order (any one) must be present.

RULE 193

(D93) MT 102_not_STP If field 23 contains the code CHQB then subfield 1 (account number line) must not be present in field 59a. In all other cases, it is mandatory {Error Code D93}.
IF <message 102_not_STP> FOR <sequence B> IF <field 23> = CHQB THEN IF <field 59* : subf 1> THEN <error: D93> ENDIF ELSE IF NOT <field 59* : subf 1> THEN <error: D93> ENDIF ENDIF ENDFOR ENDIF

MT 530 In each occurrence of Sequence B, all Orders of field 22F are Optional, but at least one Order (any one) must be present.

February 2007

RULE 192 (D92)

2-101

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 194

(D94) MT 405 The presence of fields 22D and 22E is dependent on the presence and the content of subfield 1 of field 23E. Sequence A if field 23E contains ...
BACC BAAV BNAC RCPT PRNO OTHR

Sequence A then field 22D is ...


Mandatory Mandatory Mandatory Not allowed Not allowed Optional

Sequence A then field 22E is ...


Optional Optional Optional Optional Optional Optional

23E not present Sequence B if field 23E contains ...


BACC BAAV BNAC RCPT PRNO OTHR

Not allowed Sequence B then field 22D is ...


Mandatory Mandatory Mandatory Not allowed Not allowed Optional

Not allowed Sequence B then field 22E is ...


Optional Optional Optional Optional Optional Optional

23E not present RULE 195 (D95) MT 405

Not allowed

Not allowed

In Sequence A and in Sequence B, depending on the code word used in the field 23E, only the following code words combinations may be used in the fields 22D and 22E : Sequence A field 23E
BACC BAAV BNAC BNAC BNAC BNAC RCPT PRNO OTHR

Sequence A field 22D


CPAY CPAY CACC CACP CACP CPAY field not allowed field not allowed any valid code word

Sequence A field 22E


PNPY PNPY PNAC PNAP PNPY PNPY any valid code word any valid code word any valid code word

2-102

RULE 194 (D94)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Sequence B field 23E


BACC BAAV BNAC BNAC BNAC BNAC RCPT PRNO OTHR

Sequence B field 22D


CPAY CPAY CACC CACP CACP CPAY field not allowed field not allowed any valid code word

Sequence B field 22E


PNPY PNPY PNAC PNAP PNPY PNPY any valid code word any valid code word any valid code word

RULE 196

(D96) 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). MT 340, 360, 361, 362 Field 18A must be equal to the number of repetitions that immediately follows.

RULE 197

(D97) MT 103_not_STP Subfield 2 of field 23E is only allowed when subfield 1 consists of : 'PHON', 'PHOB', 'PHOI', 'TELE', 'TELB', 'TELI', 'HOLD' or REPA. 103_STP Subfield 2 of field 23E is only allowed when subfield 1 consists of : REPA.

RULE 198

(D98) 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).

MT 103_not_STP If field 23E is repeated, the codes must appear in the following order (Error code D98)
SDVA INTC REPA CORT

February 2007

RULE 196 (D96)

2-103

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

HOLD CHQB PHOB TELB PHON TELE PHOI TELI

note: the first code does not need to be SDVA, there may be gaps. see also rule 167 and 246 for other restrictions rule 167 takes precedence over rules 246 and 198 MT 103_STP If field 23E is repeated, the codes must appear in the following order (Error code D98)
SDVA INTC REPA CORT

note: the first code does not need to be SDVA, there may be gaps. see also rule 167 and 246 for other restrictions rule 167 takes precedence over rules 246 and 198 RULE 199 (D99) 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). In each occurrence of sequence B, if amount in field 32B is ...
=0 not= 0

in the same occurrence of sequence B then fields 21F, 33B and 36 are
Not allowed Optional

MT 564 If field :70E::NAME is used in sequence D, then field :22F::CAEV//CHAN must be present in Seq. A, and field :22F::CHAN//NAME must be present in sequence D. (Error code(s): D99).

2-104

RULE 199 (D99)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

In Seq. D if field :70E::NAME is Present Not present

then Seq. A field :22F::CAEV//CHAN is Mandatory, and DSS must not be present Not applicable n/a

and Seq. D field :22F::CHAN//NAME is Mandatory, and DSS must not be present Not applicablen/a

MT 566 If field :70E::NAME is used in sequence C, then field :22F::CAEV//CHAN must be present in Seq. A, and field :22F::CHAN//NAME must be present in sequence C. (Error code(s): D99).
In Seq. C if field :70E::NAME is Present Not present then Seq. A field :22F::CAEV//CHAN is Mandatory, and DSS must not be present Not applicablen/a and Seq. C field :22F::CHAN//NAME is Mandatory, and DSS must not be present Not applicablen/a

RULE 200

(E00) Not used.

RULE 201

(E01) MT 103_not_STP If field 23B contains the code word SPRI, field 23E can contain only the code words SDVA, TELB, PHOB, INTC. If field 23B is ...
SPRI NOT= SPRI IF <message 103_not_STP> THEN IF <field 23B> = SPRI THEN FOR <field 23E> IF <field 23E : subf 1> NOT= (SDVA | TELB | PHOB | INTC) THEN <error: E01> ENDIF ENDFOR ENDIF ENDIF

then field 23E is ...


Optional. It can contain only SDVA, TELB, PHOB or INTC Optional

February 2007

RULE 200 (E00)

2-105

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 103_STP If field 23B contains the code word SPRI, field 23E can contain only the code words SDVA, INTC. If field 23B is ...
SPRI NOT= SPRI IF <message 103_STP> THEN IF <field 23B> = SPRI THEN FOR <field 23E> IF <field 23E : subf 1> NOT= (SDVA | INTC) THEN <error: E01> ENDIF ENDFOR ENDIF ENDIF

then field 23E is ...


Optional. It can contain only SDVA or INTC Optional

MT 564 In sequence A, if field :22F::CAEV//RHDI is present, then sequence C is not allowed. (Error code E01). In sequence A, if field :22F::CAEV//RHTS is present, then sequence C is mandatory (Error code E01). In Seq.A if field :22F::CAEV (*) is
:22F::CAEV//RHDI :22F::CAEV//RHTS Other

then Seq.C is
Not allowed Mandatory Optional

(*) if the Data Source Scheme is present in field :22F::CAEV then the conditional rule does
not apply.

RULE 202

(E02) MT 103_not_STP, 103_STP If field 23B contains one of the code words SSTD or SPAY, field 23E must not be used. If field 23B is ...
SSTD SPAY NOT= SSTD and NOT= SPAY

then field 23E is ...


Not allowed Not allowed Optional

2-106

RULE 201 (E01)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 564 In sequence A, if field :23G:REPE is present, then: when sequence C is present, field :36a::QINT is mandatory (Error code E02).
In Seq.A if field :23G:REPE is Present And Seq.C is Present Not present Not present Optional then in Seq.C field :36a::QINT is Mandatory n/a Not applicable Optional

RULE 203

(E03) MT 103_not_STP If field 23B contains one of the code words SPRI, SSTD or SPAY, field 53a must not be used with option D. If field 23B is ...
SPRI, SSTD or SPAY other code

then field 53a ...


Must not be used with option D (i.e. only 53A and 53B are Optional) 53a Optional

MT 564 In sequence A, if field :22F::CAEV//OTHR is present, then minimum one of the Sequences D or F must be present, and minimum one occurrence of field :70E::ADTX must be present in the message (i.e. in seq. D, or F, or both) Error Code E03).
Sequence A, if field :22F::CAEV//OTHR is... (*) Present Present Not present Not present Not applicable n/a And Seq. D is And in Sequence D field :70E::ADTX is Present Not Present Not applicablen/a Not applicable n/a Optional Mandatory Mandatory Then Sequence F And in Sequence F is... field :70E::ADTX is Optional Mandatory Mandatory

n/aNot applicable n/aNot applicable

(*) if the Data Source Scheme is present in field :22F::CAEV//OTHR then the conditional rule does not apply. RULE 204 (E04) MT 103_not_STP If field 23B contains one of the code words SPRI, SSTD or SPAY and field 53a is present with option B, Subfield 1 (Party Identifier: [/<DC>][/34x] CRLF) must be present in field 53B.

MT 103_STP If field 53a is present with option B, Subfield 1 (Party Identifier: [/<DC>][/34x] CRLF) must be present in field 53B.

February 2007

RULE 203 (E03)

2-107

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 205

(E05) MT 103_not_STP If field 23B contains one of the code words SPRI, SSTD or SPAY, field 54a can be used with option A only. If field 23B is ...
SPRI, SSTD or SPAY other code

then field 54a ...


54A Optional (options B and D are not allowed) 54a Optional

RULE 206

(E06) MT 103_not_STP If field 55a is present, then both fields 53a and 54a must also be present. If field 55a is ...
Present Not present

then field 53a is ...


Mandatory Optional

and field 54a is ...


Mandatory Optional

MT 103_STP If field 55A is present, then both fields 53A and 54A must also be present. If field 55A is ...
Present Not present

then field 53a is ...


53A Mandatory 53a Optional

and field 54A is ...


Mandatory Optional

MT 564 If field :22F::CAEV//RHDI is present in sequence A, then field :22F::RHDI must be present in sequence D or in at least one occurrence of sequence E, but not in both D and E. (Error code(s): E06).

2-108

RULE 205 (E05)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

In Seq. A if field :22F::CAEV//RHDI (*) is


Present

And if Seq. D is

then Seq E and field :22F::RHDI are

present and :22F::RHDI is present Seq. E is Optional, and field :22F::RHDI is not allowed in all occurences of Seq. E present and :22F::RHDI is not present Seq. E is Mandatory (minimum one occurrence), and field :22F::RHDI is Mandatory in at least one occurrence of Seq. E not Present Seq. E is Mandatory (minimum one occurrence), and field :22F::RHDI is Mandatory in at least one occurrence of Seq. E

Not Present

Not applicableN.A.

Not applicableN.A.

(*) if the Data Source Scheme is present in field :22F::CAEV then the conditional rule does not apply.

MT 566 If field :22F::CAEV//RHDI is present in sequence A, then Sequence C is Mandatory and field :22F::RHDI must be present in sequence C (Error code(s): E06. In Seq. A if field :22F::CAEV//RHDI (*) is
Present Not Present Optional

then Seq. C is
Mandatory

and in Seq. C field :22F::RHDI is


Mandatory Optional

(*) if the Data Source Scheme is present in field :22F::CAEV//RHDI then the conditional rule does not apply.

RULE 207

(E07) MT 103_not_STP If field 23B contains one of the code words SPRI, SSTD or SPAY, field 55a can be used with option A only. If field 23B is ...
SPRI, SSTD or SPAY other code

then field 55a ...


55A Optional (options B and D are not allowed) 55a Optional

February 2007

RULE 207 (E07)

2-109

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 208

(E08) MT 381 If the message is a cancellation (i.e. if the Function of the Message -field 23G- is CANC), then subsequence A1 Linkages must be present at least once, and a reference to the previous message must be specified in the Linkage section (i.e. field :20C::PREV must be present minimum once in that message). Sequence A if field :23G: is ...
CANC Mandatory, i.e. minimum one occurrence of A1

Then subsequence A1 is ...

and in minimum one occurrence of subsequence A1 field :20C::PREV is ...


Mandatory (note: it does not need to be present in all occurrences of A1) Optional

not CANC

Optional

MT 500, 513, 514, 518, 519, 528, 529, 535, 536, 537, 538, 549, 565, , 575, 576, 584, 586, 587 If the message is a cancellation, ie, Function of the Message (field 23G) is CANC, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08). Sequence A if field :23G: is ...
CANC

Then subsequence A1 is ...


Mandatory (minimum one occurrence of A1 must be present) Optional

and field :20C::PREV is ...


Mandatory in one occurrence of Subseq.A1, and not allowed in all other ocurrences of Subseq.A1 Not applicableN.A.

NEWM

MT 502 If the message is a cancellation or a replacement, ie, Function of the Message (field 23G) is CANC or REPL, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08). Sequence A if field :23G: is ...
CANC or REPL

Then subsequence A1 is ...


Mandatory (minimum one occurrence of A1 must be present) Optional

and field :20C::PREV is ...


Mandatory in one occurrence of Subseq.A1, and not allowed in all other ocurrences of Subseq.A1 Not applicableN.A.

NEWM

2-110

RULE 208 (E08)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 503, 504, 505, 506, 569 If the message is a cancellation, ie, Function of the Message (field 23G) is CANC, then subsequence A2 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A2, field :20C::PREV must be present; consequently, in all other occurrences of A2, field :20C::PREV is not allowed (Error Code E08). Sequence A if field :23G: is ...
CANC

Then subsequence A2 is ...


Mandatory (minimum one occurrence of A2 must be present) Optional

and field :20C::PREV is ...


Mandatory in one occurrence of Subseq.A2, and not allowed in all other ocurrences of Subseq.A2 N.A. Not applicable

NEWM

MT 508, 524 If the message is a cancellation, ie, Function of the Message (field 23G) is CANC, then subsequence A1 (Linkages) must be present in the message, and field :20C::PREV must be present in A1 (Error code(s): E08). Sequence A if field :23G: is ...
CANC NEWM Mandatory Optional Mandatory N.A. Not applicable

Then subsequence A1 is ...

and field :20C::PREV is ...

MT 501, 515, 517 If the message is a cancellation, ie, Function of the Message (field 23G) is CANC, then field :20C::PREV must be present in one and only one occurrence of A1; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08). Sequence A if field :23G: is ...
CANC NEWM

then field :20C::PREV is ...


Mandatory in one occurrence of Subseq.A1, and not allowed in all other ocurrences of Subseq.A1 N.A. Not applicable

February 2007

RULE 208 (E08)

2-111

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 527 In sequence A, if the value of field :23G:<Function> subfield 1 is REPL, then sequence B is not allowed otherwise it is mandatory (Error Code E08). Sequence A if value of field :23G:4!c[/4!c] subfield 1 is
REPL NEWM CANC

then sequence B is
Not allowed Mandatory Mandatory

MT 540, 541, 542, 543 If the message is a cancellation, ie, Function of the Message (field 23G) is CANC, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08). Sequence A if field :23G: is ...
CANC

Then subsequence A1 is ...


Mandatory (minimum one occurrence of A1 must be present) Optional

and field :20C::PREV is ...


Mandatory in one occurrence of Subseq.A1, and not allowed in all other ocurrences of Subseq.A1 N.A. Not applicable

NEWM or PREA

MT 544, 545, 546, 547 If the message is a cancellation or a reversal, ie, Function of the Message (field 23G) is CANC or RVSL, then field :20C::PREV must be present in one and only one occurrence of Subseq. A1; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08). Sequence A if field :23G: is ...
CANC or RVSL NEWM Mandatory in one occurrence of Subseq.A1, and not allowed in all other ocurrences of Subseq.A1 N.A. Not applicable

Then field :20C::PREV is ...

2-112

RULE 208 (E08)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 558 In sequence A, the presence of fields :25D:: and :24B:: depends on the value of field :23G:<Function> subfield 1 as follows (Error Code E08): Sequence A if value of field :23G: 4!c[/4!c] subfield 1 is ...
ADVD Not ADVD

then field :25D:: is ...


Not allowed Mandatory

and field :24B:: is ...


Not allowed Optional

MT 564, 568 If the message is a cancellation, a replacement, an eligible balance notification, a withdrawal or a reminder, ie, Function of the Message (field 23G) is CANC, REPL, REPE, WITH or RMDR, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08). Sequence A if field :23G: is ...
CANC, REPL, REPE, WITH or RMDR

Then subsequence A1 is ...


Mandatory (minimum one occurrence of A1 must be present) Optional

and field :20C::PREV is ...


Mandatory in one occurrence of Subseq.A1, and not allowed in all other ocurrences of Subseq.A1 N.A. Not applicable

NEWM

MT 566, 588 If the message is a reversal, ie, Function of the Message (field 23G) is REVR, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08). Sequence A if field :23G: is ...
REVR

Then subsequence A1 is ...


Mandatory (minimum one occurrence of A1 must be present) Optional

and field :20C::PREV is ...


Mandatory in one occurrence of Subseq.A1, and not allowed in all other ocurrences of Subseq.A1 N.A. Not applicable

NEWM

February 2007

RULE 208 (E08)

2-113

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 578 If the message is a cancellation or a removal, ie, Function of the Message (field 23G) is CANC or REMO, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08). Sequence A if field :23G: is ...
CANC or REMO

Then subsequence A1 is ...


Mandatory (minimum one occurrence of A1 must be present) Optional

and field :20C::PREV is ...


Mandatory in one occurrence of Subseq.A1, and not allowed in all other ocurrences of Subseq.A1 N.A. Not applicable

NEWM

RULE 209

(E09) MT 103_not_STP If field 23B contains one of the code words SPRI, SSTD or SPAY, field 57a can be used with option A, option C or option D. In addition, in option D, Subfield 1 (Party Identifier: [/<DC>][/34x] CRLF) must be present. If field 23B is ...
SPRI, SSTD or SPAY

then field 57a is ...


Allowed only with options A, C or D (in option D : Party Identifier [/<DC>][/34x] CRLF is mandatory) 57a Optional

other code

RULE 210

(E10) MT 103_not_STP If field 23B contains one of the code words SPRI, SSTD or SPAY, Subfield 1 (Account) in field 59a (Beneficiary Customer) is mandatory (Error Code E10).

MT 102_STP , 103_STP Subfield 1 (Account) in field 59a (Beneficiary Customer) is mandatory (Error Code E10). note: rule 210 takes precedence over rule 119 MT 104, 107 Subfield 1 (Account) in field 59a (Debtor) is mandatory (Error Code E10).

2-114

RULE 209 (E09)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 211

(E11) MT 206 In Seq. A, if field 23E contains TRAV, then in each occurence of seq. B either field 21D, or field 29a must be present, but not both.

RULE 212

(E12) MT 103_not_STP Either field 70 or 77T, but not both, may be present.

if Field 70 is ...
Present Not present

then Field 77T is ...


Not allowed Optional

RULE 213

(E13) MT 102_not_STP, 102_STP If field 71A in sequence A contains OUR, then field 71F is not allowed and field 71G is optional in any occurrence of sequence B (Error Code E13). in sequence A If field 71A is ...
OUR

in each occurrence of sequence B then field(s) 71F is(are) ...


Not allowed

and field 71G is ...


Optional

If field 71A in sequence B contains OUR, then field 71F is not allowed and field 71G is optional in the same occurrence of sequence B (Error Code E13). in sequence B If field 71A is ...
OUR

in the same occurrence of sequence B then field(s) 71F is(are) ...


Not allowed

and field 71G is ...


Optional

see rules 120, 150 and 215 (rule 120 takes precedence over rules 150, 213 and 215)

MT 103_not_STP, 103_STP If field 71A contains OUR, then field 71F is not allowed and field 71G is optional (Error Code E13). If field 71A is ...
OUR

then field 71F is ...


Not allowed

and field 71G is ...


Optional

see rules 150 and 215

February 2007

RULE 211 (E11)

2-115

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 214

(E14) MT 528, 529 If field :22F::FXCX//FXNO or FXYE is present in sequence C, then the message must be a cancellation, ie, Function of the Message in sequence A (field 23G) is CANC. If field :22F::FXCX//SINO is present in sequence C, then the message must be new, ie, Function of the Message in sequence A (field 23G) is NEWM . (Error code(s): E14).
Sequence C if field :22F::FXCX is (*) FXNO FXYE SINO Not present In sequence A then field :23G:4!c is CANC CANC NEWM NANot applicable

(*) if the Data Source Scheme is present in field :22F::FXCX// then the conditional rule does not apply.

MT 540, 541, 542, 543 If field :22F::FXCX//FXNO or FXYE is present in sequence E, then the message must be a cancellation, ie, Function of the Message in sequence A (field 23G) is CANC. If field :22F::FXCX//SINO is present in sequence E, then the message must be new, ie, Function of the Message in sequence A (field 23G) is NEWM. (Error code E14).
Sequence E if field :22F::FXCX (*) FXNO FXYE SINO Not present In sequence A then field :23G:4!c is CANC CANC NEWM NANot applicable

(*) if the Data Source Scheme is present in field :22F::FXCX// then the conditional rule does not apply. (NA).

RULE 215

(E15) MT 102_not_STP, 102_STP If field 71A in sequence A contains BEN, then at least one occurrence of field 71F is mandatory in each occurrence of sequence B and field 71G is not allowed (Error Code E15). in sequence A If field 71A is ...
BEN

in each occurrence of sequence B then field(s) 71F is(are) ...


Mandatory

and field 71G is ...


Not allowed

2-116

RULE 214 (E14)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

If field 71A in sequence B contains BEN, then at least one occurrence of field 71F is mandatory in the same occurrence of sequence B and field 71G is not allowed (Error Code E15).

in sequence B If field 71A is ...


BEN

in the same occurrence of sequence B then field(s) 71F is(are) ...


Mandatory

and field 71G is ...


Not allowed

see rules 120, 150 and 213 (rule 120 takes precedence over rules 150, 213 and 215)

MT 103_not_STP, 103_STP If field 71A contains BEN, then at least one occurrence of field 71F is mandatory and field 71G is not allowed (Error Code E15). If field 71A is ...
BEN

then field 71F is ...


Mandatory (at least one occurrence)

and field 71G is ...


Not allowed

see rules 150 and 213

RULE 216

(E16) MT 103_not_STP, 103_STP If field 23B contains the code word SPRI, field 56a must not be used. If field 23B is ...
SPRI

then field 56a is ...


Not allowed

RULE 217

(E17) MT 103_not_STP If field 23B contains one of the code words SSTD or SPAY, field 56a can be used with either option A or option C. If option C is used, it must contain a clearing code. If field 23B is ...
SSTD or SPAY

then Field 56D is ...


Not allowed

Field 56A is ...


Optional

Field 56C is ...


Optional, but: If 56C is present then the first 2 char of the first line must be //, i.e. the format must be: 56C://33x

Note; there is only one Field 56a defined in the MT 103_not_STP per the MT format (ref. Part V), the letter option must be A, C, or D; in addition, when the code word used in Field 23B is SSTD or SPAY then the letter option is validated by rule 217. If another (valid)

February 2007

RULE 216 (E16)

2-117

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

code word is used then the rule 217 is not applicable see also rule 216 for other restrictions

RULE 218

(E18) MT 103_not_STP If any field 23E contains the code word CHQB, Subfield 1 (Account) in field 59a (Beneficiary Customer) is not allowed (Error Code E18).

RULE 219

(E19) MT 206 If field 23E contains GENC or OTHR, then in each occurrence of sequence B, if field 29a is not present, then the fields 21D, 58a and 25 are all mandatory in that occurrence. Sequence A field 23E contains GENC or OTHR and in Sequence B if 29a is ...
Not present

Sequence B then 21D, is ...

Sequence B then 58a, is ...

Sequence B then 25, is ...

Mandatory

Mandatory

Mandatory

RULE 220

(E20) MT 206 If field 23E contains GENC or OTHR, then in each occurrence of sequence B, if field 29a is present, then the fields 21D and 58a are not allowed in that occurrence. Sequence A field 23E contains GENC or OTHR and in sequence B, if 29a is ...
Present

Sequence B then 21D, is ...

Sequence B then 58a, is ...

Not allowed

Not allowed

RULE 221

(E21) MT 206 Field 32A must only be present if field 28E contains the code word LAST or ONLY Sequence A if 28E contains ...
LAST MORE ONLY

Sequence C then 32A is ...


Mandatory Not allowed Mandatory

2-118

RULE 218 (E18)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 222

(E22) MT 206 Field 19 must only be present if field 28E contains the code word MORE or LAST. Sequence A if 28E contains ...
LAST MORE ONLY

Sequence C then 19 is ...


Mandatory Mandatory Not allowed

RULE 223

(E23) MT 206 When field 28E contains ONLY, then the amount specified in field 32A must be equal to the sum of all occurrences of field 32J in sequence B.

RULE 224

(E24) MT 206 When field 28E contains MORE or LAST, then field 19 must be equal to the sum of all occurrences of field 32J in sequence B.

RULE 225

(E25) MT 256 If field 37J is present, then field 71G must also be present. Sequence B if field 37J is ...
Present Not present

Sequence B then field 71G is ...


Mandatory Optional

RULE 226

(E26) MT 256 If field 71L is present in sequence C, then the amount specified in field 71L must be equal to the sum of all occurrences of field 71F in sequence B.

RULE 227

(E27) MT 256 If field 71J is present in sequence C, then the amount specified in field 71J must be equal to the sum of all occurrences of field 71G in sequence B.

February 2007

RULE 222 (E22)

2-119

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 228

(E28) MT 256 Field 21 must be present either in Sequence A or in each occurrence of Sequence B but not in both. Sequence A if field 21 is ...
Present Not present

Sequence B then field 21, is ...


Not allowed Mandatory in each occurrence of Seq. B

RULE 229

(E29) MT 256 If field 71F is present in any occurrence of sequence B, then field 71L must be present in sequence C, and vice versa if field 71F is absent from all occurrences of sequence B, then field 71L is not allowed in sequence C. Sequence B if field 71F is ...
Present in any occurrence Not present in any occurrence

Sequence C then field 71L is ...


Mandatory Not allowed

RULE 230

(E30) MT 256 If field 71G is present in any occurrence of sequence B, then field 71J must be present in sequence C, and vice versa if field 71G is absent from all occurrences of sequence B, then field 71J is not allowed in sequence C. Sequence B if field 71G is ...
Present in any occurrence Not present in any occurrence

Sequence C then field 71J is ...


Mandatory Not allowed

RULE 231

(E31) MT 256 If field 71H is present in any occurrence of sequence B, then field 71K must be present in sequence C, and vice versa if field 71H is absent from all occurrences of sequence B, then field 71K is not allowed in sequence C. Sequence B if field 71H is ...
Present in any occurrence Not present in any occurrence

Sequence C then field 71K is ...


Mandatory Not allowed

2-120

RULE 228 (E28)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 232

(E32) MT 256 If field 71K is present in sequence C, then the amount specified in field 71K must be equal to the sum of all occurrences of field 71H in sequence B.

RULE 233

(E33) MT 364 The presence of Sequences B and E depends on subfield 1 of field 23A in Sequence A as follows : Sequence A and if Subfield 1 of field 23A =
FIXEDFIXED FLOATFLOAT FLOATFIXED FIXEDFLOAT CAPBUYER CAPSELLER FLOORBUYER FLOORSLLER COLLARBYER COLLARSLLR

then Sequence B is ...

then Sequence E is ...

Mandatory Not allowed Mandatory Not allowed Not allowed Not allowed Not allowed Not allowed Not allowed Not allowed

Mandatory Not allowed Not allowed Mandatory Not allowed Not allowed Not allowed Not allowed Not allowed Not allowed

Note : see RULE 234 for additional subsequence(s) and field(s) semantic checks.

MT 365 The presence of Sequences B and E depends on subfield 1 of field 23A in Sequence A as follows : Sequence A and if Subfield 1 of field 23A =
FIXEDFIXED FLOATFLOAT FLOATFIXED FIXEDFLOAT Mandatory Not allowed Mandatory Not allowed Mandatory Not allowed Not allowed Mandatory

then Sequence B is ...

then Sequence E is ...

Note : see RULE 234 for additional subsequence(s) and field(s) semantic checks. RULE 234 (E34) MT 364 In Sequence A, the presence of fields 32G and 22D and, in Sequences B and E, the presence of field 37P depend on field 22B in Sequence A as follows

February 2007

RULE 232 (E32)

2-121

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

Sequence A if field 22B is ...


PTRC PTRM RCPN TERM

Sequence A then field 32G is ...


Mandatory Mandatory Not allowed Not allowed

Sequence A then field 22D is ...


Mandatory Mandatory Mandatory Not allowed

if Sequence B is present then field 37P is ...


Mandatory Not allowed Mandatory Not allowed

if Sequence E is present then field 37P is ...


Mandatory Not allowed Mandatory Not allowed

Note : the presence of Subsequences B and E is determined by RULE 233. MT 365 In Sequence A, the presence of fields 32G, 33E and 22D and, in Sequences B and E, the presence of field 37P, depend on field 22B in Sequence A as follows: Sequence A if field 22B is ...
PTRC PTRM RCPN TERM

Sequence A then field 32G is ...


Mandatory Mandatory Not allowed Not allowed

Sequence A then field 33E is ...


Mandatory Mandatory Not allowed Not allowed

Sequence A then field 22D is ...


Mandatory Mandatory Mandatory Not allowed

if Sequence B is present then field 37P is ...


Mandatory Not allowed Mandatory Not allowed

if Sequence E is present then field 37P is ...


Mandatory Not allowed Mandatory Not allowed

Note : the presence of Subsequences B and E is determined by RULE 233. RULE 235 (E35) MT 306 In sequences C and E (if present -see RULE 132-), if field 56a is not present, then field 86a in the same sequence C or E is not allowed, otherwise field 86a is optional (Error Code E35). Sequence C if field 56a is...
Not present Present

Sequence C then field 86a is


Not allowed Optional

Sequence E if field 56a is...


Not present Present

Sequence E then field 86a is


Not allowed Optional

2-122

RULE 235 (E35)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 320, 330 In sequences C, D, E (if present) and F (if present), if field 56a is not present, then field 86a in the same sequence C, D, E or F is not allowed, otherwise field 86a is optional (Error Code E35). Sequence C if field 56a is...
Not present Present

Sequence C then field 86a is


Not allowed Optional

Sequence D if field 56a is


Not present Present

Sequence D then field 86a is


Not allowed Optional

Sequence E if field 56a is...


Not present Present

Sequence E then field 86a is


Not allowed Optional

Sequence F if field 56a is


Not present Present

Sequence F then field 86a is


Not allowed Optional

MT 340 In sequences C and D, if field 56a is not present, then field 86a in the same sequence C or D is not allowed, otherwise field 86a is optional (Error Code E35). Sequence C if field 56a is...
Not present Present

Sequence C then field 86a is


Not allowed Optional

Sequence D if field 56a is...


Not present Present

Sequence D then field 86a is


Not allowed Optional

MT 341, 350 In sequence C, if field 56a is not present, then field 86a in sequence C is not allowed, otherwise field 86a is optional (Error Code E35). Sequence C if field 56a is...
Not present Present

Sequence C then field 86a is


Not allowed Optional

MT 360, 361, 362, 364, 365

February 2007

RULE 235 (E35)

2-123

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

Within a specific sequence, or within an internal loop, the presence of field 86a depends on field 56a as follows: If, in a Sequence, or internal loop, field 56a is...
Present Not present

then, in the same Sequence, or same internal loop, field 86a is


Optional Not allowed

RULE 236

(E36) MT 364, 365 In Sequence A, if field 22D consists of code word 'OTHR', field 37N must be present.

RULE 237

(E37) MT 509 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)
In each occurrence of Subseq.A2 Status : In each occurrence of Subseq.A2a Reason (if present) if field :24B:: is Then in Subseq.A2 Status field :25D:: must be (*) :25D::CPRC//REJT or :25D::IPRC//REJT or :25D::RPRC//REJT

:24B::REJT

:24B::NMAT :24B::NAFI :24B::REPR

:25D::MTCH//NMAT :25D::AFFM//NAFI :25D::CPRC//REPR or :25D::IPRC//REPR or :25D::RPRC//REPR

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

2-124

RULE 236 (E36)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

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)
In each occurrence of Seq.B Status : In each occurrence of Subseq.B1 Reason (if present) if field :24B:: is :24B::CAND :24B::CANP :24B::CGEN :24B::PACK :24B::NMAT :24B::PEND :24B::PENF :24B::REPR :24B::PPRC Then in Seq.B Status, field :25D:: must be (*) :25D::IPRC//CAND :25D::IPRC//CANP :25D::IPRC//CGEN :25D::IPRC//PACK :25D::MTCH//NMAT or :25D::INMH//NMAT :25D::SETT//PEND :25D::SETT//PENF :25D::IPRC//REPR :25D::IPRC//PPRC

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

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 Subsequence C3 Status (Error code E37)
In each occurrence of Seq.C3 Status : In each occurrence of Subseq.C3a Reason (if present) if field :24B:: is :24B::CAND :24B::CANP :24B::CGEN :24B::PACK :24B::NMAT :24B::PEND :24B::PENF :24B::REPR :24B::PPRC Then in Seq.C3 Status, field :25D:: must be (*) :25D::IPRC//CAND :25D::IPRC//CANP :25D::IPRC//CGEN :25D::IPRC//PACK :25D::MTCH//NMAT or :25D::INMH//NMAT :25D::SETT//PEND :25D::SETT//PENF :25D::IPRC//REPR :25D::IPRC//PPRC

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

February 2007

RULE 237 (E37)

2-125

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

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)
In each occurrence of Subseq.A2 Status : In each occurrence of Subseq.A2a Reason (if present) if field :24B:: is :24B::CAND Then in Subseq.A2 Status field :25D:: must be (*) :25D::IPRC//CAND or :25D::CPRC//CAND :24B::CANP :25D::IPRC//CANP or :25D::CPRC//CANP :24B::CGEN :24B::DEND :25D::IPRC//CGEN :25D::CPRC//DEND or :25D::CALL//DEND :24B::NMAT :24B::PACK :25D::MTCH//NMAT or :25D::INMH//NMAT :25D::IPRC//PACK or :25D::CPRC//PACK :24B::PEND :24B::PENF :24B::REPR :24B::REJT :25D::SETT//PEND :25D::SETT//PENF :25D::IPRC//REPR :25D::IPRC // REJT or :25D::CPRC // REJT or :25D::SPRC // REJT :24B::CACK :24B::PPRC :25D::CALL//CACK :25D::IPRC//PPRC

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

MT 549 Within each occurrence of sequence B, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of the same occurrence of sequence B (Error code E37)
In each occurrence of Seq.B : If field :24B:: is present and is :24B::NMAT :24B::PEND then field :25D:: is Mandatory and must be (*) :25D::MTCH//NMAT or :25D::INMH//NMAT :25D::EPRC//PEND or

2-126

RULE 237 (E37)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

:25D::DPRC//PEND or :25D::SETT//PEND or :25D::RPRC//PEND :24B::PENF :24B::REJT :25D::SETT//PENF :25D::IPRC//REJT or :25D::CPRC//REJT or :25D::RPRC//REJT or :25D::RERC//REJT :24B::DEND :25D::CPRC//DEND or :25D::RPRC//DEND or :25D::CALL//DEND :24B::CAND :25D::IPRC//CAND or :25D::CPRC//CAND :24B::CANP :25D::IPRC//CANP or :25D::CPRC//CANP :24B::CGEN :24B::DRRE :24B::NAFI :24B::PACK :25D::IPRC//CGEN :25D::DPRC//DRRE :25D::AFFM//NAFI :25D::IPRC//PACK or :25D::CPRC//PACK or :25D::RPRC//PACK or :25D::RERC//PACK :24B::CACK :24B::REPR :25D::CALL//CACK :25D::CPRC//REPR or :25D::IPRC//REPR or :25D::RPRC//REPR :24B::PPRC field :24B:: is not present :25D::IPRC//PPRC n/aNot applicable

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

February 2007

RULE 237 (E37)

2-127

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 567 Within each occurrence of subsequence A2a, 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)
In each occurrence of Subseq.A2 Status : In each occurrence of Subseq.A2a Reason (if present) if field :24B:: is :24B::CAND Then in Subseq.A2 Status field :25D:: must be (*) :25D::IPRC//CAND or :25D::CPRC//CAND :24B::CANP :24B::DEND :25D::CPRC//CANP :25D::IPRC//DEND or :25D::CPRC//DEND :24B::PACK :25D::IPRC//PACK or :25D::CPRC//PACK :24B::PEND :25D::IPRC//PEND or :25D::EPRC//PEND :24B::REJT :25D::IPRC//REJT or :25D::CPRC//REJT

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

MT 584 Within each occurrence of subsequence B2 Status, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of the same occurrence of subsequence B2 (Error code E37)
In each occurrence of Seq.B2 Status If field :24B:: is :24B::NMAT :24B::REJT :24B::NAFI not present Then field :25D:: must be (*) :25D::MTCH//NMAT :25D::IPRC//REJT :25D::AFFM//NAFI n/aNot applicable

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply. RULE 238 (E38) MT 362 The currency code of the fields 33F and 32H in Sequence B must be the same. The currency codes of the fields 33F and 32H in Sequence D must be the same.

2-128

RULE 238 (E38)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 239

(E39) MT 362 In Sequences B and D, the presence of fields 37J and 37L depends on subfield 1 of field 23A in Sequence A as follows : Note : the presence of Sequences B and D is determined by RULE 247. Note : if the code word "COLLARBYER" or "COLLARSLLR" is used in the field 23A (Sequence A) then : - in each sequence B and D which is present, a minimum of one field 37J or 37L must be present, - if both sequences B and D are present, and if only one letter option is present in the first sequence (ex. : 37J is the only 37 <letter-option> used in seq.B), then the other letter option must be present in the second sequence (in this case : 37L must be present in seq.D)

"IF SEQUENCES B AND D ARE PRESENT:" Sequence A if Subfield 1 of field 23A =


FIXEDFIXED FLOATFLOAT FLOATFIXED FIXEDFLOAT CAPBUYER CAPSELLER FLOORBUYER FLOORSLLER COLLARBYER

in Sequence B field 37J must be ...


Not allowed Optional Not allowed Optional Mandatory Not allowed Not allowed Not allowed Present

in Sequence B field 37L must be ...


Not allowed Optional Not allowed Optional Not allowed Not allowed Mandatory Not allowed Present

and in Sequence D field 37J must be ...


Not allowed Optional Optional Not allowed Not allowed Mandatory Not allowed Not allowed

and in Sequence D field 37L must be ...


Not allowed Optional Optional Not allowed Not allowed Not allowed Not allowed Mandatory

either 37J or 37L or both is (are) Mandatory

Present not present COLLARSLLR Present

not present Present Present

optional Mandatory

Mandatory optional

either 37J or 37L or both is (are) Mandatory

Present not present

not present Present

optional Mandatory

Mandatory optional

February 2007

RULE 239 (E39)

2-129

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

"IF SEQUENCE B IS NOT PRESENT:" Sequence A if Subfield 1 of field 23A =


FIXEDFIXED FLOATFLOAT FLOATFIXED FIXEDFLOAT CAPBUYER CAPSELLER FLOORBUYER FLOORSLLER COLLARBYER

in Sequence D field 37J must be ...


Not allowed Optional Optional Not allowed Not allowed Mandatory Not allowed Not allowed

in Sequence D field 37L must be ...


Not allowed Optional Optional Not allowed Not allowed Not allowed Not allowed Mandatory

either 37J or 37L or both is (are) Mandatory

COLLARSLLR

either 37J or 37L or both is (are) Mandatory

"IF SEQUENCE D IS NOT PRESENT:" Sequence A if Subfield 1 of field 23A =


FIXEDFIXED FLOATFLOAT FLOATFIXED FIXEDFLOAT CAPBUYER CAPSELLER FLOORBUYER FLOORSLLER COLLARBYER

in Sequence B field 37J must be ...


Not allowed Optional Not allowed Optional Mandatory Not allowed Not allowed Not allowed

in Sequence B field 37L must be ...


Not allowed Optional Not allowed Optional Not allowed Not allowed Mandatory Not allowed

either 37J or 37L or both is (are) Mandatory

COLLARSLLR

either 37J or 37L or both is (are) Mandatory

2-130

RULE 239 (E39)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 240

(E40) MT 340 In sequence A, the presence of field 14C depends on the value of subfield 1 of field 77H as follows (Error Code E40) Sequence A if subfield 1 of field 77H is
ISDA Not= ISDA

Sequence A then field 14C is


Mandatory Not allowed

MT 361 The content of field 77H, in sequence A, determines the presence of : fields 14G and 37R in the subsequences C1, and F1, subsequences C2, and F2. Sequence A if subfield 1 of field 77H is ... then if Subsequence C1 is present : fields 14G and 37R are ...
Not allowed

then if Subsequence F1 is present : fields 14G and 37R are ...


Not allowed

then Subsequences C2 and F2 are ...


Not allowed

AFB

Note : the presence of Subsequences B, C, E, F is determined by RULE 243. the presence of Subsequences C1, C2, F1, F2 is determined by RULE 241.

RULE 241

(E41) MT 340 In sequence B, the presence of subsequence B1 depends on the value of subfield 1 of field 77H in sequence A as follows (Error Code E41) Sequence A if subfield 1 of field 77H is
AFB DERV FRABBA ISDA

then Subsequence B1 is
Mandatory Not allowed Mandatory Not allowed

MT 360, 361 The presence of field 37U in Sequences B and E and the presence of subsequences B1, C1, C2, C3, E1, F1, F2 and F3 depend on the content of the first subfield of field 77H and on the content of field 14F as documented in the five tables below. According to the RULES 158 and 243 the following combinations of the Sequences B, C, E

February 2007

RULE 240 (E40)

2-131

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

and F are allowed: RULE 158, MT360 : BE(5), CF(1&2), BF(3), CE(4), C(1), F(2). RULE 243, MT361 : BE(5), CF(1&2), BF(3), CE(4). Note : see RULES 145, 159, and 240 for additional subsequence(s) and field(s) conditional checks. For each valid Sequence combination a table (below) indicates the checks to apply. For the combination CF, both table 1 and table 2 must be applied. 1. if sequence C is present ... : IF SEQUENCE C IS PRESENT AND ... in Sequence A if subfield 1 of field 77H is ...
ISDA

AND in Sequence C, if field 14F is ...

then Subsequences C1, C2 and C3 are ...


Not allowed

FRF-TAM-CDC FRF-T4M-CDC FRF-T4M-CDCCOMP FRF-TAG-CDC FRF-TAG-CDCCOMP FRF-TMP-CDCAVERAG FRF-SWAP-AMR FRF-SWAP-TMP-IF FRF-SWAP-TMP-M FRF-SWAP-T4M-AMR FRF-CAP-TAM FRF-CAP-T4M FRF-FLOOR-TAM FRF-FLOOR-T4M

AFB

Not allowed

else

C1 is Mandatory C2, C3 are Optional

2-132

RULE 241 (E41)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

2.

if sequence F is present ... : IF SEQUENCE F IS PRESENT AND ...

in Sequence A if subfield 1 of field 77H is ...


ISDA

AND in Sequence F, if field 14F is ...

then Subsequences F1, F2 and F3 are ...


Not allowed

FRF-TAM-CDC FRF-T4M-CDC FRF-T4M-CDCCOMP FRF-TAG-CDC FRF-TAG-CDCCOMP FRF-TMP-CDCAVERAG FRF-SWAP-AMR FRF-SWAP-TMP-IF FRF-SWAP-TMP-M FRF-SWAP-T4M-AMR FRF-CAP-TAM FRF-CAP-T4M FRF-FLOOR-TAM FRF-FLOOR-T4M

AFB

Not allowed

else

F1 is Mandatory F2, F3 are Optional

3.

if B AND F sequences are present ... :

IF BOTH SEQUENCES B AND F ARE PRESENT AND ... in Sequence A if subfield 1 of field 77H is ...
ISDA

AND in Sequence F if field 14F is ...


FRF-TAM-CDC FRF-T4M-CDC FRF-T4M-CDCCOMP FRF-TAG-CDC FRF-TAG-CDCCOMP FRF-TMP-CDCAVERAG

then Subsequence B1 is ...


Not allowed

and in Sequence B field 37U is ...


Mandatory

and Subsequences F1, F2 and F3 are ...


Not allowed

February 2007

RULE 241 (E41)

2-133

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

AFB

FRF-SWAP-AMR FRF-SWAP-TMP-IF FRF-SWAP-TMP-M FRF-SWAP-T4M-AMR FRF-CAP-TAM FRF-CAP-T4M FRF-FLOOR-TAM FRF-FLOOR-T4M

Not allowed

Mandatory

Not allowed

else

Mandatory

Optional

F1 is Mandatory F2, F3 are Optional

4.

if C AND E sequences are present ... :

IF BOTH SEQUENCES C AND E ARE PRESENT AND ... in Sequence A if subfield 1 of field 77H is ...
ISDA

AND in Sequence C if field 14F is ...


FRF-TAM-CDC FRF-T4M-CDC FRF-T4M-CDCCOMP FRF-TAG-CDC FRF-TAG-CDCCOMP FRF-TMP-CDCAVERAG FRF-SWAP-AMR FRF-SWAP-TMP-IF FRF-SWAP-TMP-M FRF-SWAP-T4M-AMR FRF-CAP-TAM FRF-CAP-T4M FRF-FLOOR-TAM FRF-FLOOR-T4M

then Subsequence E1 is ...


Not allowed

and in Sequence E field 37U is ...


Mandatory

and Subsequences C1, C2 and C3 are ...


Not allowed

AFB

Not allowed

Mandatory

Not allowed

else

Mandatory

Optional

C1 is Mandatory C2, C3 are Optional

2-134

RULE 241 (E41)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

5.

if B AND E sequences are present ... : in Sequence B field 37U is ...


Optional

Subsequence B1 is ...
Mandatory

Subsequence E1 is ...
Mandatory

in Sequence E field 37U is ...


Optional

RULE 242

(E42) MT 360 In Sequences C and F, the presence of fields 37J and 37L depends on subfield 1 of field 23A in Sequence A as follows : Note : the presence of Sequences C and F is determined by RULE 158. Note : if the code word "COLLARBYER" or "COLLARSLLR" is used in the field 23A (Sequence A) then : - in each sequence C and F which is present, a minimum of one field 37J or 37L must be present, - if both sequences C and F are present, and if only one letter option is present in the first sequence (ex. : 37J is the only 37 <letter-option> used in seq.C), then the other letter option must be present in the second sequence (in this case : 37L must be present in seq.F)

"IF SEQUENCES C AND F ARE PRESENT:" Sequence A if Subfield 1 of field 23A =


FIXEDFIXED FLOATFLOAT FLOATFIXED FIXEDFLOAT CAPBUYER CAPSELLER FLOORBUYER FLOORSLLER COLLARBYER

in Sequence C field 37J must be ...


n/aNot applicable Optional n/aNot applicable Optional Mandatory n/aNot applicable Not allowed n/aNot applicable Present

in Sequence C field 37L must be ...


n/aNot applicable Optional n/aNot applicable Optional Not allowed n/aNot applicable Mandatory n/aNot applicable Present

and in Sequence F field 37J must be ...


n/aNot applicable Optional Optional n/aNot applicable n/aNot applicable Mandatory n/aNot applicable Not allowed

and in Sequence F field 37L must be ...


n/aNot applicable Optional Optional n/aNot applicable n/aNot applicable Not allowed n/aNot applicable Mandatory

either 37J or 37L or both is (are) Mandatory

Present not present

not present Present

optional Mandatory

Mandatory optional

February 2007

RULE 242 (E42)

2-135

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

COLLARSLLR

Present

Present

either 37J or 37L or both is (are) Mandatory

Present not present

not present Present

optional Mandatory

Mandatory optional

"IF SEQUENCE C IS NOT PRESENT:" Sequence A if Subfield 1 of field 23A =


FIXEDFIXED FLOATFLOAT FLOATFIXED FIXEDFLOAT CAPBUYER CAPSELLER FLOORBUYER FLOORSLLER COLLARBYER COLLARSLLR

in Sequence F field 37J must be ...


n/aNot applicable Optional Optional n/aNot applicable n/aNot applicable Mandatory n/aNot applicable Not allowed

in Sequence F field 37L must be ...


n/aNot applicable Optional Optional n/aNot applicable n/aNot applicable Not allowed n/aNot applicable Mandatory

n/aNot applicable per rule 158 n/aNot applicable per rule 158

"IF SEQUENCE F IS NOT PRESENT:" Sequence A if Subfield 1 of field 23A =


FIXEDFIXED FLOATFLOAT FLOATFIXED FIXEDFLOAT CAPBUYER CAPSELLER FLOORBUYER FLOORSLLER COLLARBYER COLLARSLLR

in Sequence C field 37J must be ...


n/aNot applicable Optional n/aNot applicable Optional Mandatory n/aNot applicable Not allowed n/aNot applicable

in Sequence C field 37L must be ...


n/aNot applicable Optional n/aNot applicable Optional Not allowed n/aNot applicable Mandatory n/aNot applicable

n/aNot applicable per rule 158 n/aNot applicable per rule 158

2-136

RULE 242 (E42)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 243

(E43) MT 361 Depending on the code word value in Sequence A, field 23A subfield 1, only the following combinations of the optional Sequences B, C, E and F are allowed: Sequence A if Subfield 1 of field 23A =
FIXEDFIXED FLOATFLOAT FLOATFIXED FIXEDFLOAT

then Sequence B is ...


Mandatory Not allowed Mandatory Not allowed

then Sequence C is ...

then Sequence E is ...

then Sequence F is ...

Not allowed Mandatory Not allowed Mandatory

Mandatory Not allowed Not allowed Mandatory

Not allowed Mandatory Mandatory Not allowed

Note : see RULES 240 and 241 for additional subsequence(s) and field(s) semantic checks.

RULE 244

(E44) MT103_not_STP If field 56a is not present, no field 23E may contain TELI or PHOI (Error code E44). If field 56a is then in each occurrence of field 23E, subfield 1 must not contain
Not present TELI or PHOI

ref. list of valid code words, field 23E, Part III, Chap. 4

RULE 245

(E45) MT103_not_STP If field 57a is not present, no field 23E may contain TELE or PHON (Error code E45). If field 57a is
Not present

then in each occurrence of field 23E, subfield 1 must not contain


TELE or PHON

ref. list of valid code words, field 23E, Part III, Chap. 4

RULE 246

(E46) MT103_not_STP, MT103_STP If field 23E is repeated, the same code word must not be present more than once (Error code E46) see also rule 167 and 198 for other restrictions note: rule 167 takes precedence over rule 246, and rule 246 takes precedence over rule 198 MT 101, 207 In each occurrence of Sequence B: if field 23E is repeated, the same code word must not be present more than once, with the exception of OTHR. OTHR may be repeated. (Error code E46)

February 2007

RULE 243 (E43)

2-137

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 247

(E47) MT350 If Sequence D is present, at least one of the Subsequences D1 or D2 must be present (Error code: E47). In Sequence D, if Subsequence D1 is
Present Not present

then Subsequence D2 is
Optional Mandatory

MT362 At least one of the sequences B or D must be present (Error code: E47). If sequence B is
Present Not present

then sequence D is
Optional Mandatory

RULE 248

(E48) MT362 At least one of the sequences C or E must be present (Error code: E48). If sequence C is
Present Not present

then sequence E is
Optional Mandatory

note: ref. rule 249.

MT 504 In each occurrence of subsequence C1a, the presence of subsequence C1a1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E48): In each occurrence of subsequence C1a if field :22F::STCO//NSSP is (*)
Not present Present

In the same occurrence of subsequence C1a then subsequence C1a1 is


Optional Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

2-138

RULE 247 (E47)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 505, 507 In each occurrence of subsequence B1a, the presence of subsequence B1a1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E48): In each occurrence of subsequence B1a if field : 22F::STCO//NSSP is (*)
Not present Present

In the same occurrence of subsequence B1a then subsequence B1a1 is


Optional Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

RULE 249

(E49) MT362 When the settlement method, i.e. the second subfield of field 23A, is NET, either sequence C or E must be present, but not both (Error code: E49). note: when the settlement method is NET, this rule takes precedence over rule 248. MT 504 In each occurrence of subsequence C2a, the presence of subsequence C2a1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E49): In each occurrence of subsequence C2a if field :22F::STCO//NSSP is (*)
Not present Present

In the same occurrence of subsequence C2a then subsequence C2a1 is


Optional Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply. MT 505 In each occurrence of subsequence B2a, the presence of subsequence B2a1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E49): In each occurrence of subsequence B2a if field : 22F::STCO//NSSP is (*)
Not present Present

In the same occurrence of subsequence B2an then subsequence B2a1 is


Optional Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

February 2007

RULE 249 (E49)

2-139

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 507 In each occurrence of subsequence B1b, the presence of the subsequence B1b1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E49): In each occurrence of subsequence B1b if field : :22F::STCO//NSSP is (*)
Not present Present

In the same occurrence of subsequence B1b then subsequence B1b1 is ...


Optional Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

RULE 250

(E50) MT362 When the settlement method, i.e. the second subfield of field 23A, is NET, the payments block (i.e. fields 30F---57a) within sequence C or E must occur only once (Error code: E50). i.e. field 18A in seq. C or E must be = 1, refer conditional rule 196 note: ref. rule 248 (seq. C or E must be present) MT 504 In sequence D, the presence of the subsequence D1 depends on presence of field :22F::STCO//NSSP as follows (Error code E50): Sequence D if field :22F::STCO//NSSP is (*)
Not present Present Optional Mandatory

then subsequence D1 is

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply. MT 505 In sequence C, the presence of the subsequence C1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E50): Sequence C if field : 22F::STCO//NSSP is (*)
Not present Present Optional Mandatory

then subsequence C1 is

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

2-140

RULE 250 (E50)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 251

(E51) MT362 When the settlement method, i.e. the second subfield of field 23A, is GROSS, the payments block (i.e. fields 30F---57a) within sequence C and E cannot occur more than three times (Error code: E51). i.e. field 18A in seq. C or E must be < 4, refer conditional rule 196 note: ref. rule 248 (seq. C or E must be present) MT 504 In sequence E, the presence of the subsequence E1 depends on presence of field :22F::STCO//NSSP as follows (Error code E51): Sequence E if field :22F::STCO//NSSP is (*)
Not present Present Optional Mandatory

then subsequence E1 is

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply. MT 505 In sequence D, the presence of the subsequence D1 depends on presence of field :22F::STCO//NSSP as follows (Error code E51): Sequence D if field : 22F::STCO//NSSP is (*)
Not present Present Optional Mandatory

then subsequence D1 is

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply. RULE 252 (E52) MT502, 514, 518, 528, 529 In subsequence C1, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code: E52). Subsequence C1 if field :95a::PSET is
Present Not present

Subsequence C1 then field :97a::SAFE is


Not allowed within the same occurrence Optional

February 2007

RULE 251 (E51)

2-141

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT513, 515 In subsequence D1, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code: E52). Subsequence D1 if field :95a::PSET is
Present Not present

Subsequence D1 then field :97a::SAFE is


Not allowed within the same occurrence Optional

MT 536 In subsequence B1a2a, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52). Subsequence B1a2a if field :95a::PSET is
Present Not present

Subsequence B1a2a then field :97a::SAFE is


Not allowed within the same occurrence Optional

MT 537 In subsequence B2b1, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52). Subsequence B2b1 if field :95a::PSET is
Present Not present

Subsequence B2b1 then field :97a::SAFE is


Not allowed within the same occurence Optional

In subsequence C2a, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52). Subsequence C2a if field :95a::PSET is
Present Not present

Subsequence C2a then field :97a::SAFE is


Not allowed within the same occurence Optional

2-142

RULE 252 (E52)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 540, 541, 542, 543, 544, 545, 546, 547, 578 In subsequence E1, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52). Subsequence E1 if field :95a::PSET is
Present Not present

Subsequence E1 then field :97a::SAFE is


Not allowed within the same occurence Optional

MT 548 In subsequence B1, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52). Subsequence B1 if field :95a::PSET is
Present Not present

Subsequence B1 then field :97a::SAFE is


Not allowed within the same occurence Optional

MT 575 In subsequence B1a4, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52). Subsequence B1a4 if field :95a::PSET is
Present Not present

Subsequence B1a4 then field :97a::SAFE is


Not allowed within the same occurence Optional

MT 586 In subsequence B5a, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52). Subsequence B5a if field :95a::PSET is
Present Not present

Subsequence B5a then field :97a::SAFE is


Not allowed within the same occurence Optional

RULE 253

(E53) MT502 In sequence B, if field:22H::BUSE//SWIT is present, then subsequence A1 Linkages is mandatory, and field :20C::PREV must be present in minimum one occurrence of subsequence A1 Linkages (Error code: E53).

February 2007

RULE 253 (E53)

2-143

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

Sequence B, if field :22H::BUSE//SWIT is


Present

then subsequence A1 is
Mandatory, i.e. minimum one occurrence of A1 Optional

and field :20C::PREV is ...


Mandatory, i.e. must be present in minimum one occurrence of A1 Optional

Not present

MT515 In sequence C, if field:22H::BUSE//SWIT is present, then field :20C::PREV must be present in minimum one occurrence of subsequence A1 Linkages (Error code: E53). Sequence C, if field :22H::BUSE// SWIT is
Present Not present

then field :20C::PREV is ...


Mandatory, i.e. must be present in minimum one occurrence of A1 Optional

MT 575 In subsequence C2a, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E53). Subsequence C2a if field :95a::PSET is
Present Not present

Subsequence C2a then field :97a::SAFE is


Not allowed within the same occurence Optional

RULE 254

(E54) AvailableMT 101 In each occurrence of Sequence B, the presence of fields 33B and 21F is dependent on the presence and value of fields 32B and 23E as follows (Error code(s): E54)
In each occurrence of Sequence B If amount in field 32B is Equal zero and field 23E is Present and code = EQUI Present and code Not = EQUI Not present Not = zero Not applicable then field 33B is ... Mandatory Not Allowed Not Allowed Optional and field 21F is ... Optional Not Allowed Not Allowed Optional

2-144

RULE 254 (E54)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 255

(E55) Available

RULE 256

(E56) 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. Sequence A if field :17B::ACTI is
Y

then sequence B is

and sequence A if field :17B::CONS is


Y

then in every occurrence of Sequence B field :97a::SAFE and field :17B::ACTI are
Mandatory

Mandatory i.e. minimum one occurrence

N N Not Allowed NANot applicable

Not allowed NANot applicable

RULE 257

(E57) MTs 101, 210, 910 The BIC must be a BEI, i.e. must be of subtype BEID or TRCO or TESP or MCCO or SMDP or CORP (Error code E57). note: this validation rule applies to all types of BICs referenced in a FIN message: SWIFTBIC, NON-SWIFTBIC, Master, Synonym, LIVE destination, T&T destination.
IF <BIC_Subtype> NOT= ("BEID" | "TRCO" | TESP | MCCO | SMDP | CORP) THEN <error:E57> ENDIF

MT
101

Seq.
A A B B

Field
50C 50G 50C 50G 50C 50A

210 910

note: Rule 257 is the opposite of Rule 5

February 2007

RULE 255 (E55)

2-145

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 258

(E58) MT 502 In Sequence B, either an ordered quantity (field 36B::ORDR) or an ordered amount (field 19A::ORDR) must be present, but not both. Sequence B if field :36B::ORDR is ...
Present Not present

Sequence B then field :19A::ORDR is ...


Not allowed Mandatory

MT 509 In Sequence B, either a quantity (field 36B::) or an amount (field 19A::) must be present, but not both (Error code(s): E58. Sequence B if field :36B:: is ...
Present Not present

Sequence B then field :19A:: is ...


Not allowed Mandatory

MT 535 In each occurrence of Subsequence B1, if field :93C::PEND is present in one of the occurrences of subsequence B1b, then fields :93C::PDUM and :93C::PDMT are not allowed in the other occurrences of subsequence B1b (Error code E58)
In each occurrence of Seq.B1 : In Subseq. B1b if field :93C::PEND is Present Not present Then in all other occurrence(s) of Subseq. B1b field :93C::PDUM and :93C::PDMT are Not allowed Optional

MT 576 In each occurrence of subsequence B2, either an ordered quantity (field :36B::ORDR) or an ordered amount (field :19A::ORDR) must be present, but not both; in addition, if field 36B is present then field 19A must not be present, and vice versa if field 19A is present then field 36B must not be present (Error code E58) In each occurrence of subsequence B2 if field :36B:: is ...
Present Not present

In the same occurrence of Subsequence B2 then field :36B::ORDR is ...


Mandatory n/aNot applicable

In the same occurrence of Subsequence B2 and field :19A: is ...


Not allowed :19A::ORDR is Mandatory

2-146

RULE 258 (E58)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 259

(E59) MT 517 If the Function of the Message (field 23G) is not CANC then field 13A, Number Identification, must be present and contain '515' in minimum one occurrence of the subsequence A1 - Linkages. Sequence A if field :23G: is ...
CANC not CANC

Then in minimum one occurrence of subsequence A1, field :13A: is ...


Optional Mandatory and must contain '515' (note: it does not need to be present in all occurrences of A1)

MT 535 In each occurrence of Subsequence B1, if field :93C::PENR is present in one of the occurrences of subsequence B1b, then fields :93C::PRUM and :93C::PRMT are not allowed in the other occurrences of subsequence B1b (Error code E59).
In each occurrence of Seq.B1 : In Subseq. B1b if field :93C::PENR is Present Not present Then in all other occurrence(s) of Subseq. B1b fields :93C::PRUM and :93C::PRMT are Not allowed Optional

RULE 260

(E60) MT 506 In each occurrence of subsequence D1, the presence of field :70C::RATS depends on the presence of field :94B::RATS as follows (Error Code E60): In each occurrence of subsequence D1 if field :94B::RATS is
Present Not present

In the same occurrence of subsequence D1 then field :70C::RATS is


Mandatory Not allowed

February 2007

RULE 259 (E59)

2-147

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 569 In each occurrence of subsequence C1a1, the presence of field :70C::RATS depends on the presence of field :94B::RATS as follows (Error Code E60): In each occurrence of subsequence C1a1 if field :94B::RATS is
Present Not present

In the same occurrence of subsequence C1a1 then field :70C::RATS is


Mandatory Not allowed

RULE 261

(E61) MT 514, 528, 529 When the type of price (field :22F::PRIC) is present, the deal price (field :90a::DEAL) must also be present.

Sequence B if field :22F::PRIC is ...


Present Not Present

Sequence B then field :90a::DEAL is ...


Mandatory Optional

RULE 262

(E62) MT 502, 514, 518, 528, 529 In each subsequence C3 (16R:AMT), if an Exchange Rate (field :92B::EXCH) is present, the corresponding Resulting Amount (field :19A::RESU) must be present. If the Exchange Rate is not present then the Resulting Amount is not allowed. Subsequence C3 if field :92B::EXCH is ...
Present Not Present

Subsequence C3 then field :19A::RESU is ...


Mandatory Not Allowed

MT 513, 515 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. Subsequence D3 if field:92B::EXCH is ...
Present Not Present

Subsequence D3 then field:19A::RESU is ...


Mandatory Not Allowed

2-148

RULE 261 (E61)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 540, 541, 542, 543, 544, 545, 546, 547, 578 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 Subsequence E3 (Error code E62). Subsequence E3 if field:92B::EXCH is ...
Present Not Present

Subsequence E3 then field:19A::RESU is ...


Mandatory Not Allowed

MT 564 If an Exchange Rate (field:92B::EXCH) is present, the corresponding Resulting Amount (field:19B::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 Subsequence E2 (Error code E62). Subsequence E2 if field:92B::EXCH is ...
Present Not Present

Subsequence E2 then field:19B::RESU is ...


Mandatory Not Allowed

MT 566 If an exchange rate is present (Field :92B::EXCH), the corresponding Resulting Amount (Field :19B::RESU) must be present in the same (sub)sequence. If the Exchange Rate is not present, the Resulting Amount is not allowed. This check apply to subsequence D2. Subsequence D2 if field :92B::EXCH is ...
Present Not Present

Subsequence D2 then field :19B::RESU is ...


Mandatory Not Allowed

MT 584 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. Subsequence B2b2 & C1c2 if field :92B::EXCH is ...
Present Not Present

Subsequence B2b2 & C1c2 then field :19A::RESU is ...


Mandatory Not Allowed

February 2007

RULE 262 (E62)

2-149

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 586 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 within each occurrence of subsequence B5c (Error Code E62). Subsequence B5c if field :92B::EXCH is ...
Present Not Present

Subsequence B5c then field :19A::RESU is ...


Mandatory Not Allowed

MT 588 If an exchange rate is present (Field :92B::EXCH), the corresponding Resulting Amount (Field :19A::RESU) must be present in the same (sub)sequence. If the Exchange Rate is not present, the Resulting Amount is not allowed (Error Code E62). These checks apply to (sub)sequences C2 and E. Subsequence C2 if field :92B::EXCH is ...
Present Not Present

Subsequence C2 then field :19A::RESU is ...


Mandatory Not Allowed

Sequence E if field :92B::EXCH is ...


Present Not Present

Sequence E then field :19A::RESU is ...


Mandatory Not Allowed

RULE 263

(E63) MT 587, 588 The following Date/Time fields cannot appear more than once in Sequence B (error code E63). In other words, if in Seq. B, field 98a, the order # 1 is repeated, then the qualifiers used in the two occurrences must be different. Sequence B :98a::ISSU :98a::RELD

RULE 264

(E64) MT 502 If the Function of the Message (field :23G:) is CANC and the Ordered Quantity (field :36B::ORDR) is present, then the Quantity to Cancel (field :36B::CANC) must be present in the order details sequence. If the Function of the Message (field :23G:) is CANC and the Ordered Amount (field:19A::ORDR) is present, then the Amount to Cancel (field :19A::CANC) must be

2-150

RULE 263 (E63)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

present in the order details sequence. If the Function of the Message is not CANC, the Quantity to Cancel and the Amount to Cancel are not allowed (Error code(s): E64). Sequence A if field :23G is ...
NEWM REPL CANC

Sequence B and field :36B::ORDR is ...


Present Present Present

Sequence B then field :36B::CANC is ...


Not Allowed Not Allowed Mandatory

Sequence A if field :23G is ...


NEWM REPL CANC

Sequence B and field :19A::ORDR is ...


Present Present Present

Sequence B then field :19A::CANC is ...


Not Allowed Not Allowed Mandatory

Note: in Seq. B fields 36B::ORDR and 19A::ORDR are mutually exclusive, ref. RULE 258

MT 527 In sequence A, if field :20C::CLCI is not present, then field :20C::TRCI is mandatory, otherwise field :20C::TRCI is optional (Error Code E64). Sequence A if field :20C::CLCI is
Not present Present

Sequence A then field :20C::TRCI is


Mandatory Optional

RULE 265

(E65) MT 527 If Sequence A field :22a::COLA// is other than SLEB and sequence B is present, then field :19A::TRAA must be present. (Error code E65).
If Sequence B is Present And Sequence A field :22a::COLA is SLEB not SLEB (*) Not present n/aNot applicable then sequence B field : 19A::TRAA is Optional Mandatory n/aNot applicable

(*) if DSS is present then conditional rule does not apply

MT 558

February 2007

RULE 265 (E65)

2-151

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

If Sequence A field :22a::COLA// is other than SLEB, then in sequence B field :19A::TRAA must be present. (Error code E65).
Sequence A if field :22a::COLA is SLEB not SLEB (*) then sequence B field :19A::TRAA is Optional Mandatory

(*) if DSS is present then conditional rule does not apply

MT 569 If Sequence A field :22a::COLA// is other than SLEB and sequence C is present then, in every occurrence of subsequence C1, field :19A::TRAA must be present. (Error code(s): E65).
If Sequence C is Present And Sequence A field :22a::COLA is SLEB not SLEB (*) Not present Not applicableNA then in every Subsequence C1 field : 19A::TRAA is Optional Mandatory Not applicableNA

(*) if the Data Source Scheme is present in field :22F::COLA// then the conditional rule does not apply.

MT 584 The Financial Instrument sequence (B) and Status sequence (C) are mutually exclusive and must not both be present in the same message. Sequence B is ...
Present Not Present

Sequence C is ...
Not allowed Optional

RULE 266

(E66) MT 569 In each occurrence of subsequence C1a, the presence of subsequence C1a1 depends on the value of field :17B::SECU//<Flag> as follows (Error Code E66): In each occurrence of subsequence C1a if field :17B:: SECU//1!a is
Y N

In the same occurrence of subsequence C1a then subsequence C1a1 is


Mandatory Not allowed

MT 535, 536, 538, 586

2-152

RULE 266 (E66)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

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). Sequence A If field :17B::ACTI is ... N Y MT 537 In sequence A General Information, if the Activity Flag (field :17B::ACTI) indicates no information to be reported, ie, N, then sequence B Status and Sequence C Transactions must not be present. (Error code E66). If the Activity Flag (field :17B::ACTI) indicates that there is information to be reported, ie, 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 indicates that there is information to be reported, ie, 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). Sequence A If field :17B::ACTI is ... N N Y Y MT 575 If the activity flag (field :17B::ACTI) in the General Information sequence A indicates no information to be reported (i.e. N), then the Cash Account Activity sequence B and the Free Asset Activity sequence C must not be present. Otherwise the Cash Account Activity sequence B and the Free Asset Activity sequence C are optional (Error Code E66). Sequence A if field :17B::ACTI is ...
N Y

Sequence B is ... Not allowed Mandatory

and Sequence A field :22H::STST is STAT TRAN STAT TRAN

Then Seq. B is ... Not allowed Not allowed Mandatory Not allowed

and Seq. C is ... Not allowed Not allowed Not allowed Mandatory

Sequence B is...
Not Allowed Optional

Sequence C is...
Not Allowed Optional

February 2007

RULE 266 (E66)

2-153

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 576 If the Activity Flag (field :17B::ACTI) in the General Information sequence (A) indicates no pending transactions (i.e. N), then the Financial Instrument (B) sequence must not be present. Sequence A If field :17B::ACTI is ... N Y Sequence B is ... Not allowed Mandatory

RULE 267

(E67) MT 576 The Safekeeping Account (field :97a::SAFE) must be identified in sequence A General Information, or in all occurrences of subsequence B2c Trading Parties, but not in both. Sequence A if field :97a::SAFE is ...
Present Not Present

then Subsequence B2c is ...


Optional Mandatory (i.e. minimum one occurrence of subsequence B2c in this message) (*)

and in all occurrences of Subsequence B2c field :97a::SAFE is ...


Not Allowed Mandatory

* per the message format, the upper sequences : <B, B2> are Mandatory too. MT 584 The Safekeeping Account (field :97a::SAFE) must be identified in the General Information sequence (A), or in all occurrences of the Confirmation Parties subsequence in the Financial Instrument sequence (B) or in all occurrences of the Confirmation Parties subsequence in Status sequence (C). Considering that : Seq. A is mandatory, Seq. B and Seq. C are optional and mutually exclusive (ref. semantic 265), since Field 97a must be present in one and only one sequence, the following validation must be implemented : Sequence A if field:97a::SAFE is ...
Present

then Subsequence B2b1 or C1c1 is ...


if Seq. B is present then B2b1 is optional if Seq. C is present then C1c1 is optional Seq. B and C not present

then in Subsequence B2b1 or C1c1 field:97a::SAFE is ...


Not Allowed in any B2b1 Not Allowed in any C1c1 N.A. Mandatory in all occurrences of B2b1

Not Present

IF Seq. B present THEN IF Seq. (B2 | B2b | B2b1) not_present (*) THEN error E67

2-154

RULE 267 (E67)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

IF Seq. C present THEN IF Seq. (C1 | C1c | C1c1) not_present (*) THEN error E67 if Seq. B and C are not present then error "E67"

Mandatory in all occurrences of C1c1

Note: Seq. B and Seq. C are mutually exclusive, ref. RULE 265 (*) per the message format, the upper sequences : either <B2, B2b> or <C1, C1c>, are Mandatory too. RULE 268 (E68) MT 503, 504, 505, 506, 507, 527, 558 In sequence A, if field :20C::SCTR is not present, then field :20C::RCTR is mandatory, otherwise field :20C::RCTR is optional (Error Code E68). Sequence A if field :20C::SCTR is
Not Present Present

Sequence A then field :20C::RCTR is


Mandatory Optional

MT 584 The linkage sequence (subsequence B2a) in the financial instrument sequence (B) must be present when the Master Reference (field:20C::MAST) is not present in the status subsequence (B2). Subsequence B2 if field:20C::MAST is...
Not Present Present

Subsequence B2a is ...


Mandatory, minimum one occurrence Optional

RULE 269

(E69) MT 535, 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)

February 2007

RULE 268 (E68)

2-155

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

This check only applies when sequence B Sub-safekeeping Account is present per rule 266, i.e. in sequence A, field :17B::ACTI=Y.

Seq.A if field :17B::ACTI is

then Seq.B is ...

IF Seq.A field 17B::CONS is

Then in each occurrence of Seq.B field 97a::SAFE and field 17B::ACTI are n/aNot applicable Mandatory

in every occurrence of Seq.B, if field :17B::ACTI is

in the same occurrence of Seq.B, then Subseq.B1 is ...

N Y

Not allowed Mandatory

n/aNot applicable Y

n/aNot applicable Y

n/aNot applicable Mandatory i.e. minimum one occurrence Not allowed


Mandatory i.e. minimum one occurrence

N
N Not allowed (impact: rule 269)

Not present per Rule 256

--

Rule

266--------

--

Rule

256--------

--- Rule

269---

Note: the Rules 266 and 256 take precedence over Rule 269 MT 584 If the Activity Flag (field :17B::ACTI) in the General Information sequence (A) indicates no pending transactions (i.e. N), then the Financial Instrument (B) sequence and the Status sequence (C) must not be present. Sequence A if field :17B::ACTI is ...
N Y

Sequence B and C are ...


Not Allowed see RULE 265

RULE 270

(E70) MT 528, 529 If field :22F::DBNM is present in sequence C and the instruction is a delivery (i.e. :22H::REDE//DELI in sequence B), then it is mandatory to specify a buyer, i.e. one occurrence of subsequence C1 Settlement Parties must contain party field :95a::BUYR (Error Code E70). If field :22F::DBNM is present in sequence C and the instruction is a receipt (i.e. :22H::REDE//RECE in sequence B), then it is mandatory to specify a seller, i.e. one occurrence of subsequence C1 Settlement Parties must contain party field :95a::SELL

2-156

RULE 270 (E70)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

(Error Code E70). In Sequence C if field :22F::DBNM is ...


Present

and Sequence B field :22H::REDE is ...


DELI RECE

then in one occurrence of subsequence C1 ...


field :95a::BUYR is Mandatory field :95a::SELL is Mandatory NA Not applicable refer rule 280

Not present

NANot applicable

Note: refer rule 284 MT 540, 541 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 Sequence E if field :22F::DBNM is ...
Present Not present

then in one occurrence of subsequence E1 ...


field :95a::SELL is Mandatory n/aNot applicable

Note: refer rule 284

MT 542, 543 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). Sequence E if field :22F::DBNM is ...
Present Not present

then in one occurrence of subsequence E1 ...


field :95a::BUYR is Mandatory Not applicablen/a

Note: refer rule 284

February 2007

RULE 270 (E70)

2-157

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 271

(E71) MT 503, 504, 505, 506, 507 In each occurrence of subsequence A1, if field :22F::AGRE is not present, then field :70C::AGRE is mandatory, otherwise field :70C::AGRE is optional (Error Code E71). In each occurrence of subsequence A1 if field :22F::AGRE is
Not present Present

In the same occurrence of subsequence A1 then field :70C::AGRE is


Mandatory Optional

RULE 272

(E72)

MT 503, 504 In each occurrence of subsequence C3, if field :22H::BCOL//LCOL is present, then field :98B::EXPI//OPEN (i.e. Qualifier = EXPI, Data Source Scheme not present and Date Code = OPEN) is not allowed, otherwise field :98B::EXPI//OPEN is optional (Error Code E72): In each occurrence of subsequence C3 if field :22H::BCOL//LCOL is
Present Not present

In the same occurrence of subsequence C3 then field :98B::EXPI//OPEN is


Not allowed Optional

MT 505 In each occurrence of subsequence B3, if field :22H::BCOL//LCOL is present, then field :98B::EXPI//OPEN (i.e. Qualifier = EXPI, Data Source Scheme not present and Date Code = OPEN) is not allowed, otherwise field :98B::EXPI//OPEN is optional (Error Code E72): In each occurrence of subsequence B3 if field :22H::BCOL//LCOL is
Present Not present

In the same occurrence of subsequence B3 then field :98B::EXPI//OPEN is


Not allowed Optional

2-158

RULE 271 (E71)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 506 In each occurrence of subsequence D3, if field :22H::BCOL//LCOL is present, then field :98B::EXPI//OPEN (i.e. Qualifier = EXPI, Data Source Scheme not present and Date Code = OPEN) is not allowed, otherwise field :98B::EXPI//OPEN is optional (Error Code E72): In each occurrence of subsequence D3 if field :22H::BCOL//LCOL is
Present Not present

In the same occurrence of subsequence D3 then field :98B::EXPI//OPEN is


Not allowed Optional

MT 569 In each occurrence of subsequence C1a, the presence of field :98a::SETT depends on the value of field :17B::COLL as follows (Error Code E72): In each occurrence of subsequence C1a if field:17B::COLL is
Y N

In the same occurrence of subsequence C1a then field :98a::SETT is


Mandatory Not allowed

RULE 273

(E73) MT 513, 515 If the Settlement Amount (:19A::SETT) is present in Sequence C, it must not be present in any occurrence of Subsequence D3. Sequence C if field :19A::SETT is ...
Present Not present

Then, for each occurrence of Subsequence D3 field :19A::SETT is ...


Not allowed Optional

MT 514, 518 If the Settlement Amount (:19A::SETT) is present in Sequence B, it must not be present in any occurrence of Subsequence C3. Sequence B if field :19A::SETT is ...
Present Not present

Then, for each occurrence of Subsequence C3 field :19A::SETT is ...


Not allowed Optional

February 2007

RULE 273 (E73)

2-159

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 584 Within each occurrence of Subsequence B2b, if the Settlement Amount (:19A::SETT) is present in Subsequence B2b, it must not be present in any occurrence of Subsequence B2b2. Within each occurrence of Subsequence B2b: if field :19A::SETT is ...
Present Not present

Then, for each occurrence of Subsequence B2b2 in the same Subsequence B2b: field :19A::SETT is ...
Not allowed Optional

Within each occurrence of Subsequence C1c, if the Settlement Amount (:19A::SETT) is present in Subsequence C1c, it must not be present in any occurrence of Subsequence C1c2. Within each occurrence of Subsequence C1c: if field :19A::SETT is ...
Present Not present

Then, for each occurrence of Subsequence C1c2 in the same Subsequence C1c: field :19A::SETT is ...
Not allowed Optional

note : sequences B and C are mutually exclusive, ref. RULE 265. RULE 274 (E74) MT 502 In sequence B, the Type of Order Indicator (field :22F::TOOR) and/or the Price Limit (field :90a::LIMI) must be present. Sequence B if field :22F::TOOR is ...
Present Not Present Optional Mandatory (i.e. minimum one occurrence of Subsequence B1)

then Subsequence B1 is...

Subsequence B1 and field :90a::LIMI is ...


Optional Mandatory in at least one occurrence of subsequence B1

RULE 275

(E75) MT 528, 529 If the Settlement Amount (:19A::SETT) is specified in both Sequences B and C3, it must contain the same value, i.e. ((Sign)(Currency)(Amount)) must be identical.

RULE 276

(E76) MTs <see matrix below> 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).

2-160

RULE 274 (E74)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

IF <MT> = <see MT list below> THEN IF <Fieldxxx with Value Date> is present THEN IF "Fieldxxx.value_date" > "31 Dec. 2001" THEN IF <Fieldyyy.CUR> = <ATS | BEF | DEM | ESP | FIM | FRF | GRD | IEP | ITL | LUF | NLG | PTE | XEU> THEN <error:"E76"> ENDIF ENDIF ENDIF ENDIF

For the same message types, if the value date (if field with Value Date is present in the message) is after 31 December 2006, then the currency SIT (Slovenia) must not be used as the currency of settlement (Error Code: E76).
IF <MT> = <see MT list below> THEN IF <Fieldxxx with Value Date> is present THEN IF "Fieldxxx.value_date" > "31 Dec. 2006" THEN IF <Fieldyyy.CUR> = <SIT> THEN <error:"E76"> ENDIF ENDIF ENDIF ENDIF

MT
101 102 generic 102 tag :119:STP 103 generic 103 tag :119:REMIT 103 tag :119:STP 104 generic

Fieldxxx_Value-date
30 in Seq A 32A in Seq C 32A

Fieldyyy_CUR
32B in Seq B (each occurrence) 32A in Seq C 32A

30 in Seq A

32B in Seq B (each occurrence) 32B in Seq C (see RULE 2, 96)

104 tag :119:RFDD 107 200 201 202 203 204 205 207

30 in Seq A 30 in Seq A 32A 30 32A 30 30 in Seq A 32A 30 in Seq A

32B in Seq B (each occurrence) 32B in Seq C 32A 32B (each occurrence) 32A 32B (each occurrence) 32B in Seq B (each occurrence) 32A 32B in Seq B (each occurrence)

February 2007

RULE 276 (E76)

2-161

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

210 400 405

30 33A 32C in Subseq. B3 (each occurrence) 32D in Seq C

32B (each occurrence) 33A 32C in Subseq B3 (each occurrence) 32D in Seq C 32A (each occurrence) 32A 33C 33D 33D (each occurrence) Seq C Order Details Field 19A Qualifier SETT Seq D3 Amounts Field 19A Qualifier SETT (each occurrence)

450 455

32A (each occurrence) 32A 33C 33D

456 513

33D (each occurrence) [Seq C Order Details Field 98a Qualifier SETT] (*)

514

[Seq B Confirmation Details Field 98a Qualifier SETT] (*)

Seq B Confirmation Details Field 19A Qualifier SETT Seq C3 Amounts Field 19A Qualifier SETT (each occurrence)

515

Seq C Confirmation Details Field 98a Qualifier SETT (*)

Seq C Confirmation Details Field 19A Qualifier SETT Seq D3 Amounts Field 19A Qualifier SETT (each occurrence)

518

Seq B Confirmation Details Field 98a Qualifier SETT (*)

Seq B Confirmation Details Field 19A Qualifier SETT Seq C3 Amounts Field 19A Qualifier SETT (each occurrence)

528

Seq B Confirmation Details Field 98a Qualifier SETT (*)

Seq B Confirmation Details Field 19A Qualifier SETT Seq C3 Amounts Field 19A Qualifier SETT (each occurrence)

529

Seq B Confirmation Details Field 98a

Seq B Confirmation Details Field 19A

2-162

RULE 276 (E76)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Qualifier SETT (*)

Qualifier SETT Seq C3 Amounts Field 19A Qualifier SETT (each occurrence)

541

Seq B-Trade Details Field 98a Qualifier SETT (*) Seq B Trade Details Field 98a Qualifier SETT (*) [Seq B Trade Details Field 98a Qualifier SETT] (*) [Seq B Trade Details Field 98a Qualifier SETT] (*) Seq E2 Cash Movements Field 98a Qualifier PAYD (*) Seq E2 Cash Movements Field 98a Qualifier VALU (*)

Seq E3 Amounts Field 19A Qualifier SETT (each occurrence) Seq E3 Amounts Field 19A Qualifier SETT (each occurrence) Seq E3 Amounts Field 19A Qualifier ESTT Seq E3 Amounts Field 19A Qualifier ESTT Seq E2 Cash Movements Field 19B Qualifier ENTL (each occurrence) Seq E2 Cash Movements Field 19B Qualifier ENTL (each occurrence) Seq D2 Cash Movements Field 19B Qualifier PSTA (each occurrence) Seq B2b Trade Details Field 19A Qualifier SETT (each occurrence) Seq B2b2 Amounts Field 19A Qualifier SETT (each occurrence)

543

545

547

564

566

Seq D2 Cash Movements Field 98a Qualifier POST [Seq B2b Trade Details Field 98a Qualifier SETT] (*)

584

[Seq C1c Trade Details Field 98a Qualifier SETT] (*)

Seq C1c Trade Details Field 19A Qualifier SETT (each occurrence) Seq C1c2 Amounts Field 19A Qualifier SETT (each occurrence)

730 734

32D 33A

32D 33A

February 2007

RULE 276 (E76)

2-163

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

742 752 754 756 768 769 800 802 813 900 910

34A 33A 34A 33A 32D 32D 32A in Seq B 32A 32A in Seq C 32A 32A

34A 33A 34A 33A 32D 32D 32A in Seq B 32A 32A in Seq C 32A 32A

'generic' *

= no tag :119: present in the User Header

If the Value Date component is not present, then the validation is not performed ex.: MT 564 seq. E2, if :98B:: is used, the validation is not performed

RULE 277

(E77) MT 564 In each occurrence of sequence D, field :92a::, the qualifier TAXC may only be repeated with letter option/s E or/and J; and the qualifiers GRSS and NETT may only be repeated with letter option J (Error code(s): E77). In each occurrence of sequence E, field :92a::, the qualifier TAXC may only be repeated with letter option/s E or/and J; and the qualifiers GRSS and NETT may only be repeated with letter option J (Error code(s): E77). In each occurrence of subsequence E1, field :92a::, the qualifier GRSS may only be repeated with letter option J (Error code(s): E77). In each occurrence of sequence D, E and E1, if field :92a::TAXC, GRSS or NETT is used with letter option A, F or K, then the same qualifier(s) (TAXC, GRSS, NETT) must not be repeated. Therefore, field :92a::TAXC, GRSS and NETT may only be repeated with letter option/s E or/and J (Error code(s): E77). MT 566 In each occurrence of sequence C, field :92a::, the qualifier TAXC may only be repeated with letter option/s E or/and J; and the qualifiers GRSS and NETT may only be repeated with letter option J (Error code(s): E77). In each occurrence of sequence D, field :92a::, the qualifier TAXC may only be repeated with letter option/s E or/and J; and the qualifiers GRSS and NETT may only be repeated with letter option J (Error code(s): E77). In each occurrence of subsequence D1, field :92a::, the qualifier GRSS may only be repeated with letter option J (Error code(s): E77). In each occurrence of sequence C, D and D1, if field :92a::TAXC, GRSS or NETT is used with letter option A or F, then the same qualifier(s) (TAXC, GRSS, NETT) must not be

2-164

RULE 277 (E77)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

repeated. Therefore, field :92a::TAXC, GRSS and NETT may only be repeated with letter option/s E or/and J (Error code(s): E77).

RULE 278

(E78) MT 564 In each occurrence of sequence D: if field :92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different, if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different, if field:92J:: NETT is present more than once, then for each occurrence of field :92J:: NETT, the Rate Type Code must be different, if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78). In each occurrence of sequence E: if field :92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different, if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different, if field:92J:: NETT is present more than once, then for each occurrence of field :92J:: NETT, the Rate Type Code must be different, if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78). In each occurrence of subsequence E1: if field:92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different, In each occurrence of sequence D, E and E1: if field :92E:: GRSS or/and :92J:: GRSS is/are present more than once, then for each occurrence of field :92a:: GRSS, the Rate Type Code must be different, if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different, if field :92E:: NETT or/and :92J:: NETT is/are present more than once, then for each occurrence of field :92a:: NETT, the Rate Type Code must be different, if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78). note: ref. rule 277. MT 566 In each occurrence of sequence C: if field :92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different,

February 2007

RULE 278 (E78)

2-165

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different, if field:92J:: NETT is present more than once, then for each occurrence of field :92J:: NETT, the Rate Type Code must be different, if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78). In each occurrence of sequence D: if field :92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different, if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different, if field:92J:: NETT is present more than once, then for each occurrence of field :92J:: NETT, the Rate Type Code must be different, if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78). In each occurrence of subsequence D1: if field:92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different, In each occurrence of sequence C, D and D1: if field :92E:: GRSS or/and :92J:: GRSS is/are present more than once, then for each occurrence of field :92a:: GRSS, the Rate Type Code must be different, if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different,

if field :92E:: NETT or/and :92J:: NETT is/are present more than once, then for each occurrence of field :92a:: NETT, the Rate Type Code must be different, if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78). note: ref. rule 277. RULE 279 (E79) MT 549 Statement Date/Time (field :98a::STAT) and Statement Period (field :69a::STAT) are mutually exclusive. This rule applies to sequence A (Error Code E79). Sequence A if field :98a::STAT is ...
Present Not Present

Sequence A then field :69a::STAT is ...


Not Allowed Optional

2-166

RULE 279 (E79)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 564 In each occurrence of sequence E, if field :22F::CAOP//OTHR is present, then in the same occurrence of sequence E field :70E::ADTX is mandatory (Error Code E79). in each occurrence of sequence E if field :22F::CAOP//OTHR is ... (*)
Present Not Present

in the same occurrence of sequence E then field :70E::ADTX is ...


Mandatory Optional

(*) if the Data Source Scheme is present in field :22F::CAOP//OTHR then the conditional rule does not apply.

MT 565 In sequence D, if field :22F::CAOP//SPLI is present, then field 70E::INST is mandatory in the same sequence (Error Code: E79). in sequence D if field :22F::CAOP//SPLI is ... (*)
Present Not Present

in sequence D then field :70E::INST is


Mandatory (i.e. minimum one occurrence) Optional

(*) if the Data Source Scheme is present in field :22F::CAOP//SPLI then the conditional rule does not apply. RULE 280 (E80) MT 528, 529 If field :22F::DBNM is NOT present in sequence C, then it is mandatory to specify a place of settlement: one occurrence of subsequence C1 Settlement Parties must contain party field :95a::PSET (Error code(s): E80). In Sequence C, if field :22F::DBNM is ...
Not present Present

then in one occurrence of subsequence C1 ...


field :95a::PSET is Mandatory NA Not applicable refer rule 270

note: refer rule 284 (i.e. :95a::PSET must be present in only one occurrence of C1)

February 2007

RULE 280 (E80)

2-167

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 549 Sequence B Statement by Status/Reason and/or by Financial Instrument and sequence C Statement by Instruction Reference are mutually exclusive (Error Code E80). If Sequence B is...
Present Not Present

Then Sequence C is...


Not Allowed Optional

MT 564 In each occurrence of sequence D, and E and E1, if field :92J::TAXE is present, then field :92F::GRSS must be present in the same sequence occurrence (Error code(s): E80). In each occurrence of sequence E, if field :92J::TAXE is present, then field :92F::GRSS must be present in the same sequence occurrence (Error code(s): E80).

MT 566 In each occurrence of sequence C, and D and D1, if field :92J::TAXE is present, then field :92F::GRSS must be present in the same sequence occurrence (Error code(s): E80). In sequence D, if field :92J::TAXE is present, then field :92F::GRSS must be present (Error code(s): E80). RULE 281 (E81) MT 508, 524 The "Balance from" must be different from the "Balance To". The third component (Subbalance Type) of field :93A::FROM must be different from the third component (Subbalance Type) in field :93A::TOBA. This check applies to sequence B (Error Code E81) MT 538 Within each occurrence of the Sub-Balance Subsequence B2, the third component (Subbalance Type) of field :93A::FROM must be different from the third component (Subbalance Type) in all occurrences of field :93A::TOBA in the Intra-Position Movement Subsequence B2a (Error Code E81). RULE 282 (E82) MT 535 If the statement refers to an accounting statement, i.e. :22F::STTY//ACCT present, then at least one occurrence of subsequence B1 is required, and in each occurrence of subsequence B1 both fields Price (field :90a:) and 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.

2-168

RULE 281 (E81)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Sequence A then if field sequence B is :17B::ACTI is


Y

and in sequence A if field :22F::STTY//ACCT is ...

then subsequence B1 is
Mandatory i.e. minimum one occurrence in the message (note) Optional N.A.Not applicable

and in every occurrence of subsequence B1 field :90a:: is


Mandatory

and in every occurrence of subsequence B1 field :19A::HOLD is


Mandatory

Mandatory Present, and DSS not present in field :22F::STTY i.e. minimum one occurrence Not present, or DSS present in field :22F::STTY

Optional N.A.Not applicable

Optional N.A.Not applicable

Not allowed

N.A.Not applicable

note: B1 is NOT mandatory in every occurrence of sequence B RULE 283 (E83) MT 307 The following fields cannot appear more than once in the message (Error Code : E83): Subsequence B3
:19B::BUYE :19B::SELL

Subsequence D1
:95a::CDEA :95a::INTE :95a::ACCW :95a::BENM

MT 503, 504 In each occurrence of sequence C, the presence of subsequences C1, C2 and C3 depends on the value of field :22H::COLL//<Indicator> as follows (Error Code E83): In each occurrence of sequence C if field :22H::COLL//4!c is
BCOL CCOL SCOL

then subsequence C1 is
Not Allowed Not Allowed Mandatory

and subsequence C2 is
Not Allowed Mandatory Not Allowed

and subsequence C3 is
Mandatory Not Allowed Not Allowed

February 2007

RULE 283 (E83)

2-169

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 505 In each occurrence of sequence B, the presence of subsequences B1, B2 and B3 depends on the value of field :22H::COLL as follows (Error Code E83): In each occurrence of sequence B if field :22H::COLL is
BCOL CCOL SCOL

then subsequence B1 is
Not Allowed Not Allowed Mandatory

and subsequence B2 is
Not Allowed Mandatory Not Allowed

and subsequence B3 is
Mandatory Not Allowed Not Allowed

MT 506 In each occurrence of sequence D, the presence of subsequences D1, D2 and D3 depends on the value of field :22H::COLL as follows (Error Code E83): In each occurrence of sequence D if field :22H::COLL is
BCOL CCOL SCOL

then subsequence D1 is
Not Allowed Not Allowed Mandatory

and subsequence D2 is
Not Allowed Mandatory Not Allowed

and subsequence D3 is
Mandatory Not Allowed Not Allowed

MT 536 If the instruction is against payment (:22H::PAYM//APMT) then it is mandatory to specify a Posting Amount (field :19A::PSTA). This rule applies to subsequence B1a2 (Error Code E83) Subsequence B1a2 if field :22H::PAYM is ...
APMT NOT= APMT

Subsequence B1a2 then field :19A::PSTA is ...


Mandatory Optional

2-170

RULE 283 (E83)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 537 If the instruction is against payment (:22H::PAYM//APMT) then it is mandatory to specify a Posting Amount (field :19A::PSTA). This rule applies to Subsequence B2b and C2 (Error Code E83). Subsequence B2b if field :22H::PAYM is ...
APMT NOT= APMT

Subsequence B2b then field :19A::PSTA is ...


Mandatory Optional

Subsequence C2 if field :22H::PAYM is ...


APMT NOT= APMT

Subsequence C2 then field :19A::PSTA is ...


Mandatory Optional

MT548 If the instruction is against payment (:22H::PAYM//APMT) then it is mandatory to specify a Settlement Amount (field :19A::SETT). This rule applies to sequence B (Error Code E83). Sequence B if field :22H::PAYM is ...
APMT NOT= APMT

Sequence B then field :19A::SETT is ...


Mandatory Optional

MT 578 If the alleged instruction is against payment (:22H::PAYM//APMT in sequence B) then it is mandatory to specify a Settlement Amount : One occurrence of the amounts Subsequence E3 must contain amount field :19A::SETT (Error Code E83). Sequence B if field :22H::PAYM is ...
APMT NOT= APMT

then Subsequence E3 is...


Mandatory Optional

and in one occurrence of Subsequence E3 field :19A::SETT is...


Mandatory Optional

see rule 287

February 2007

RULE 283 (E83)

2-171

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 586 If the instruction is against payment (:22H::PAYM//APMT) then it is mandatory to specify a Settlement Amount (field :19A::SETT). This rule applies to sequence B (Error Code E83). Sequence B if field :22H::PAYM is ...
APMT NOT= APMT

Then Subsequence B5c is...


Mandatory Optional

And in one occurrence of Subsequence B5c field :19A::SETT is ...


Mandatory Optional

see rule 287 RULE 284 (E84) MT 307 In each occurrence of Seq. B3, the following party fields cannot appear more than once (Error Code E84) Subsequence B3a
:95a::CDEA :95a::INTE :95a::ACCW :95a::BENM

MT 308 In each occurrence of Subsequence B4, the following fields cannot appear more than once (Error Code E84) Subsequence B4b
:95a::CDEA :95a::INTE :95a::ACCW :95a::BENM

2-172

RULE 284 (E84)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 321 In each occurrence of sequence C, the following party fields for Subsequence C1 cannot appear more than once (Error Code E84) Subsequence C1
:95a::CDEA :95a::INT2 :95a::INTE :95a::ACCW :95a::BENM

MT 502, 514, 528, 529 The following Party Fields, for sequences C1 and C2, cannot appear more than once in sequence C. The following Party Fields for sequence D cannot appear more than once in a message. (Error Code E84). Subsequence C1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2

Subsequence C2
:95a::ACCW :95a::BENM :95a::PAYE

Sequence D
:95a::EXCH :95a::MEOR :95a::MERE :95a::TRRE :95a::VEND :95a::TRAG

:95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

MT 518 The following Party Fields, for sequences C1 and C2, cannot appear more than once in sequence C. The following Party Fields for sequence D cannot appear more than once in a message. (Error Code E84). Subsequence C1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1

Subsequence C2
:95a::ACCW :95a::BENM :95a::PAYE

Sequence D
:95a::EXCH :95a::MEOR :95a::MERE :95a::TRRE

February 2007

RULE 284 (E84)

2-173

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

:95a::DEI2

:95a::VEND :95a::TRAG

:95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

MT 504 In each occurrence of sequence C, for subsequences C1a1 and C2a1, the following party fields cannot appear more than once (Error Code E84). Subsequence C1a1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

Subsequence C2a1
:95a::ACCW :95a::BENM :95a::PAYE

In sequences D and E, for subsequences D1 and E1, the following party fields cannot appear more than once (Error Code E84): Subsequence D1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1

Subsequence E1
:95a::ACCW :95a::BENM :95a::PAYE

2-174

RULE 284 (E84)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

:95a::REI2 :95a::SELL

MT 505 In each occurrence of sequence B, for subsequences B1a1 and B2a1, the following party fields cannot appear more than once (Error Code E84). Subsequence B1a1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

Subsequence B2a1
:95a::ACCW :95a::BENM :95a::PAYE

In sequences C and D, for subsequences C1 and D1, the following party fields cannot appear more than once (Error Code E84): Subsequence C1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

Subsequence D1
:95a::ACCW :95a::BENM :95a::PAYE

February 2007

RULE 284 (E84)

2-175

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 507 In each occurrence of sequence B, for subsequences B1a1 and B1b1, the following party fields cannot appear more than once (Error Code E84): Subsequence B1a1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

Subsequence B1b1
:95a::ACCW :95a::BENM :95a::PAYE

MT 513 The following Party Fields, for sequences D1 and D2, cannot appear more than once in sequence D. The following Party Fields for sequence E cannot appear more than once in a message. (Error Code E84). Subsequence D1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2

Subsequence D2
:95a::ACCW :95a::BENM :95a::PAYE

Sequence E
:95a::EXCH :95a::MEOR :95a::MERE :95a::TRRE :95a::VEND :95a::TRAG

:95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

2-176

RULE 284 (E84)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 515 The following Party Fields, for sequences D1 and D2, cannot appear more than once in sequence D. The following Party Fields for sequence E cannot appear more than once in a message. (Error Code E84). Subsequence D1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2

Subsequence D2
:95a::ACCW :95a::BENM :95a::PAYE

Sequence E
:95a::EXCH :95a::MEOR :95a::MERE :95a::TRRE :95a::VEND :95a::TRAG

:95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

MT 536 In each occurrence of Subsequence B1a, in Subsequence B1a2, the following Party Fields cannot appear more than once (Error Code E84). Subsequence B1a2a
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

February 2007

RULE 284 (E84)

2-177

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 537 The following Party Fields cannot appear more than once in the same occurrence of Subsequence B2b (Error Code E84). Subsequence B2b1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

The following Party Fields cannot appear more than once in the same occurrence of Subsequence C2 (Error Code E84). Subsequence C2a
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

MT 540, 542, 544, 546 The following Party Fields cannot appear more than once in a message (Error Code E84). Subsequence E1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1

Subsequence E2
:95a::ACCW :95a::BENM :95a::PAYE

Sequence F
:95a::EXCH :95a::MEOR :95a::MERE :95a::TRRE

2-178

RULE 284 (E84)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

:95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

:95a::INVE :95a::TRAG :95a::VEND

MT 541, 543, 545, 547 The following Party Fields cannot appear more than once in a message (Error Code E84). Subsequence E1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

Subsequence E2
:95a::ACCW :95a::BENM :95a::PAYE

Sequence F
:95a::EXCH :95a::MEOR :95a::MERE :95a::TRRE :95a::INVE :95a::TRAG :95a::VEND

MT 548 The following Party Fields cannot appear more than once in the same occurrence of sequence B (Error Code E84). Subsequence B1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

February 2007

RULE 284 (E84)

2-179

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 575 The following Party Fields cannot appear more than once in the same occurrence of Subsequence B1a (Error Code E84). Subsequence B1a4
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

MT 575 The following Party Fields cannot appear more than once in the same occurrence of Subsequence C2 (Error Code E84). Subsequence C2a
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

2-180

RULE 284 (E84)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 578 The following Party Fields cannot appear more than once in a message (Error Code E84). Subsequence E1
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

Subsequence E2
:95a::ACCW :95a::BENM :95a::PAYE

MT 586 The following Party Fields cannot appear more than once in the same occurrence of sequence B (Error Code E84). Subsequence B5a
:95a::BUYR :95a::DEAG :95a::DECU :95a::DEI1 :95a::DEI2 :95a::PSET :95a::REAG :95a::RECU :95a::REI1 :95a::REI2 :95a::SELL

Subsequence B5b
:95a::ACCW :95a::BENM :95a::PAYE

February 2007

RULE 284 (E84)

2-181

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 285

(E85) MT 503, 504 In each occurrence of subsequence C2, the presence of field :98A::TERM depends on the value of field :22H::DEPO//<Indicator> as follows (Error Code E85): In each occurrence of subsequence C2 if field :22H::DEPO//4!c
FIXT CLNT

In the same occurrence of subsequence C2 then field :98A::TERM is is


Mandatory Not Allowed

MT 505 In each occurrence of subsequence B2, the presence of field :98A::TERM depends on the value of field :22H::DEPO//<Indicator> as follows (Error Code E85): In each occurrence of subsequence B2 if field :22H::DEPO//4!c
FIXT CLNT

In the same occurrence of subsequence B2 then field :98A::TERM is is


Mandatory Not Allowed

MT 506 In each occurrence of subsequence D2, the presence of field :98A::TERM depends on the value of field :22H::DEPO//<Indicator> as follows (Error Code E85): In each occurrence of subsequence D2 if field :22H::DEPO//4!c
FIXT CLNT

In the same occurrence of subsequence D2 then field :98A::TERM is is


Mandatory Not Allowed

MT 528, 529 If field :22F::DBNM is NOT present in sequence C, and the instruction is a delivery (:22H::REDE//DELI in sequence B), then it is mandatory to specify a receiving agent: one occurrence of subsequence C1 Settlement Parties must contain party field :95a::REAG (Error Code E85).

2-182

RULE 285 (E85)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

If field :22F::DBNM is NOT present in sequence C, and the instruction is a receipt (:22H::REDE//RECE in sequence B), then it is mandatory to specify a delivering agent: one occurrence of subsequence C1 Settlement Parties must contain party field :95a::DEAG (Error Code E85). In Sequence C if field :22F::DBNM is ...
Not present

and Sequence B field :22H::REDE is ...


DELI

then in one occurrence of subsequence C1 ...


field :95a::REAG is Mandatory ref. 284 field :95a::DEAG is Mandatory ref. 284 NANot applicable

RECE

Present

NANot applicable

MT 537 If the instruction is a delivery (:22H::REDE//DELI in Subsequence B2b) and the Settlement Parties Subsequence B2b1 is used, then it is mandatory to specify a Receiving Agent: One occurrence of the settlement parties Subsequence B2b1 must contain party field :95a::REAG (Error Code E85). If the instruction is a receipt (:22H::REDE//RECE in Subsequence B2b) and the Settlement Parties Subsequence B2b1 is used, then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties Subsequence B2b1 must contain party field :95a::DEAG (Error Code E85). Subsequence B2b if field :22H::REDE is ...
DELI

And if Subsequence B2b1 is...


Present

Then in one occurrence of Subsequence B2b1 field :95a::REAG is ...


Mandatory

Subsequence B2b if field :22H::REDE is ...


RECE

And if Subsequence B2b1 is...


Present

Then in one occurrence of Subsequence B2b1 field :95a::DEAG is ...


Mandatory

If the instruction is a delivery (:22H::REDE//DELI in Subsequence C2) and the Settlement Parties Subsequence C2a is used, then it is mandatory to specify a Receiving Agent: One occurrence of the settlement parties Subsequence C2a must contain party field :95a::REAG (Error Code E85). If the instruction is a receipt (:22H::REDE//RECE in Subsequence C2) and the Settlement Parties Subsequence C2a is used, then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties Subsequence C2a must contain party field :95a::DEAG (Error Code E85).

February 2007

RULE 285 (E85)

2-183

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

Subsequence C2 if field :22H::REDE is ...


DELI

And if Subsequence C2a is...


Present

Then in one occurrence of Subsequence C2a field :95a::REAG is ...


Mandatory

Subsequence C2 if field :22H::REDE is ...


RECE

And if Subsequence C2a is...


Present

Then in one occurrence of Subsequence C2a field :95a::DEAG is ...


Mandatory

MT 548 If the instruction is a delivery (:22H::REDE//DELI in sequence B) and the Settlement Parties Subsequence B1 is used, then it is mandatory to specify a Receiving Agent: One occurrence of the Settlement Parties Subsequence B1 must contain party field :95a::REAG (Error Code E85). If the instruction is a receipt (:22H::REDE//RECE in sequence B) and the Settlement Parties Subsequence B1 is used, then it is mandatory to specify a Delivering Agent: One occurrence of the Settlement Parties Subsequence B1 must contain party field :95a::DEAG (Error Code E85). Sequence B if field :22H::REDE is ...
DELI

And if Subsequence B1 is...


Present

Then in one occurrence of Subsequence B1 field :95a::REAG is ...


Mandatory

Sequence B if field :22H::REDE is ...


RECE

And if Subsequence B1 is...


Present

Then in one occurrence of Subsequence B1 field :95a::DEAG is ...


Mandatory

MT578 If the alleged instruction is a delivery (:22H::REDE//DELI in sequence B) then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties Subsequence E1 must contain party field :95a::DEAG (Error Code E85). If the alleged instruction is a receipt (:22H::REDE//RECE in sequence B) then it is mandatory to specify a Receiving Agent: One occurrence of the settlement parties Subsequence E1 must contain party field :95a::REAG (Error Code E85). Sequence B if field :22H::REDE is ...
DELI

Then in one occurrence of Subsequence E1 field :95a::DEAG is ...


Mandatory

Sequence B if field :22H::REDE is ...


RECE

Then in one occurrence of Subsequence E1 field :95a::REAG is ...


Mandatory

2-184

RULE 285 (E85)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 586 Within each occurrence of Seq. B, if the allegement is a delivery (:22H::REDE//DELI in sequence B), then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties Subsequence B5a must contain party field :95a::DEAG (Error Code E85). Within each occurrence of Seq. B, if the allegement is a receipt (:22H::REDE//RECE in sequence B), then it is mandatory to specify a Receiving Agent: One occurrence of the settlement parties Subsequence B5a must contain party field :95a::REAG (Error Code E85). Sequence B if field :22H::REDE is ...
DELI

then in the same occurrence of Seq. B, in one occurrence of Seq.B5a field :95a::DEAG is ...
Mandatory

Sequence B if field :22H::REDE is ...


RECE

then in the same occurrence of Seq. B, in one occurrence of Seq.B5a field :95a::REAG is ...
Mandatory

RULE 286

(E86) MT 502, 514, 518

If a qualifier from the list Deliverers/2 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/2 (see below) must be present. In other words, in Sequence C, the following scenarios must be validated: If :95a::DEI2 is present in Subseq C1, then :95a::DEI1 must be present in another Subseq C1. If :95a::DEI1 is present in Subseq C1, then :95a::DECU must be present in another Subseq C1. If :95a::DECU is present in Subseq C1, then :95a::SELL must be present in another Subseq C1. If :95a::SELL is present in Subseq C1, then :95a::DEAG must be present in another Subseq C1. If a qualifier from the list Receivers/2 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/2 (see below) must be present. In other words, in Sequence C, the following scenarios must be validated: If :95a::REI2 is present in Subseq C1, then :95a::REI1 must be present in another Subseq C1. If :95a::REI1 is present in Subseq C1, then :95a::RECU must be present in another Subseq C1. If :95a::RECU is present in Subseq C1, then :95a::BUYR must be present in another Subseq C1. If :95a::BUYR is present in Subseq C1, then :95a::REAG must be present in another Subseq C1. MT 513, 515 If a qualifier from the list Deliverers/2 is present in a Subsequence D1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/2 (see below) must be present. In other words, in Sequence D, the following scenarios must be validated: If :95a::DEI2 is present in Subseq D1, then :95a::DEI1 must be present in another Subseq D1. If :95a::DEI1 is present in Subseq D1, then :95a::DECU must be present in another Subseq D1. If :95a::DECU is present in Subseq D1, then :95a::SELL must be present in another Subseq D1.

February 2007

RULE 286 (E86)

2-185

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

If :95a::SELL is present in Subseq D1, then :95a::DEAG must be present in another Subseq D1. If a qualifier from the list Receivers/2 is present in a Subsequence D1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/2 (see below) must be present. In other words, in Sequence D, the following scenarios must be validated: If :95a::REI2 is present in Subseq D1, then :95a::REI1 must be present in another Subseq D1. If :95a::REI1 is present in Subseq D1, then :95a::RECU must be present in another Subseq D1. If :95a::RECU is present in Subseq D1, then :95a::BUYR must be present in another Subseq D1. If :95a::BUYR is present in Subseq D1, then :95a::REAG must be present in another Subseq D1. MT 504 In each occurrence of sequence C, if a qualifier from the list Deliverers/1 is present in a subsequence C1a1 in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present in other subsequences C1a1 of the same occurrence of sequence C (Error Code E86). In other words, in each occurrence of sequence C, the following scenarios must be validated: If :95a::DEI2 is present in subseq. C1a1, then :95a::DEI1 must be present in another subseq. C1a1. If :95a::DEI1 is present in subseq. C1a1, then :95a::DECU must be present in another subseq. C1a1. If :95a::DECU is present in subseq. C1a1, then :95a::SELL must be present in another subseq. C1a1. In each occurrence of sequence C, if a qualifier from the list Receivers/1 is present in a subseq. C1a1 in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present in other subseq.s C1a1 of the same occurrence of sequence C (Error Code E86). In other words, in each occurrence of sequence C, the following scenarios must be validated: If :95a::REI2 is present in subseq. C1a1, then :95a::REI1 must be present in another subseq. C1a1. If :95a::REI1 is present in subseq. C1a1, then :95a::RECU must be present in another subseq. C1a1. If :95a::RECU is present in subseq. C1a1, then :95a::BUYR must be present in another subseq. C1a1.

In sequence D, if a qualifier from the list Deliverers/1 is present in a subseq D1 in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present in other subsequences D1 (Error Code E86). In other words, in sequence D, the following scenarios must be validated: If :95a::DEI2 is present in subseq. D1, then :95a::DEI1 must be present in another subseq. D1. If :95a::DEI1 is present in subseq. D1, then :95a::DECU must be present in another subseq. D1. If :95a::DECU is present in subseq. D1, then :95a::SELL must be present in another subseq. D1. In sequence D, if a qualifier from the list Receivers/1 is present in a subseq. D1 in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present in other subsequences D1 (Error Code E86). In other words, in sequence D, the following scenarios must be validated: If :95a::REI2 is present in subseq. D1, then :95a::REI1 must be present in another subseq. D1. If :95a::REI1 is present in subseq. D1, then :95a::RECU must be present in another subseq. D1. If :95a::RECU is present in subseq. D1, then :95a::BUYR must be present in another subseq. D1.

MT 505 In each occurrence of sequence B, if a qualifier from the list Deliverers/1 is present in a subsequence B1a1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present in other subsequences B1a1 of the same occurrence of sequence B (Error Code E86).

2-186

RULE 286 (E86)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

In other words, in each occurrence of sequence B, the following scenarios must be validated: If :95a::DEI2 is present in subseq B1a1, then :95a::DEI1 must be present in another subseq B1a1. If :95a::DEI1 is present in subseq B1a1, then :95a::DECU must be present in another subseq B1a1. If :95a::DECU is present in subseq B1a1, then :95a::SELL must be present in another subseq B1a1. In each occurrence of sequence B, if a qualifier from the list Receivers/1 is present in a subsequence B1a1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present in other subsequences B1a1 of the same occurrence of sequence B (Error Code E86). In other words, in each occurrence of sequence B, the following scenarios must be validated: If :95a::REI2 is present in subseq B1a1, then :95a::REI1 must be present in another subseq B1a1. If :95a::REI1 is present in subseq B1a1, then :95a::RECU must be present in another subseq B1a1. If :95a::RECU is present in subseq B1a1, then :95a::BUYR must be present in another subseq B1a1.

In sequence C, if a qualifier from the list Deliverers/1 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present in other subsequences C1 (Error Code E86). In other words, in sequence C, the following scenarios must be validated: If :95a::DEI2 is present in subseq C1, then :95a::DEI1 must be present in another subseq C1. If :95a::DEI1 is present in subseq C1, then :95a::DECU must be present in another subseq C1. If :95a::DECU is present in subseq C1, then :95a::SELL must be present in another subseq C1. In sequence C, if a qualifier from the list Receivers/1 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present in other subsequences C1 (Error Code E86). In other words, in sequence C, the following scenarios must be validated: If :95a::REI2 is present in subseq C1, then :95a::REI1 must be present in another subseq C1. If :95a::REI1 is present in subseq C1, then :95a::RECU must be present in another subseq C1. If :95a::RECU is present in subseq C1, then :95a::BUYR must be present in another subseq C1.

MT 507 In each occurrence of sequence B, if a qualifier from the list Deliverers/1 is present in a subsequence B1a1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present in other subsequences B1a1 of the same occurrence of sequence B (Error Code E86). In other words, in each occurrence of sequence B, the following scenarios must be validated: If :95a::DEI2 is present in subseq B1a1, then :95a::DEI1 must be present in another subseq B1a1. If :95a::DEI1 is present in subseq B1a1, then :95a::DECU must be present in another subseq B1a1. If :95a::DECU is present in subseq B1a1, then :95a::SELL must be present in another subseq B1a1. In each occurrence of sequence B, if a qualifier from the list Receivers/1 is present in a subsequence B1a1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present in other subsequences B1a1 of the same occurrence of sequence B (Error Code E86). In other words, in each occurrence of sequence B, the following scenarios must be validated: If :95a::REI2 is present in subseq B1a1, then :95a::REI1 must be present in another subseq B1a1. If :95a::REI1 is present in subseq B1a1, then :95a::RECU must be present in another subseq B1a1. If :95a::RECU is present in subseq B1a1, then :95a::BUYR must be present in another subseq B1a1.

February 2007

RULE 286 (E86)

2-187

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 528, 529 If a qualifier from the list Deliverers/1 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present. In other words, in Sequence C, the following scenarios must be validated: If :95a::DEI2 is present in Subseq C1, then :95a::DEI1 must be present in another Subseq C1. If :95a::DEI1 is present in Subseq C1, then :95a::DECU must be present in another Subseq C1. If :95a::DECU is present in Subseq C1, then :95a::SELL must be present in another Subseq C1. If a qualifier from the list Receivers/1 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present. In other words, in Sequence C, the following scenarios must be validated: If :95a::REI2 is present in Subseq C1, then :95a::REI1 must be present in another Subseq C1. If :95a::REI1 is present in Subseq C1, then :95a::RECU must be present in another Subseq C1. If :95a::RECU is present in Subseq C1, then :95a::BUYR must be present in another Subseq C1. MT 536 If a qualifier from the list Deliverers/1 is present in a Subsequence B1a2a, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86). In other words, in sequence B1a2, the following scenarios must be validated: If :95a::DEI2 is present in subseq B1a2a, then :95a::DEI1 must be present in another subseq B1a2a. If :95a::DEI1 is present in subseq B1a2a, then :95a::DECU must be present in another subseq B1a2a. If :95a::DECU is present in subseq B1a2a, then :95a::SELL must be present in another subseq B1a2a. If a qualifier from the list Receivers/1 is present in a Subsequence B1a2a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86). In other words, in sequence B1a2, the following scenarios must be validated: If :95a::REI2 is present in subseq B1a2a, then :95a::REI1 must be present in another subseq B1a2a. If :95a::REI1 is present in subseq B1a2a, then :95a::RECU must be present in another subseq B1a2a. If :95a::RECU is present in subseq B1a2a, then :95a::BUYR must be present in another subseq B1a2a. MT 537 If Subsequence B2b is present: If a qualifier from the list Deliverers/1 is present in a Subsequence B2b1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86). In other words, in Subsequence B2b, the following scenarios must be validated: If :95a::DEI2 is present in subseq B2b1, then :95a::DEI1 must be present in another subseq B2b1. If :95a::DEI1 is present in subseq B2b1, then :95a::DECU must be present in another subseq B2b1. If :95a::DECU is present in subseq B2b1, then :95a::SELL must be present in another subseq B2b1. If a qualifier from the list Receivers/1 is present in a Subsequence B2b1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86). In other words, in Subsequence B2b, the following scenarios must be validated: If :95a::REI2 is present in subseq B2b1, then :95a::REI1 must be present in another subseq B2b1. If :95a::REI1 is present in subseq B2b1, then :95a::RECU must be present in another subseq B2b1. If :95a::RECU is present in subseq B2b1, then :95a::BUYR must be present in another subseq B2b1.

2-188

RULE 286 (E86)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

If Subsequence C2 is present: If a qualifier from the list Deliverers/1 is present in a Subsequence C2a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86). In other words, in Subsequence C2, the following scenarios must be validated: If :95a::DEI2 is present in subseq C2a, then :95a::DEI1 must be present in another subseq C2a. If :95a::DEI1 is present in subseq C2a, then :95a::DECU must be present in another subseq C2a. If :95a::DECU is present in subseq C2a, then :95a::SELL must be present in another subseq C2a. If a qualifier from the list Receivers/1 is present in a Subsequence C2a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86). In other words, in Subsequence C2, the following scenarios must be validated: If :95a::REI2 is present in subseq C2a, then :95a::REI1 must be present in another subseq C2a. If :95a::REI1 is present in subseq C2a, then :95a::RECU must be present in another subseq C2a. If :95a::RECU is present in subseq C2a, then :95a::BUYR must be present in another subseq C2a. MT 540, 541, 542, 543, 544, 545, 546, 547, 578 If a qualifier from the list Deliverers/1 is present in a Subsequence E1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86). In other words, in sequence E, the following scenarios must be validated: If :95a::DEI2 is present in subseq E1, then :95a::DEI1 must be present in another subseq E1. If :95a::DEI1 is present in subseq E1, then :95a::DECU must be present in another subseq E1. If :95a::DECU is present in subseq E1, then :95a::SELL must be present in another subseq E1. If a qualifier from the list Receivers/1 is present in a Subsequence E1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86). In other words, in sequence E, the following scenarios must be validated: If :95a::REI2 is present in subseq E1, then :95a::REI1 must be present in another subseq E1. If :95a::REI1 is present in subseq E1, then :95a::RECU must be present in another subseq E1. If :95a::RECU is present in subseq E1, then :95a::BUYR must be present in another subseq E1. MT 548 If a qualifier from the list Deliverers/1 is present in a Subsequence B1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86). In other words, in sequence B, the following scenarios must be validated: If :95a::DEI2 is present in subseq B1, then :95a::DEI1 must be present in another subseq B1. If :95a::DEI1 is present in subseq B1, then :95a::DECU must be present in another subseq B1. If :95a::DECU is present in subseq B1, then :95a::SELL must be present in another subseq B1. If a qualifier from the list Receivers/1 is present in a Subsequence B1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86). In other words, in sequence B, the following scenarios must be validated: If :95a::REI2 is present in subseq B1, then :95a::REI1 must be present in another subseq B1. If :95a::REI1 is present in subseq B1, then :95a::RECU must be present in another subseq B1. If :95a::RECU is present in subseq B1, then :95a::BUYR must be present in another subseq B1.

February 2007

RULE 286 (E86)

2-189

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 575 If a qualifier from the list Deliverers/1 is present in a Subsequence B1a4, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86). In other words, in Subsequence B1a, the following scenarios must be validated: If :95a::DEI2 is present in subseq B1a4, then :95a::DEI1 must be present in another subseq B1a4. If :95a::DEI1 is present in subseq B1a4, then :95a::DECU must be present in another subseq B1a4. If :95a::DECU is present in subseq B1a4, then :95a::SELL must be present in another subseq B1a4. If a qualifier from the list Receivers/1 is present in a Subsequence B1a4, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86). In other words, in Subsequence B1a, the following scenarios must be validated: If :95a::REI2 is present in subseq B1a4, then :95a::REI1 must be present in another subseq B1a4. If :95a::REI1 is present in subseq B1a4, then :95a::RECU must be present in another subseq B1a4. If :95a::RECU is present in subseq B1a4, then :95a::BUYR must be present in another subseq B1a4. MT 575 If a qualifier from the list Deliverers/1 is present in a Subsequence C2a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86). In other words, in Subsequence C2, the following scenarios must be validated: If :95a::DEI2 is present in subseq C2a, then :95a::DEI1 must be present in another subseq C2a. If :95a::DEI1 is present in subseq C2a, then :95a::DECU must be present in another subseq C2a. If :95a::DECU is present in subseq C2a, then :95a::SELL must be present in another subseq C2a. If a qualifier from the list Receivers/1 is present in a Subsequence C2a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86). In other words, in Subsequence C2, the following scenarios must be validated: If :95a::REI2 is present in subseq C2a, then :95a::REI1 must be present in another subseq C2a. If :95a::REI1 is present in subseq C2a, then :95a::RECU must be present in another subseq C2a. If :95a::RECU is present in subseq C2a, then :95a::BUYR must be present in another subseq C2a. MT 586 If a qualifier from the list Deliverers/1 is present in a Subsequence B5a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86). In other words, in Subsequence B5, the following scenarios must be validated: If :95a::DEI2 is present in subseq B5a, then :95a::DEI1 must be present in another subseq B5a. If :95a::DEI1 is present in subseq B5a, then :95a::DECU must be present in another subseq B5a. If :95a::DECU is present in subseq B5a, then :95a::SELL must be present in another subseq B5a.

If a qualifier from the list Receivers/1 is present in a Subsequence B5a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86). In other words, in Subsequence B5, the following scenarios must be validated: If :95a::REI2 is present in subseq B5a, then :95a::REI1 must be present in another subseq B5a. If :95a::REI1 is present in subseq B5a, then :95a::RECU must be present in another subseq B5a. If :95a::RECU is present in subseq B5a, then :95a::BUYR must be present in another subseq B5a.

2-190

RULE 286 (E86)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Deliverers/1
DEI2 DEI1 DECU SELL Deliverer's Intermediary 2 Deliverer's Intermediary 1 Deliverer's Custodian Seller (Deliverer)

Receivers/1
REI2 REI1 RECU BUYR Receiver's Intermediary 2 Receiver's Intermediary 1 Receiver's Custodian Buyer (Receiver)

Deliverers/2
DEI2 DEI1 DECU SELL DEAG Deliverer's Intermediary 2 Deliverer's Intermediary 1 Deliverer's Custodian Seller (Deliverer) Delivering Agent

Receivers/2
REI2 REI1 RECU BUYR REAG Receiver's Intermediary 2 Receiver's Intermediary 1 Receiver's Custodian Buyer (Receiver) Receiving Agent

RULE 287

(E87) MT 540 The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87) Subsequence E3
:19A::ACRU :19A::ANTO :19A::BOOK :19A::CHAR :19A::COUN :19A::DEAL :19A::EXEC :19A::ISDI :19A::LEVY :19A::LOCL :19A::LOCO :19A::MARG :19A::OTHR :19A::POST :19A::REGF :19A::SETT :19A::SHIP :19A::SPCN :19A::STAM

February 2007

RULE 287 (E87)

2-191

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

:19A::STEX :19A::TRAN :19A::TRAX :19A::VATA :19A::WITH :19A::COAX :19A::ACCA

MT 542 The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87) Subsequence E3
:19A::ACRU :19A::ANTO :19A::BOOK :19A::CHAR :19A::COUN :19A::DEAL :19A::EUTR :19A::EXEC :19A::ISDI :19A::LEVY :19A::LOCL :19A::LOCO :19A::MARG :19A::OTHR :19A::POST :19A::REGF :19A::SETT :19A::SHIP :19A::SPCN :19A::STAM :19A::STEX :19A::TRAN :19A::TRAX :19A::VATA :19A::WITH :19A::COAX :19A::ACCA

2-192

RULE 287 (E87)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 541 The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87) Subsequence E3
:19A::ACRU :19A::ANTO :19A::CHAR :19A::COUN :19A::DEAL :19A::EXEC :19A::ISDI :19A::LEVY :19A::LOCL :19A::LOCO :19A::MARG :19A::OTHR :19A::POST :19A::REGF :19A::SETT :19A::SHIP :19A::SPCN :19A::STAM :19A::STEX :19A::TRAN :19A::TRAX :19A::VATA :19A::WITH :19A::COAX :19A::ACCA

MT 543 The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87) Subsequence E3
:19A::ACRU :19A::ANTO :19A::CHAR :19A::COUN

February 2007

RULE 287 (E87)

2-193

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

:19A::DEAL :19A::EUTR :19A::EXEC :19A::ISDI :19A::LEVY :19A::LOCL :19A::LOCO :19A::MARG :19A::OTHR :19A::POST :19A::REGF :19A::SETT :19A::SHIP :19A::SPCN :19A::STAM :19A::STEX :19A::TRAN :19A::TRAX :19A::VATA :19A::WITH :19A::COAX :19A::ACCA

MT 544, 546 The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87) Subsequence E3
:19A::ACRU :19A::ANTO :19A::BOOK :19A::CHAR :19A::COUN :19A::DEAL :19A::ESTT :19A::EUTR :19A::EXEC :19A::ISDI :19A::LEVY :19A::LOCL

2-194

RULE 287 (E87)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

:19A::LOCO :19A::MARG :19A::OTHR :19A::POST :19A::REGF :19A::SHIP :19A::SPCN :19A::STAM :19A::STEX :19A::TRAN :19A::TRAX :19A::VATA :19A::WITH :19A::COAX :19A::ACCA

MT 545, 547 The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87) Subsequence E3
:19A::ACRU :19A::ANTO :19A::CHAR :19A::COUN :19A::DEAL :19A::ESTT :19A::EUTR :19A::EXEC :19A::ISDI :19A::LEVY :19A::LOCL :19A::LOCO :19A::MARG :19A::OTHR :19A::POST :19A::REGF :19A::SHIP :19A::SPCN :19A::STAM

February 2007

RULE 287 (E87)

2-195

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

:19A::STEX :19A::TRAN :19A::TRAX :19A::VATA :19A::WITH :19A::COAX :19A::ACCA

MT 578 The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87) Subsequence E3
:19A::ACRU :19A::CHAR :19A::COUN :19A::DEAL :19A::EXEC :19A::ISDI :19A::LEVY :19A::LOCL :19A::LOCO :19A::MARG :19A::OTHR :19A::POST :19A::REGF :19A::SETT :19A::SHIP :19A::SPCN :19A::STAM :19A::STEX :19A::TRAN :19A::TRAX :19A::VATA :19A::WITH :19A::COAX :19A::ACCA :19A::ANTO

2-196

RULE 287 (E87)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 586 Within each occurrence of Sequence B, the following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence B5c (Error Code E87). Subsequence B5c
:19A::ACRU :19A::CHAR :19A::COUN :19A::DEAL :19A::EXEC :19A::ISDI :19A::LEVY :19A::LOCL :19A::LOCO :19A::MARG :19A::OTHR :19A::POST :19A::REGF :19A::SETT :19A::SHIP :19A::SPCN :19A::STAM :19A::STEX :19A::TRAN :19A::TRAX :19A::VATA :19A::WITH :19A::COAX :19A::ACCA :19A::ANTO

RULE 288

(E88) MT 540, 541, 542, 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).

MT 544, 545, 546, 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).

February 2007

RULE 288 (E88)

2-197

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 289

(E89) MT 540, 542 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 Settlement Amount (field :19A::SETT) must be present in one occurrence of Subsequence E3 and 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 Subsequence 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.

MT 544, 546 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 Settlement Amount (field :19A::ESTT) must be present in one occurrence of Subsequence E3 and 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 Subsequence 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. 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 Subsequence E3 and the currency code in the Settlement Amounts (fields 19A::SETT in sequence C and Subsequence E3) must be the same for all occurrences of these fields in the message.

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 Subsequence 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.

2-198

RULE 289 (E89)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

RULE 290

(E90) MT 307 Repetitive subsequence B3 FX Settlement Details must be present exactly twice in the message (Error Code : E90): Note: Cond. Rule 290 takes precedence over 284 and 291. MT 321. One occurrence of sequence C must have the following value (Error Code : E90): :22H::PRIT//APFM One occurrence of sequence C must have the following value (Error Code : E90):
:22H::PRIT//APCP

MT 540, 541, 542, 543 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). Sequence A if field :99B::TOSE is ...
Present Not Present

Sequence A then field :99B::SETT is ...


Mandatory Optional

RULE 291

(E91) MT 307 In each occurrence of Seq. B3, the presence of the repetitive subsequence B3a Cash Parties depends on the content of the Net Settlement Indicator (:22H::NEGR) as follows (Error Code : E91):
In Sequence A If field :22H::NEGR Indicator is then, in each occurrence of Seq. B3 subsequence B3a Cash Parties is

GRSC NETC or UNKN Field :22H::NEGR not present

Mandatory Not allowed Mandatory

MT 321 Taking into account rules 284 and 290, in each occurrence of Seq. C, the presence of the different parties (i.e. field 95a::CDEA, and field 95a::ACCW) in Subsequence C1 depends on the content of field 22H in Seq. C as follows (Error Code E91):
In each occurrence of Sequence C, if field :22H::PRIT is APCP or IPCP APFM or IPFM Then in one occurrence of Subseq. C1 field 95a::CDEA is Mandatory 95a::ACCW is Mandatory

February 2007

RULE 290 (E90)

2-199

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

MT 504 It is mandatory to specify a Delivering Agent for the Securities Settlement Parties (subseq.s C1a1 and D1): In each occurrence of sequence C, if subseq. C1a1 Securities Settlement Parties is present, then field :95a::DEAG must be present in one and only one occurrence of subseq. C1a1 within the same occurrence of sequence C (Error Code E91).

In sequence D (if present), if subseq. D1 Securities Settlement Parties is present, then field :95a::DEAG must be present in one and only one occurrence of subseq. D1 (Error Code E91). Note: see also Rule 284

MT 540, 541, 544, 545 If field :22F::DBNM is NOT present in sequence E, then it is mandatory to specify a Delivering Agent and a place of settlement: one occurrence of Subsequence E1 Settlement Parties must contain party field :95a::DEAG and another one must contain party field :95a::PSET (Error Code E91). RULE 292 (E92) MT 307 Taking into account rule 291: in each occurrence of Seq. B3, the presence of the different parties (field 95a) in Subsequence B3a depends on the content of field 19B in Subsequence B3 as follows (Error Code : E92): In each occurrence of Subsequence B3, if field :19B:: is
BUYE SELL And if Subsequence B3a is present (i.e. is Mandatory per rule 291) then In one occurrence of Subseq. B3a, field 95a::CDEA is Mandatory 95a::ACCW is Mandatory and in all other optional occurrence(s) of B3a, field 95a::INTE is Optional 95a::INTE is Optional 95a::ACCW is Optional 95a::CDEA is Optional 95a::BENM is Not Allowed 95a::BENM is Optional

MT 321 In a message, the following sequence C fields cannot appear more than once (Error Code E92) Sequence C
:22H::PRIT//APFM :22H::PRIT//APCP :22H::PRIT//IPFM :22H::PRIT//IPCP

2-200

RULE 292 (E92)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 541, 543 It is mandatory to specify a Settlement Amount : One occurrence of the amounts Subsequence E3 must contain amount field :19A::SETT (Error Code E92). MT 545, 547 It is mandatory to specify an Effective Settlement Amount : One occurrence of the amounts Subsequence E3 must contain amount field :19A::ESTT (Error Code E92). RULE 293 (E93) MT 507 It is mandatory to specify a Receiving Agent for the Securities Settlement Parties (subsequences B1a1): In each occurrence of sequence B (if present), if subsequence B1a1 Securities Settlement Parties is present, then field :95a::REAG must be present in one and only one occurrence of subsequence B1a1 within the same occurrence of sequence B (Error Code E93). Note: see also Rule 284 MT 542, 543, 546, 547 If field :22F::DBNM is NOT present in sequence E, then it is mandatory to specify a Receiving Agent and a place of settlement: one occurrence of the settlement parties Subsequence E1 must contain party field :95a::REAG and another one must contain party field :95a::PSET (Error Code E93). RULE 294 (E94) MT 564 If the safekeeping accounts are not provided (i.e. if field :97C::SAFE//GENR is present in any occurrence of Subsequence B2), then: the Account Information Subsequence B2 must not be repeated in the message, the balance of securities (i.e. field 93a::) must not be present in the Account Information Subsequence B2, the Securities Movement Subsequence E1 must not be present, the Cash Movement Subsequence E2 must not be present,

in Subsequence B2 if field :97C::SAFE//GENR is ...


Present Not Present

then Subsequence B2 is Mandatory and ...


Not Repetitive min-Max=1-1 Repetitive min-Max=1-n

and in Subsequence B2 field 93a is...


Not Allowed Optional

and Subsequences E1 and E2 are ...


Not Allowed Optional and Repetitive min-Max=0-n

February 2007

RULE 293 (E93)

2-201

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

RULE 295

(E95) MT 575 Within each occurrence of Subsequence B1 (Activity Information Per Currency), if the activity flag (field :17B::ACTI) indicates no information to be reported (i.e. N), then the Activity Information Per Transaction Subsequence B1a within that Subsequence B1 is not allowed. If field 17B::ACTI is equal to "Y", then the Activity Information Per Transaction Subsequence B1a is mandatory. (Error Code E95). Subsequence B1 if field :17B::ACTI is ...
N Y

Subsequence B1a is...


Not Allowed Mandatory

RULE 296

(E96) MT 575 Within Activity Information per Transaction Subsequence B1a, the Cash Only Movement Details Subsequence B1a2 and the Cash and Securities Movement Details Subsequence B1a3 are mutually exclusive (Error Code E96). If Subsequence B1a2 is...
Present Not Present

then Subsequence B1a3 is...


Not Allowed Mandatory

RULE 297

(E97) MT 503 In sequence B, the presence of field :95a::EXPP depends on the value of field :22H::COAL//<Indicator> in sequence A as follows (Error Code E97): Sequence A if field :22H::COAL//4!c
INIT VARI TERM

is

Sequence B then field :95a::EXPP


Mandatory Mandatory Not allowed

is

2-202

RULE 295 (E95)

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

MT 587, 588, 589 If the Depository Receipt Type (Field :22H::DERE) specifies a Program Conversion , then Conversion To (Field :22F::CNVT) and Conversion From (Field :22F::CNVF) must be specified and the Type of Financial Instrument (Field 12a) must not be present (Error Code E97). If the Depository Receipt Type (Field 22H::DERE) does not specify a Program Conversion, then the Type of Financial Instrument (Field 12a) must be present. These checks apply to sequence A. Sequence A if in field :22H::DERE Indicator is
CONV NOT= CONV

Sequence A then field :22F::CNVT is ...


Mandatory Optional

Sequence A then field :22F::CNVF is ...


Mandatory Optional

Sequence A then field 12a is...


Not Allowed Mandatory

RULE 298

(E98) MT 588 If the pre-release flag (Field :17B::PRER) is set, the Pre-Release Details sequence C must also be present. If the pre-release flag is not set, the Pre-Release Details sequence C must not be present (Error Code E98). Sequence A if field :17B::PRER is ...
Y N

Then Sequence C is ...


Mandatory Not Allowed

RULE 299

(E99) MT 540, 541, 542, 543 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). Sequence A if field :99B::4!c is
TORE or TODE Not (TORE or TODE)

Sequence A then field :99B::TOSE is


Mandatory Optional

February 2007

RULE 298 (E98)

2-203

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Chapter 3 Text validation error codes


Code Words Validation in Generic Fields. Knn Code word error in a generic Field. The 2 digits nn indicate the field id. The invalid code word is located either: -- right after the Data Source Scheme, i.e. after the ending /, ex.: K17 MT500 Seq.B1 :17B::CONV//A (reject A) K22 MT500 Seq.A :22F::INST//DERA (reject DERA) K90 MT500 Seq.B1 :90B::INDC//ACTA/USD123, (reject ACTA) K93 MT564 Seq.B2 :93C::BLOK//FAMA/ELIG/123, (reject FAMA) or -- further into the field, ex.: K93 MT564 Seq.B2 :93C::BLOK//FAMT/ELIA/123, (reject ELIA) This checks applies to: MTs 307, 308, 321, 380, 381, 500-510, 513-515, 517-519, 524, 527529530, 535-538, 540-549, 558, 564-569, 574IRSLST, 574W8BENO, 575, 576, 578, 584, 586-589. Note: K17 applies also to field :17B:: in MTs n92, n95 and n96.

M50 M60 T00 T01 T02 T03

Message length exceeded. Non-S.W.I.F.T. character encountered (i.e. a character NOT included in the <X>, <Y> and <Z> character sets). see T32. Not used. Code word error. This check applies to: Field 39B, in MTs 700, 705, 707, 710, 720, 740, 747. Unable to ascertain reason for NAK. Please contact your CSC immediately for advice. Code word error. This check applies to: Field 26C, subfield 3, in MTs 600, 601, 604, 605, 606, 607, 608, 609, Field 38B, subfield 1, in MT 405. Code word error. This check applies to: Field 26C, subfield 4, in MTs 600, 601, 604, 605, 606, 607, 608, 609, Field 38B, subfield 2, in MT 405. Code word error. This check applies to: Field 68B, subfield 4, in MTs 609, Field 38B, subfield 3, in MT 405.

T04

T05

February 2007

3-1

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

T06

Code word error. This check applies to: Subfield 1 field 32F; or Subfield 5 field 68B or 68C; or Subfield 3 field 60F, 60M, 62F, 62M, 64 or 65 in MT 608, or in any message appended in common groups n92, n95 or n96. Code word error. This check applies to: Subfield 3 field 33G. Code word error. This check applies to: Field 23, in MT 102_STP, 609 Field 71A in MT 101, 102, 103_not_STP, 103_STP, 104, 107, 405, 740, or in any message appended in common groups n92, n95 or n96. Code word error. This check applies to: Subfield 3 field 23, in MT 305, 601 subfield 3 field 68C, in MT 609, or in any message appended in common groups n92, n95 or n96. The repetitive sequence occurred more than the maximum number of times permitted. The repetitive sequence occurred less than the minimum number of times required. Field, line, subfield or component content error. Or, the format Reject/Return is not allowed for field 72 in this MT. Or, when ISIN is used at the beginning of line one in field 35B, it must never be composed of lower case characters, nor a mix of lower and upper case characters. eg, :35B:isin... and :35B:IsIn... are both invalid. This field tag is not expected at this location in this MT. Either a mandatory field is missing, or the sequence of fields is incorrect, or the given field is not allowed at this point in this MT, or a Field Separator CrLf: (Carriage_return Line_feed Colon) is not immediately followed by a valid S.W.I.F.T. field id. (e.g., field tag is invalid), or an end-of-text sequence (CrLf-) was encountered when not expected, or more than one end-of-text sequence (CrLf-) occurs in this message. Or, in a common group message (i.e. n92, n95 or n96), within the list of "Copy of any field(s) of the original message", there are generic fields and non-generic fields that are not allowed to be mixed in the same message, refer Part V, chapter 10, section 10.3 MTn92 note (**). Or, in one of the following ISO15022 messages : MT502, 503, 504, 505, 506, 507, 508, 509, 513, 514, 515, 518, 524, 527, 528, 529, 530, 535, 536, 537, 538, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 558, 564, 565, 566, 567, 568, 569, 575, 576, 578, 584, 586, 587, 588, 589, an optional sequence of fields was used, however, a field or a field-qualifier which is required (i.e. indicated by an OR, or minimum 1) within that sequence is missing, or field 16R is present but its related code word is inappropriate. Or, in a qualifier table, for a particular generic field (i.e nn), in a "repeatable" order, there is a list of "OR" qualifiers, but more than one qualifier has been used in the repetitions of the generic field, in this sequence.

T07 T08

T09

T10 T11 T12

T13

3-2

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

note : if there is a list of options, a different option may be used in a repeated field, as long as it is with the same qualifier. T14 Subfield [N] (negative indicator) must not be used when the amount, number, UTC indicator or number count component is equal to 0. This check applies to: field 19A in MTs 321, 502, 506, 509, 513-515, 518, 527,528, 529, 535-537, 540548, 558, 564, 566, 567, 569, 574-IRSLST, 575, 578, 584, 586-588. field 32H in MT 320, 330, 362 field 32N in MT 646 field 33N in MT 646 field 34E in MT 320, 330, 341 field 34N in MT 646 field 35H in MT 581 field 37G in MT 320, 330, 362, 644 field 37M in MTs 340, 341, 362, 644 field 37R in MTs 341, 360, 361, 362, 644 field 92A in MTs 321, 500-502, 506, 508, 513-515, 518, 519, 524, 527, 528, 529, 535, 538, 540-547, 558, 564-566, 568, 569, 574-IRSLST, 576, 578, 584, 586-588. field 92E in MTs 564, 566 field 93B in MTs 501,535, 536, 564, 565, 566, 568 field 93C in MTs 535, 564, 565, 566, 568 field 93D in MT 575 field 98D in MTs 564, 566 field 98E in MTs 513-515, 518, 528, 529, 540-548 field 99A in MTs 506, 513-515, 518, 528, 529, 535, 536, 540-547, 564, 569, 575, 578, 586. or any of the above fields in common groups n92, n95 and n96. Sign is not valid. <SIGN> must be either '+' or '-'. Time offset is not valid. <OFFSET> has the same format as time <HHMM>. It must be: 00<=HH<=13 and 00<=MM<=59. Field, line, subfield, or component consists of blanks, (CrLf) or missing mandatory line, subfield or component. This check applies to : field 11R and 11S; the first component must have the format 3!n, and must be within the range 100-999. field 12, and MT = (105 or 106); this component must have the format 3!n, and must be within the range 100-999. field 12, and MT NOT= (MT105 or 106); this component must have the format 3!n, refer to T88 for additional special exception checks. field 61; if the first character of subfield 6 is "S", then the next 3 characters must have the format 3!n, and must be within the range 100-999. Available. Code word error. Subfield 1, component 3, field 32K or 33K. Available.

T15 T16 T17 T18

T19 T20 T21

February 2007

3-3

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

T22

A common reference mismatch (*) exists between field 22, subfield 2, component 2, and: field 36 in MT 305. field 33G, subfield 2, in MT 600 field 32B, subfield 2, in MT 601. Or, a common reference mismatch (*) exists between field 22C, component 2, and: field 30P, YYMM of YYYYMMDD, in MT 360, 361, 362, 364, 365 field 36, sequence B, in MT 300. field 36, sequence B, in MT 303. field 36A, sequence C, in MT 303. field 36, seq. D, or field 37U, seq. G, in MT 306. field 37G, sequence B, in MT 320, 330 field 37M, sequence B, in MT 340, 341 field 37J, sequence B, in MT 350 (*) ref. Part II, chapter 4, section 4.8.1 for details.Note: The above check is not applied to MTs appended to common group MTs n92, n95 and n96.

T23

Subfield 8 in field 61or subfield 6 in field 26C is too long or contains only //; or subfield 2 in fields 26A or 26B is too long or contains only /. Subfield 7 in field 61, subfield 5 in field 26C, subfield 1 in fields 26A or 26B is missing or is too long. Subfields 7 or 8 in field 61, subfield 5 or 6 in field 26C, subfield 1 or 2 in fields 26A or 26B has improper content. The data content of this field may not contain a / as its first character, nor a / as its last character; nor may it contain // (two consecutive slashes) anywhere within its contents. This check applies to: - field 13B - fields 20, 20C, 20D - fields 21, 21A, 21F, 21G, 21P and 21R - field 94B - fields 95Q, 95R, 95S, 95T, 95U Note: . If the field has multiple lines, each line is validated independently; each line must not: begin with a /, nor end with a /, nor contain //. BIC incorrectly formatted or invalid. S.W.I.F.T. BIC is not a valid destination. S.W.I.F.T. BIC contains an invalid branch code. Excessive line(s), subfield(s) or component(s) were found in this field. (CrLf: or CrLf- not found, or line, subfield or component length greater than defined length). The line, subfield or component separator or delimiter (CrLf, blank, slash, or double slash) is missing or incorrect.

T24 T25 T26

T27 T28 T29 T30

T31

3-4

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

T32

The system is expecting a particular subfield, component, or componentseparator. In most situations the error occurred in message text at the line number reported. However, in other situations the error occurred in message text at the previous line. Note : if the first character of a field does not belong to the right character set, the system returns a T32. ex: Field
:20: :20:

format
16x 16x

invalid data
;ABC ABC

; NOT in <X> char set. NOT in <X>, <Y> and <Z> char sets. ex : MT121 text block {4:pAAAAAAAAAAAAAAACrLf-} the lower case character "p" is not included in the <y> char set, and it is the first character

T33

Length of field, line, subfield or component contents is too long. ex: Field Format
6a AAAAAA(CrLf) ACTUAAA(CrLf)

Valid data

Invalid data

or consists of one or more hidden characters, e.g., trailing blank(s), ex: Field Format
6a 6a 5!a 6x A(CrLf) ACTUAL(CrLf) OTHER(CrLf) /AC:ee (CrLf) ACTUAe (CrLf) ACTUALe (CrLf) OTHERe (CrLf) /AC:eee (CrLf)

Valid data

Invalid data

Where e = hidden blank character (trailing blank) or consists of one or more imbedded character(s) which is inconsistent with the defined field format, or a character does not belong to the right character set.

February 2007

3-5

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

ex: Field Format


9a 5a 5a 16x Where: AAAAAAAAA OTHER OTHER XXXXXXX e = blank (i.e. space) character 1 = numeric character : = special char. (not an alphabetic char.) ; = NOT in <X> char. set AAAAeAAAA(CrLf) O1HER(CrLf) O:HER(CrLf) XXX;XXX

Valid data

Invalid data

ex : MT121 text block {4:AAAAAAAAApAAAAAAACrLf-} the lower case character "p" is not included in the <y> char set, and it is NOT the first character T34 T35 T36 Length of field, line, subfield, or component contents is too short. or a character does not belong to the right character set. Code word error. Subfield 1 field 26C. Code word error. This check applies to: field 14A in MTs 360 and 361. field 14D in MTs 320, 330, 340, 350, 360, 361. field 14J in MTs 360 and 361. field 17A in MT 206, 300, 303, 306, 360, 361, 405. field 17F in MT 304, 306, 340, 360, 361, 405. field 17G in MT 304. field 17N in MT 304. field 17O in MT 304. field 17T in MT 300. field 17U in MT 300. field 22A in MT 300, 303, 304, 306, 320, 330, 340, 341, 350, 360, 361, 362, 364, 365 field 23B in MT 103_not_STP, 103_STP, 303. field 94A in MT 300, 303, 304, 305, 306, 320, 330, 340, 341, 350, 360, 361, 362, 364, 365, 600, 601 Code word error. Subfield 2 field 35H contains an invalid code word or currency code, when used with message type 581, and with any message appended in common groups n92, n95, or n96. Time illogical. Available. Missing amount/number or incorrect amount/number first character. Available Code word error. Subfield 3 field 35U.

T37

T38 T39 T40 T41 T42

3-6

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

T43

The amount/number subfield must contain one decimal separator which is a decimal comma, and no other punctuation/separator is permitted.The decimal separator in the amount/number subfield or component is missing, is not a comma and/or more than one comma is present. the SWIFT BIC exists but it is not enabled for FIN, or it is not cutover. invalid NON SWIFT BIC. a TestandTraining dest. must not be used in a LIVE message. In an ERI field (i.e. fields 61, 72, 77A, 79, 86) the data part of a code word /OCMT/, or /CHGS/, is being validated, but the ending separator (i.e. third slash /) is missing. Or : Code word error. This check applies to: field 14G, subfield 1, in MTs 360 and 361. field 22, subfield 1, in MTs 305 field 23A, subfield 1, in MTs 360, 361, 362, 364, 365 field 23E, subfield 1, in MTs 101, 103_not_STP, 104, 107, 206, 207, 256, 405, 416 field 39P, subfield 1, in MT 303 field 61, subfield 9, duplicated code words : /OCMT/ or /CHGS/. field 72 (narrative), duplicated code words : /OCMT/ or /CHGS/. field 72 (structured), duplicated code words : /OCMT/ or /CHGS/ or /INS/. field 77A, duplicated code words : /OCMT/ or /CHGS/. field 77D, line 1, Sequence C in MT 303. field 77H, subfield 1, in MTs 306, 340, 360 and 361. field 79, duplicated code words : /OCMT/ or /CHGS/. field 86, duplicated code words : /OCMT/ or /CHGS/. Code word error. This check applies to: field 14G, subfield 2, in MTs 360 and 361. field 22K, subfield 1, in MT 306 field 23A, subfield 2, in MTs 360, 361, 362, 364, 365 field 23D, in MTs 340, 341 field 23E, subfield 1, in MT 103_STP field 38E, subfield 2, in MTs 360 and 361. field 38G, subfield 2, or subfield 4, in MTs 340, 360, 361. field 38H, subfield 2, or subfield 4, in MTs 360, 361. Available Date error, or the value of year (YY) in a Value Date component (format <DATE2>) is invalid, i.e. within the range 61-79. Note1: the valid range for YY in a Value Date component is: 00-60, for the years 2000-2060, and 80-99, for the years 1980-1999. Note2: in <DATE4>, the value '0000' for YYYY is invalid. in <YEAR>, the value '0000' is invalid. Note3: Value Date ordering is applied to the MTs and fields specified in MFVR Part II 4.1.1 Value Date, and in Standards General Information 5.4.6 Value Date Ordering.

T44 T45 T46 T47

T48

T49 T50

T51 T52

Code word C, D, RC, RD, EC or ED error. Invalid currency code or price code PCT, REN or YLD.

February 2007

3-7

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

T53 T54

Code word error. Subfield 6 component 1 of field 61. The format of the first line of Field 50F (Party Identifier) is invalid.Available This check applies to: field 50F in MTs 101, 102, 102_STP, 103, 103_STP, 210, 910 This check applies to all MTs containing field 50F, when appended to Common Group MTs n92, n95, n96.

T55

Code word error. This check applies to Subfield 1, component 1: field 50F in MTs 101, 102, 102_STP, 103, 103_STP, 210, 910 This check applies to all MTs containing field 50F, when appended to Common Group MTs n92, n95, n96.

Available T56 Code word error. This check applies to Subfield 2, component 1: field 50F in MTs 101, 102, 102_STP, 103, 103_STP, 210, 910 This check applies to all MTs containing field 50F, when appended to Common Group MTs n92, n95, n96.

Available T57 T58 T59 Code word error. Subfield 2 of fields 31X. Code word error. Subfield 1 field 35A, 35N or 35S. Code word error. This check applies to : field 40E in MT 700, 710, 720 field 40F in MT 740. Code word error. This check applies to : field 26F, in MT 306 field 40A in MTs 700, 705. field 40C in MT 760. Code word D or M error. This check applies to : field 32K, subfield 1, in MT 400, 405, 410, 416, 420, 422, 430 field 33K, subfield 1, in MT 430 field 37 (A-F), subfield 2, in MT 516, 644, 645, 646 field 38J, subfield 1, in MT 320, 330 Either the first subfield (<DATE2>[<HHMM>]) or the second subfield (7!a), but not both, must be present. If optional subfield 1 is used, component 1 <DATE2> of this subfield must be present. Field 31X. Component 2 of field 22C or subfield 2, component 2 of field 22 error. When the last character of this component consists of zero (0) and the preceding character is not a one (1), then the entire component must consist of zeros (0000). ref Part II, chapter 4, section 4.8.2 for details. This check applies to all MTs containing field 22, or 22C, when appended to Common Group MTs n92, n95, n96. Code word error. This check applies to : field 12F, in MT 306 field 40B, line 1, in MTs 710, 720. Available

T60

T61

T62

T63

T64

T65

3-8

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

T66

Code word error. This check applies to : field 12E, in MT 306 field 40B, line 2, in MTs 710, 720. Code word error. This check applies to : field 17R, in MT 320, 330 field 17V, in MT 306 field 49, in MTs 700, 710, 720 Code word error. This check applies to : field 24D, subfield 1 in MT 300, 306, 320, 330, 340, 360, 361. field 41A, subfield 2 in MT 700, 705, 710, 720, 740 field 41D, subfield 2 in MT 700, 705, 710, 720, 740 Available Either the Account number ('/'34x) or the Place (CRLF35x[CRLF35x]0-3) or both must be present. Field 82S. ex : Valid Invalid
:82S: BE :82S: BE/

T67

T68

T69 T70

:82S: BE/ACC NO 123 :82S: BE/ACC NO 123 SOCIETE GENERALE :82S: US/ACC NO 123 CHASE BANK 5TH AVERNUE N.Y. CITY USA :82S: FR CREDIT LYONNAIS :82S: US CHASE BANK 5TH AVERNUE N.Y. CITY USA

:82S: /ACC NO 123

T71

Code word error. This check applies to : field 22D in MT 360, 361, 364, 365, 405 field 22E in MT 405. field 22G in MT 306. Code word error. This check applies to : field 22J in MT 306. field 23C, subfield 1 in MT 405. field 23F, subfield 1 in MT 405. Invalid country code. Please refer to the BIC Directory General Information -Country Codes-. This check applies to : field 59, 59A, subfield IBAN, in MT 102_STP, 103_STP.

T72

T73

February 2007

3-9

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

field 82S, subfield 1, in MT 405. field 94C, 2!a (Country Code), in MTs 500-502, 508, 510, 513-515, 518, 519, 524, 528, 529, 535-538, 540-548, 564-568, 574IRSLST, 574BENO field 95C, 2!a (Country Code), in MTs 502, 504, 505, 507, 513-515, 518, 528, 529, 536, 537, 540-548, 575, 578, 586 field 94D, 2!a (Country Code), in MTs 500, 501, 510, 519, 535, 574IRSLST, 574W8BENO. field 95S, 2!a (country code), in MTs 500-502, 504, 505, 507, 510, 513-515, 518, 519, 528, 529, 540-547, 565, 566, 576, 578, 584, 586-589 T74 The currency code must be the same for each indicated subfield in the field. Field 68B, subfields 7 and 10, field 68C, subfields 7, 9, and 11. In MT 405, n92, n95 and n96: field 38B. When subfields 1 and 2 contain "MONT/OTHR", then subfield 3 is mandatory , otherwise subfield 3 is not allowed. ex : Valid Invalid
:38B:MONT/OTHR :38B:MONT/OTHR/ :38B:QUAR/LBDP/01

T75

:38B:MONT/OTHR/01 :38B:QUAR/LBDP

T76

The first character in the first line of this field must be a /, and there must be a least another line, but not more than 5 lines. This applies to field 50H. For example: Valid
:50H:/X X

Invalid
:50H:X X

Invalid
:50H:/X

Invalid
:50H:/X X X

:50H:/X X X X X

X X X

T77

If the first character of the first line of this component or sub component is a /, there must be at least another line, but not more than 5 lines; otherwise, no more than 4 lines are allowed. This applies to fields 42D, 50K, (50-58)D, 59 (note: in MTs 102_STP, 103_STP, 104 and 107, conditional rule 210 takes precedence, i.e. the first character of the first line must be /, ref. Cond. Rule 210, Error code: E10), (82-88)D. Invalid or duplicated code word, or a mandatory code word is missing. This check applies to: field 53J, subfield 1 of each line, in MTs 300, 303 and 304, 306, 320, 330, 340, 341, 350.

T78

3-10

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

field 56J, subfield 1 of each line, in MTs 300, 303 and 304, 306, 320, 330, 340, 341, 350. field 57J, subfield 1 of each line, in MTs 300, 303 and 304, 306, 320, 330, 340, 341, 350. field 58J, subfield 1 of each line, in MTs 300, 303 and 304, 306, 320, 330, 340, 341, 350. field 82J, subfield 1 of each line, in MTs 300, 303 and 304, 305, 306, 320, 330, 350, 600, 601. field 83J, subfield 1 of each line, in MTs 300, 303 and 304, 305, 306, 320, 330, 350, 600, 601. field 84J, subfield 1 of each line, in MTs 300, 306, 320, 330. field 85J, subfield 1 of each line, in MTs 300, 320, 330. field 86J, subfield 1 of each line, in MTs 306, 320, 330, 340, 341, 350. field 87J, subfield 1 of each line, in MTs 300, 303 and 304, 305, 306, 320, 330, 350, 600, 601. field 88J, subfield 1 of each line, in MTs 300, 320. T79 T80 Available <Field 72 Reject/Return> or < Field 79 Reject/Return > : code word error, or mandatory code word missing, or code word not in the proper sequence. Note: This check is applied to MTs 10x, 11x, 20x (NOT applicable to 206), 195, 199, 295 and 299. T81 Format of <Field 72 Reject/Return> is not allowed in this message. This check applies to : field 72, MT102_STP, MT103_STP ERI format is not allowed in this field in this message. This check applies to: field 72, MT102_STP, MT103_STP Available Available Code word error. This check applies to : field 23G, subfield 2, in MTs 307, 308, 321, 380, 381, 500-510, 513-515, 517519, 524, 527-529, 530, 535-538, 540-549, 558, 564-569, 574IRSLST, 574W8BENO, 575, 576, 578, 584, 586-589, or in any message appended in common groups n92, n95 or n96. Code word error. This check applies to : field 23G, subfield 1, in MTs 307, 308, 321, 380, 381, 500-510, 513-515, 517519, 524, 527-529, 530, 535-538, 540-549, 558, 564-569, 574IRSLST, 574W8BENO, 575, 576, 578, 584, 586-589, or in any message appended in common groups n92, n95 or n96.. In a generic field: Colon (:) as a delimiter is not present at the expected position. Field 12 in MT 920 may only consist of 940, 941, 942, or 950. Field 12 in MT 973 may only consist of 971, 972, or 998. In a generic field: qualifier is invalid, qualifier is duplicated, mandatory qualifier is missing,

T82

T83 T84 T85

T86

T87 T88 T89

February 2007

3-11

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

qualifier format or syntax error. (see Part V ISO 15022 message formats). T90 In a generic field: issuer code format or syntax error mandatory issuer code is missing invalid generic field format In a generic field: Slash (/) as delimiter is not present at the expected position. Code word error. This check applies to : field 16R in ISO 15022 MTs. field 16S in ISO 15022 MTs. Code word error. This check applies to : field 22B in MT 320, 330, 364, 365. In field 22, subfield 2, or in field 22C, the components 1 and 3, the values 0 and 1 are not permitted in <LC1> and <LC2>, however the value 0 is allowed in the second (rightmost) position if the emitter or the receiver is a test and training user. Note: T95 This check is only applied for common group messages.

T91 T92

T93 T94

In field 22, subfield 2, or in field 22C, the components 1 and 3 do not contain the bank code and location code of the message emitter, or/and the bank code and location code of the message receiver. Note: This check is only applied for non-common group messages.

T96 T97

In field 22, subfield 2, or in field 22C, the components 1 and 3 are not in alphabetical sequence. Code word error . This check applies to : field 28E, subfield 2, in MTs 206, 506, 535-538, 569, 574W8BENO, 574IRSLST, 575, 576, 584, 586. Available Available

T98 T99

3-12

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Chapter 4 Specific Error Codes for MUG-textval Rules


The G error codes defined hereafter refer to textval error detected in the frame of Message User Groups textval rules processing. G01 AU/PDS: in MT103 the letter option of the selected field is not A, nor C, nor D. In MT202, the letter option of the selected field is not A, nor D AU/PDS: in MT103 or MT202, the format of the selected field letter option A is invalid AU/PDS: in MT103 or MT202, the format of the selected field letter option D is invalid AU/PDS: the selected field is missing, i.e. at least one of the following fields must be present. MT103: fields 56a, 57a LVTS: If 2 LVTS members (i.e. emitter & receiver are LVTS subscribers), AND the first 6 characters of their dest. id. (SWIFTBIC) are different (i.e. NOT the same institution), exchange a FIN message type 103 or 205, AND the currency code used in the tag 32A is "CAD", then the tag 103 must be present in the User Header AND it must contain the code "CAD". REMIT: in a FIN message MT103, the field 77T and the tag119 with the code word 'REMIT' (in the User Header) must either be both present or both absent. CLS : in an MT300 eligible for the FIN-Copy service CLS or CLT, any field 53 present in sequence B must be used with the letter option A. CLS : in an MT300 eligible for the FIN-Copy service CLS or CLT, both fields 57 in sequences B1 and B2 (index 20, 24) must be used with the letter option A, field 57a: of subsequence B1 must contain the CLSB BIC bank code. CLS : in an MT300 eligible for the FIN-Copy service CLS, or CLT, if the tag 17U is used it must contain the value "N". CLS : in an MT300 eligible for the FIN-Copy service CLS, or CLT, any field 56 present in sequence B must be used with the letter option A. Available Available CLS : in an MT304 sent to the CLSB server, field 94A must contain the code "ASET" Available

G02 G03 G04

G05

G06

G07 G08

G09 G10 G11 G12 G13 G14

February 2007

4-1

Part IV - Message Syntax and Semantic Validations

Message Format Validation Rules, October 2007

G15 G16 G17

Available CLS : in an MT304 sent to the CLSB server, any field 53 present in sequence B must be used with the letter option A. CLS : in an MT304 sent to the CLSB server, both fields 57 in sequence B must be used with the letter option A, and must contain the CLSB BIC bank code (note: the field 57A, index 19, is Mandatory). AU/PDS: in MT103 the format of the selected field letter option C is invalid. In MT 305 eligible for the FIN-Copy service CLS or CLT, field 53a must be used with option A. In MT 305 eligible for the FIN-Copy service CLS or CLT, field 56a must be used with option A. In MT 305 eligible for the FIN-Copy service CLS or CLT, field 57A must be present. In MT 305 eligible for the FIN-Copy service CLS (or CLT,) when emitter and receiver are both CLS (or CLT) members, then field 57A must contain CLSB****. In MT 305 eligible for the FIN-Copy service CLS (or CLT), when emitter is CLS (or CLT) member and receiver is not, and field 34R is present, then field 57A must contain CLSB****; when emitter is CLS (or CLT) member and receiver is not, and field 34P is present, then field 56A must contain CLSB****. In MT 305 eligible for the FIN-Copy service CLS (or CLT), both fields 56A and 57A must not contain the CLSB BIC bank code at the same time.

G18 G19 G20 G21 G22

G23

G24

4-2

February 2007

Message Format Validation Rules, October 2007

Part IV - Message Syntax and Semantic Validations

Chapter 5 Special Error Codes for Value Added Services


The B error codes defined hereafter are related to special validations performed for Value Added Services (VAS) Messages.

B01

1.

PAC Trailer used for non-FIN Copy service message.

2. Message has PAC trailer but sender or receiver, or both, are not members of FIN-Copy service. 3. Message contains VAS server id but sender or receiver, or both, are not members of the service. B02 B03 Available 103:LCH is present in the message, but the sender, or receiver, or both, are not activated on Accord, or the message is not allowed for LCH. Or, 103:TPS is present in the message, but the sender, is not a member of TPS, or the message is not allowed for TPS. Or, 103:DER is present in the message, but the sender, or receiver, or both, are not members of DER, or the message is not allowed for DER. B04 B05 Available A system error has occurred. The user should contact their local Customer Service Center for further information.

February 2007

5-1

You might also like