SWIFT Adapter User's Guide: Version 10g Release 3 (10.3)
SWIFT Adapter User's Guide: Version 10g Release 3 (10.3)
SWIFT .......................................................................................................... 4 TERMINOLOGY ............................................................................................. 5 SWIFT CONFIGURATION .............................................................................. 6 SWIFT MESSAGE LIBRARY.......................................................................................................................... 6 CUSTOM SWIFT MESSAGES ........................................................................................................................ 7 CREATING A SWIFT FORMAT ........................................................................ 8 CREATING A SWIFT FORMAT BASED ON AN EXISTING SWIFT MESSAGE FORMAT ................................. 10 CREATING A SWIFT FORMAT FROM AN EMPTY MESSAGE FORMAT ........................................................... 16 ENTERING THE SWIFT SPECIFICATION ...................................................... 19 SWIFT SEQUENCE .................................................................................................................................... 20 Sequence Without Delimiters................................................................................................................ 20 Sequence With Start and End Delimiters.............................................................................................. 21 Sequence With Start Delimiter ............................................................................................................. 22 ADDING A SWIFT SEQUENCE ................................................................................................................... 23 Adding a SWIFT Sequence without Delimiters..................................................................................... 24 Adding a SWIFT Sequence with Start and End Delimiters................................................................... 25 Adding a SWIFT Sequence with Start Delimiter .................................................................................. 27 ADDING A SWIFT FIELD ........................................................................................................................... 28 Adding a New Generic Field ................................................................................................................ 29 Adding Field Options ....................................................................................................................... 31 Entering an Option Format ............................................................................................................... 32 Entering an Option Specification...................................................................................................... 34 Removing Field Options................................................................................................................... 35 Adding Qualifiers and Associating them with Options .................................................................... 36 Specifying OR Option for a Qualifier............................................................................................... 39 Adding a Non-Generic Field ................................................................................................................ 40 Specifying Field Definition and Usage................................................................................................. 42 Mapping Formats with Specification (Sub-fields) ................................................................................ 42 Representing Complex Formats in Designer........................................................................................ 47 ADDING COPY OF FIELDS .......................................................................................................................... 52 UPDATING A SWIFT FIELD ....................................................................................................................... 54 CUSTOMIZE FIELD ..................................................................................................................................... 57 REMOVING A SWIFT FIELD ...................................................................................................................... 59 ADDING VALIDATIONS FOR A SUB-FIELD ................................................................................................... 60 Specifying properties common for all validations ................................................................................ 62 Specifying Error Code .................................................................................................................. 62 Specifying Field Options .............................................................................................................. 62 Specifying Qualifiers.................................................................................................................... 63 Specifying Null Field.................................................................................................................... 63 Specifying Comment .................................................................................................................... 63 Adding Code validation ........................................................................................................................ 64 Specifying Codes.......................................................................................................................... 64 Removing Codes .......................................................................................................................... 65 Adding T26 Validation ......................................................................................................................... 65 Adding T14 Validation ......................................................................................................................... 66 Adding Date Validation ........................................................................................................................ 66 Specifying Date Format................................................................................................................ 67 Adding Currency Code Validation ....................................................................................................... 67 Adding Country Code Validation ......................................................................................................... 68 Adding Time Offset Validation ............................................................................................................. 68 Adding BIC validation.......................................................................................................................... 69
Adding C05 validation.......................................................................................................................... 70 Adding Decimal Validation .................................................................................................................. 70 Adding Party Identification Validation ................................................................................................ 71 Specifying Party Identification Codes .......................................................................................... 71 REMOVING VALIDATIONS FROM A SUB FIELD ........................................................................................... 72 SWIFT EXTERNAL MESSAGE UI................................................................... 72 SWIFT EXTERNAL FORMAT UI .................................................................... 74 EXTERNAL FORMAT - SWIFT (HEADER/TRAILER) ................................................................................... 74 SWIFT Input Header/Trailer ................................................................................................................ 75 SWIFT Output Header/Trailer ............................................................................................................. 77 SWIFT Input/Output Header/Trailer.................................................................................................... 78 FISC Header......................................................................................................................................... 80 SWIFT FORMAT OPTIONS ........................................................................................................................... 81 SWIFT USER MESSAGE (DATA) ................................................................................................................. 83 SWIFT Sequence Info ........................................................................................................................... 85 SWIFT Field Info (Generic) ................................................................................................................. 86 SWIFT Field Qualifier Info .................................................................................................................. 87 SWIFT Field Info (Non-Generic).......................................................................................................... 88 SWIFT Sub Field Info........................................................................................................................... 89 SYSTEM/SERVICE MESSAGE ...................................................................................................................... 90 Creating an empty Service/System message format.............................................................................. 90 Creating a SWIFT System/Service Format Based on an Existing SWIFT Message Format ................ 92 Adding a System Field .......................................................................................................................... 94 Adding a Simple Field...................................................................................................................... 94 Adding a Complex Field................................................................................................................... 97 Fields Separated by OR/AND .......................................................................................................... 98 Adding a Group .................................................................................................................................... 99 Deleting a Field/Group ...................................................................................................................... 100 System Field Dictionary ..................................................................................................................... 100 Specifying Validations for a Field.................................................................................................. 101 Specifying Validations for a Sub-field ........................................................................................... 101 EXPANDING/COLLAPSING SWIFT FIELDS ............................................................................................... 102 Expanding Fields ........................................................................................................................ 103 Collapsing Fields ........................................................................................................................ 103 EXPORTING A SWIFT MESSAGE FORMAT TO LIBRARY.............................. 104 Exporting a SWIFT Message Format ................................................................................................. 105 Importing a SWIFT Message Format ................................................................................................. 107 Sample Exported HTML File.............................................................................................................. 108
SWIFT
S.W.I.F.T. SCRL is the abbreviation for Society for Worldwide Interbank Financial Telecommunication, Societ Cooprative Responsibilit Limite. SWIFTs purpose is to provide technology-based communication services across all financial markets through member banks so that they can profitably meet their own and their end-customers needs. In a financial perspective, standards enable financial institutions to move from manual to automated initiation and processing of financial transactions. The message text standards have been developed to support the business transactions of S.W.I.F.T. users. To ensure that the multitude of practices and conventions of users are in harmony, financial messages transmitted via the S.W.I.F.T. network must adhere to the message text standards. There are important benefits because of standardization of messages. These include: automation, reduced risk of errors and misunderstandings, reduced operating costs, improved productivity, increased efficiency in processing of messages (routing and preparation), faster and more cost effective account reconciliation, and the ability to maintain more comprehensive management information. SWIFT messages are represented by a three-digit number, for example, MT 112. The first digit defines the message category, indicating the general usage of the message. Here, Category 1 refers to Customer Payments & Cheques. The second digit of the message type indicates the message group. For example, Message group 1 refers to Cheque Payments. The third digit indicates the particular type of message, representing a specific function of the message. In our example, Message type 2 refers to Status of a Request for Stop Payment of a Cheque. See Also: Terminology Creating a SWIFT Format Entering the SWIFT Specification SWIFT External Message UI SWIFT External Format UI Export a SWIFT Message Format
Terminology
Sequence Each message type contains zero, one or more sequences. A sequence is a group of related information made up of one or more fields and/or sub-sequences. A sequence may or may not be delimited. For delimiting a sequence use a start indicator and end indicator or start indicator alone. SubSequence A subsequence is a sequence nested within another sequence. The fields contained within each subsequence can be either discrete (non-generic) or generic. Generic Field A generic field is used to describe groups of business data that are common throughout the messages. It is then made unique by the addition of a qualifier. Generic fields allow for the consistent identification of data in a logical and structured way. Each generic field will always have the same meaning across all sensitive messages. Non-Generic Field A non-generic field, unlike a generic field, is used for one purpose only. Qualifier A qualifier is one that gives a complete meaning about a generic field. Qualifiers allow the identification of the type of data. See Also: SWIFT Creating a SWIFT Format
SWIFT Configuration
SWIFT field dictionary and message library are stored under <installation dir>\config\swift folder. This folder contains the following files and folders. QualifierList.csv SwiftField.xml SwiftSystemField.xml format List SWIFT qualifiers with description. Field dictionary for ISO15022 & ISO7754 user messages Field dictionary for system and service messages Directory contains all SWIFT messages.
When you create a new SWIFT message in a cartridge from the message library the following dialog is displayed. Note that the messages are grouped based on version and only messages belonging to a particular version is displayed at a time. You can switch to a different version by selecting it from the version combo.
3. The exported message will be saved under a directory by the same name as the version.
Once you have exported all the customized messages to this directory, you can make of copy this directory to all Designer installations as required. 4. Note that the version name will also be included in the message definition (XML) as shown below.
<?xml version="1.0" encoding="UTF-8" ?> <SwiftMessageFormat name="MT502"> <standard-version>GSCC SRG 2008</standard-version>
This detail is generally not important; but if you are manually editing the version (in say messages you already have) in XMLs remember to update the standard-version tag appropriately. The advantage of the above is that you have the same message library support for your customized SWIFT messages just like standard SWIFT messages.
time, after which the format can be saved and used to build other formats using the first option. See Also: Creating a SWIFT Format based on an existing SWIFT message format Creating a SWIFT Format from an empty message format Exporting a SWIFT Message Format to Library
3. In the New Swift Message Format dialog that appears, select an existing format based on which the new format is to be created. Select Create based on selected format radio button. Click Next.
4. In the next dialog that appears you have various options to choose Header/Trailer, Validation and Edit options as shown in the following picture:
5. As seen in the above picture, you have the option to include specific Header/Trailer (SWIFT Input/SWIFT Output/SWIFT Input Output/FICC Header(custom) or no Header/Trailer) from the list box. (Note that if you choose SWIFT Input or SWIFT Output, the Basic Header and Application Header appearing in the Header section UI of the message are set as mandatory. The Header/Trailer fields cannot be modified/removed from UI). You have the option to include or not to include validations. You also have the option to create the message format in Read Only mode or editable mode. After selecting the required options, click Finish button. 6. The new format is created in the Designer as shown below.
7. Note that the Design Element UI tool bar buttons in the figure are disabled thereby not allowing the user to modify the format as we have chosen Read Only mode in the Edit options. 8. The Enabled column of the format table allows the user to pick from the optional fields, qualifiers and options for the format. By default all the optional entities are enabled. To enable a qualifier, select the field in the format table and select or deselect the check box in the Enabled column for the qualifiers displayed in the SWIFT Field Info (Generic) panel below the table.
Similarly to pick the options for a qualifier, select the qualifier in the table and select or deselect the check box in the SWIFT Field Qualifier Info panel below.
To pick the options for a non-generic field, select the field in the table and select or deselect the check box in the Enabled column of the options displayed in the SWIFT Field Info (Non-Generic) panel below the table.
See Also: Creating a SWIFT Format from an empty message format Entering the SWIFT Specification Exporting a SWIFT Message Format to Library
3. In the New Swift Message Format dialog that appears, select Create empty message format radio button. Click Next.
4. In the next dialog box that appears see that the Validation Options and Edit Options pane are disabled as they are not applicable in this case. You have the option to include specific Header/Trailer (SWIFT Input/SWIFT Output/SWIFt Input/Output/FICC Header(custom) or no Header/Trailer as shown in the following picture. (Note that if you choose SWIFT Input or SWIFT Output, the Basic Header and Application Header appearing in the Header section UI of the message are set as mandatory. The Header/Trailer fields cannot be modified/removed from UI).
5. After selecting the required Header/Trailer from the list box, click Finish button. 6. An empty message format is created as shown below.
See Also: Creating a SWIFT Format based on an existing SWIFT message format Entering the SWIFT Specification Exporting a SWIFT Message Format to Library
SWIFT Sequence
A Sequence is a group of related information, delimited in most of SWIFT message formats. However, there are a few formats, which have sequences without delimiters. The Designer provides for creating sequences with or without delimiters. Furthermore, the sequences with delimiters either have only the start delimiter, or both the start and end delimiters, depending on the formats specification. An example of each of the three cases is as follows. See Also: Sequence Without Delimiters Sequence With Start and End Delimiters Sequence With Start Delimiter
----->Mandatory Repetitive Sequence B Transaction Details M O O -----| 36 Exchange Rate 12d 21 21F Transaction Reference F/X Deal Reference 16x 16x
Note sequences A and B of this format. They have neither the start delimiter nor the end delimiter. To add such a sequence, see Add a SWIFT Sequence without Delimiters. See Also: Sequence With Start and End Delimiters Sequence With Start Delimiter
Mandatory Sequence A General Information M M -----> Repetitive Optional Subsequence A1 Linkages M O 16R 22F LINK Indicator Start of Block Linkage Type Indicator Linked Transaction (see qualifier description) End of Block LINK :4!c/[8c]/4!c 16R 20C SEM E Reference Start of Block Sender's Reference GENL :4!c//16x
O M
13A 20C
LINK 4!c
:4!c//3!c :4!c//16x
16S
LINK
End of Sequence A General Information Mandatory Sequence B Trade Details M 16R Start of Block TRAD Place Place of Trade TRADDET
O 94B
:4!c/[8c]/4!c[/30x]
-----> Note that in the above format, the sequences A and A1 have the Start of Block field 16R and the End of Block field 16S to indicate a sequence. To add such a sequence, see Adding a SWIFT Sequence with Start and End Delimiters. See Also: Sequence Without Delimiters Sequence With Start Delimiter
Mandatory Sequence A General Information M M O 15A 20 21 New Sequence Sender's Reference Related Reference (CrLf) 16x 16x
Mandatory Sequence B Transaction Details M M M M Optional Sequence C Optional General Information M O .. Note that the above message has the start indicator field 15X New Sequence for the sequences A, B, C, etc. But there is no end indicator. To add such a sequence, see Adding a SWIFT Sequence with Start Delimiter. See Also: Sequence Without Delimiters Sequence With Start and End Delimiters 15C New Sequence 29A Contact Information (CrLf) 4*35x 15B 30T 30V 36 New Sequence Trade Date Value Date Exchange Rate (CrLf) 8!n 8!n 12d
a SWIFT Sequence with Start and End Delimiters a SWIFT Sequence with Start Delimiter a SWIFT Field Copy of Fields
2. The SWIFT Sequence dialog appears. Enter the Sequence Name and Description.
3. Select None in Sequence Delimiter. Select the Mandatory and Repeating properties of the sequence as required. 4. For this case, the last section about the delimiters and their format is not required and hence disabled. Click OK. 5. The new sequence is added to the format as shown below.
See Also: Sequence Without Delimiters Adding a SWIFT Sequence with Start and End Delimiters Adding a SWIFT Sequence with Start Delimiter
2. The SWIFT Sequence dialog appears. Enter the Sequence Name and Description.
3. Select Block Delimited in Sequence Delimiter. Select the Mandatory and Repeating properties of the sequence as per the specification. 4. The Start Of Block and End Of Block text fields are automatically populated with values 16R and 16S and the corresponding formats are populated with value 16c when the Sequence Delimiter is specified in the step above. They can be modified if required. 5. Enter the code (In case of block delimited sequence, only if you give Code you will be able to add the sequence, so Code is mandatory not optional) in the Code text field. Click OK. 6. The sequence is added to the format as below.
See Also: Sequence With Start and End Delimiters Adding a SWIFT Sequence without Delimiters Adding a SWIFT Sequence with Start Delimiter
2. The SWIFT Sequence dialog appears. Enter the Sequence Name and Description.
3. Select New Sequence Indicator in Sequence Delimiter. Select the Mandatory and Repeating properties of the sequence as per the specification. 4. The Start Of Block text field is automatically populated with value 15A when the Sequence Delimiter is specified in the step above. This can be changed to your requirement. The End Of Block and Code are not relevant for this case and hence disabled. Click OK. 5. The sequence is added to the format as in the previous cases. See Also: Sequence With Start Delimiter Adding a SWIFT Sequence without Delimiters Adding a SWIFT Sequence with Start and End Delimiters
See Also: Terminology Adding a new Generic Field Adding a Non-Generic Field Updating a SWIFT Field Removing a SWIFT Field Customize Field Adding validations for a sub-field Removing validations from a sub field Adding Copy of Fields Adding a SWIFT Sequence
3. Enter the description of the field in the Description text field. 4. For customizing a field, refer section Customize Field. 5. Add the Options for the field. 6. Make sure the Generic Field check box is selected. 7. Add the Qualifiers and map them to the Options of the field. 8. For a field existing already, the description and Options are automatically populated when the field is selected from the Tag list. But the Qualifiers have to be added, each time a field is added to the message format. 9. Click OK. The field is added to the format as found in the External Format SWIFT UI. Note that the field shows a unique collection of subfields of the options selected for a Qualifier.
2. A new row is added in the options table. Enter the Option, its format, specification and description in the respective columns. 3. When a row is added, the option name by default is populated in the alphabetical order, considering the option name of the last row. For the first time, it is populated as A. This can be changed as required. To know how to enter the format, refer the section Entering an Option Format. To enter the specification, refer Entering an Option Specification. 4. For a generic field, the checkbox in the Selected column is not enabled at this point, as qualifiers are not yet added. Only on adding the qualifiers the column is
enabled, so as to allow the mapping of the qualifier with the Option. See Adding Qualifiers and Associating them with Options.
nn-nn
only
Hexadecimal letters A through F (upper case) and digits only Any character of the permitted character set upper and lower case Any character of the EDIFACT level A character set as defined in ISO 9735 upper case only Any character as defined by the Information Service Blank space
nn*nn
Decimal format
Examples 2n 3!a 4*35x 16-64h = up to 2 digits = always 3 letters upper case only = up to 4 lines of up to 35 characters each = at least 16 and up to 64 hexadecimal digits
2. Use of square brackets [ ] around the format of a particular subfield indicates that the subfield is optional within that field. For example, in the following figure, format of option S is specified as :4!c/[8c]/4!c/2!a/30x. Here, the format corresponding to the sub-field Data Source Scheme is given as [8c], making the sub-field optional. 3. The formats within the brackets ( ) should be treated as a single unit. In the following figure, note option P. The format is :4!c(//4!a2!a2!c[3!c]). The ( ) brackets separates :4!c from the rest, thus implying only two sub-fields with formats 4!c and //4!a2!a2!c[3!c]. If the brackets were missed, the format //4!a2!a2!c[3!c] would not apply for a single sub-field BIC/BEI as in the figure. Instead it would imply four sub-fields with formats 4!a, 2!a, 2!c and 3!c.
4. Refer Mapping Formats with Specification (Sub-fields) to know how to perform the same using the designer. 5. A generic field always starts with a colon (:), followed by a Qualifier of format 4!c followed by zero or more sub-fields. There is no such rule for a non-generic field. See Also: Adding a New Generic Field
Consider the following case. Format Pattern [A] SEPERATOR [B] SEPERATOR [C] represent formats of sub-fields. Specification where A, B, C
In this format pattern, the specification for subfields B and C are the same. ie, Sub-Field2. If this pattern is entered, only one instance of Sub-Field2 will be created, though the format indicates 3 subfields, which is not correct. In order to
avoid this, the specification of the subfields should be made distinct. (Here, the specification for subfields B and C). This is shown in the following example. Example Field Format Specification Format in Designer Specification in Designer 69a OPTION A :4!c//8!n/8!n (Qualifier)(Date)(Date) :4!c//8!n/8!n (Qualifier)(Start Date)(End Date)
Field 69a present in message format MT564 refers to Period. Its two subfield specifications Date are changed to imply their meaning as Start Date and End Date. See Also: Adding a New Generic Field
The option is removed from the options table. If there is any qualifier associated with the removed option, in the case of a generic field, map it to the correct option or remove it. See Also: Adding a New Generic Field
3. Select the required Qualifier from the drop-down list as shown above. The Description is automatically populated on selecting the Qualifier. 4. Select the Presence of the Qualifier among O (Optional), M (Mandatory), OR (OR). See Specifying OR option for a Qualifier to specify OR presence. Also select Repeating checkbox if the qualifier is repeating as per the specification.
5. Map the options to the qualifier. To map, select the qualifier row. Select the options that apply to this qualifier by selecting the checkbox in the Selected column of the required options, as shown below.
6. On selecting the options, they appear in the Options column in the qualifier table. See Also: Adding a New Generic Field
3. Repeat the above step until all the qualifiers in the group have been added. 4. As per the above figure, one among the qualifiers BUYR, DEAG, DECU is mandatory, as specified for the first qualifier of the group. 5. Note that the qualifiers in the OR group are under the serial number 1 in the figure. The OR qualifiers are not assigned serial number for each row. Only the qualifier added outside the group, i.e., with an O or M presence is assigned the next serial number. See Also: Adding Adding Adding Adding a Non-Generic Field Copy of Fields a SWIFT Sequence validations for a sub-field
3. Enter the description of the field in the Description text field. 4. Add the Options for the field. 5. Uncheck the Generic Field check box. 6. The lower panel having the field properties appears now. Select the Mandatory check box if the field is mandatory and select the Repeating check box if the field is repeating.
7. Select the required options by selecting the check box in the Selected column of the options table. Note that this column is enabled only on step 5. 8. For a field existing already, the description and Options are automatically populated when the field is selected from the Tag list. Note that the required options have to be selected and the properties (Mandatory and Repeating) have to be set, each time a field is added to a message format. 9. Click OK. The field is added to the format as found in the External Format SWIFT UI. The field shows a unique collection of subfields of the options selected.
See Also: Specifying Field Definition and Usage Mapping Formats with Specification (Sub-fields) Representing Complex Formats in Designer Adding a new Generic Field Adding Copy of Fields Adding a SWIFT Sequence
2. The selected row has a simple format and specification. Hence there is no ambiguity for Designer in mapping the format with the specification. Designer shows the correct mapping in this case
3. But in complex cases, where there is ambiguity in resolving the format and specification of sub-fields, Designer is clueless and the mapping needs to be done by the user. Consider the following case.
5. Note that there is no one-to-one correspondence between the Format and the Specification. In the above figure, all the formats that have no specification actually belong to BIC/BEI sub-field. Hence in order to correct the mapping, those formats have to be merged for the specification BIC/BEI. 6. Select the rows to be merged and click the Merge Selected Formats button.
9. Note the ( ) brackets added in the format after merging. These brackets can also be entered in the format directly, without going through the Fields Format dialog. 10. The reverse is also possible in the Fields Format dialog. i.e., formats can be split up.
11. Note that the format is missing for Time. 12. Select the row to be split-up and click the Split Selected Format button.
Use of brackets ( ) around a set of (two or more) formats indicates that they should be treated as a single unit. Consider the format:4!c(//4!a2!a2!c[3!c]). The ( ) brackets separates :4!c from the rest, thus implying only two sub-fields with formats 4!c and //4!a2!a2!c[3!c]. If the brackets were missed, the format //4!a2!a2!c[3!c] would not apply for a single sub-field BIC/BEI as in the figure. Instead it would imply four sub-fields with formats 4!a, 2!a, 2!c and 3!c. See Also: Adding a new Generic Field Adding a Non-Generic Field Representing Complex Formats in Designer
Example
35B ([ISIN1!e12!c])CRLF[4*35x] (Identification Of Security)(Description Of Security) (ISIN1!e12!c)([CRLF4*35x]) | 4*35x (Identification Of Security)(Description Of Security) | (Description Of Security)
Note that the field specification is also changed to match the format. Present in Message Formats: MT541, MT543, MT524, MT521, MT531, MT520, MT522, MT523, and MT530 Format Pattern Representation in Designer This format implies that 1. Either A1, A2 and B are present, or A1 and B are present, or only B is present. 2. A2 and B are present, or only B is present. In this format pattern the separator does not belong to either of the two formats (A and B). Also format A is further divided into parts A1 and A2. The separator appears only if A1 or A2 are present or both A1 and A2 are present. If only format B is present the separator does not appear. The order of the formats is important and should always be maintained. [A1] [A2] SEP [B] [A1 [A2] SEP] B | [A2 SEP] B
Example
82a OPTION A [/1!a][/34x]CRLF4!a2!a2!c[3!c] (Party Identifier)(BIC) [/1!a[/34x]CRLF])(4!a2!a2!c[3!c]) | ([/34xCRLF])(4!a2!a2!c[3!c]) (Party Identifier)(BIC) | (Party Identifier)(BIC)
Present in Message Formats: MT521, MT531, MT520, MT522, MT523, MT530 Other Fields Having Similar Pattern: 82a - Options A, D 83a - Options A, D 88a - Options A, D 87a - Options A, D 85a - Options A, D 53a - Options A, D 54a - Options A, D 57a - Options A, D 58a - Options A, D 52a - Options A, D 56a - Options A, D 51a - Options A, D 42a - Options A, D 88D Format Pattern Representation in Designer [A1] [A2] [SEP B] [A1[A2]SEP]B | A1[A2] | [A2 SEP] B | A2
This format implies that A1, A2 and B are present, or A1 and B are present, or only B is present. A1 and A2 are present, or only A1 is present. A2 and B are present, or only B is present. Only A2 is present.
In this format pattern the separator does not belong to either of the two formats (A and B). In this case, format A is further divided into two parts A1 and A2. The separator appears only if either one or both of A1 and A2 is/are present and format B is also present. Presence of format B is essential for the separator to appear. The order of the formats is important and should always be maintained. Example Field Format Specification Format in Designer Specification in Designer 82a OPTION B ([/1!a][/34x])[CRLF35x] (Party Identifier)(Location) ([/1!a[/34x]CRLF])35x | (/1!a[/34x])| ([/34xCRLF])35x | /34x (Party Identifier) (Location) | (Party Identifier) | (Party Identifier) (Location) | (Party Identifier)
Present in Message Formats: MT521, MT531, MT520, MT522, MT523, MT530 Other Fields Having Similar Pattern: 82a - Option B 88a - Option B 87a - Option B 53a - Option B 54a - Option B 57a - Option B 52a - Option B Format Pattern A SEP B where A is of the format nooflines*maxlinelength (Maximum number of lines times maximum line length). Representation in Designer (maxlinelength) SEP B | (2*maxlinelength) SEP B |... | (maxnooflines*maxlinelength) SEP B
This format implies that A minimum of one line is present in format A along with format B.
Number of lines that range between 1 and maximum number possible is present in format A along with format B. Maximum number of lines that is possible is present in format A along with format B. In this format pattern, format A can have multiple lines in its data, which are separated by CRLF. Format A and Format B are also separated by CRLF. In order to differentiate between the data for format A and data for format B we have followed the above conversion pattern. In this case, format A is represented as a combination of the number of possible lines and the maximum length per line. The order of the formats is important and should always be maintained. Example Field Format Specification Format in Designer 41a OPTION D (4*35x)CRLF14x (Name & Address)(Code) (35x)CRLF14x|(2*35x)CRLF14x|(3*35x)CRLF14x| (4*35x)CRLF14x (Name & Address)(Code) |(Name & Address)(Code) | (Name & Address)(Code) |(Name & Address)(Code)
Specification in Designer
Present in Message Format: MT710 See Also: Adding a new Generic Field Adding a Non-Generic Field Mapping Formats with Specification (Sub-fields)
3. Specify the properties for Copy of Fields in the dialog. Select OK to add it.
From the above diagram it can be seen that the Copy of Fields gets added as the last field in the message with the occurrence property. Note: The Copy of Fields of fields should be the last field in the message. It should be a top-level field. It should not be nested within a sequence. See Also: Adding a SWIFT Sequence Adding a SWIFT Field Updating a SWIFT Field Removing a SWIFT Field
2. The Modify Field dialog appears with the selected field in the Tag drop-down box.
3. The options available for the field are populated in the options table, with the apt options selected. Add any missing option if needed, refer Adding Field Options. Select the required options. 4. For a generic field, the Generic Field check box appears checked and the qualifiers are populated in the qualifiers table with the properties set. Add qualifiers further if needed. Refer Adding Qualifiers and Associating them to the Options. 5. For a non-generic field, the dialog looks as below. The Generic Field check box appears unchecked and the properties Mandatory and Repeating are checked or unchecked as set previously. Modify the properties if necessary.
6. Click the Remove button to remove the selected field from the Tag list, subsequently from the External Format - SWIFT UI. 7. To change the suffix, refer the section Customize Field. See Also: Adding a SWIFT Field Adding a SWIFT Sequence Removing a SWIFT Field
Customize Field
Consider the message format MT101. Status Tag Field Name Content/Options No.
Mandatory Sequence A General Information M O 20 21R Sender's Reference Customer Specified Reference 16x 16x 1 2
M O O O . . .
28D Message Index/Total 50a 50a 52a Instructing Party Ordering Customer Account Servicing Institution
5n/5n C or L G or H A or C
3 4 5 6
Note that the field 50a appears twice consequently. When such a data format is entered in the designer and validated, the designer shows an error that the field is duplicated. Hence in order to avoid this, the suffix a needs to be changed. Anyhow, this will not affect the format of the field. To change the suffix: 1. Click the Add New SWIFT Field button in the External Format - SWIFT UI to bring the Create Field dialog. Or select the row to change the suffix (if the field is already added) and click the Modify SWIFT Field button to bring the Modify Field dialog.
2. In the Create Field/Modify Field dialog that appears, click the Customize button.
3. In the Customize Field dialog that appears enter the suffix and click OK.
4. Click OK in the Create Field/Modify Field dialog. Now the External Format SWIFT UI shows the field with the suffix entered.
See Also: Adding a new Generic Field Adding a Non-Generic Field Removing a SWIFT Field
2. Sequences can also be removed by clicking this button. But sub-fields cannot be removed. 3. A field can also be removed by clicking the Remove button in the Create Field or Modify Field dialog.
This removes the field from the Tag list. See Also: Adding a SWIFT Field Updating a SWIFT Field Adding a SWIFT Sequence
4. The default type will be CODE. Click the Type column. The list of validation types will be displayed. Select the appropriate validation type.
Note: For the Format Option sub field the validation button will not be enabled. If a sub-field has validations the text of the validations button will be Red in color.
If a sub-field does not have validation the text will be in normal color.
Specifying properties common for all validations Removing validations from a sub field Adding a SWIFT Field
Specifying Qualifiers
This property is applicable only in case of generic fields. Only those qualifiers that contain the applicable field options will be displayed. Select the necessary qualifiers. Please note that at least one qualifier must be selected for a validation.
Specifying Comment
Comment for the validation can be specified in the comment text area. This is an optional property.
Specifying Codes
The list of codes for the sub field is to be added to the Codes Table. Note that at least one code should be added for a code validation.
button to add a new code. Enter the actual code under Code column. Press the Enter the detailed name and description under Detail Name and Description columns. For example in MT519 sub-field Function of field 23G must contain the following codes CANC and NEWM They can be added as shown below
Pasting Codes From Clipboard You can also use the button to paste a set of codes from clipboard. Copy a set of codes along with their detail names and description from the swift standard
documentation to an application like Excel. Copy the text from there to clipboard. Now click the button. The codes will be pasted. Note: The code, detailed name and description should be separated either by spaces or tabs. Only then the paste operation will paste the codes correctly. In cases where the detailed name itself is of two words separated by space the second word will be copied to the description column. In such cases you have to manually copy the second word back to detail name column.
Removing Codes
You can use the Note: You can use the See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field and buttons to move code(s) up/down. button to remove an existing code.
See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field
See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field
1. Add a new validation. 2. Select Type as DATE in the Type column. 3. Specify the error code, qualifiers, field options, null field and comment properties as specified earlier.
See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field
See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field
See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field
The description and usage for this validation type will be displayed at the bottom.
See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field
See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field
See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field
In MT567, sub-field Amount in field 19A has a validation that the number of digits following the comma must not exceed the maximum allowed for the specified currency. For this field, Decimal validation can be added as shown below.
See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field
Removing Codes
You can use the button to remove an existing Party Identification code. Note that atleast one code should be present for a Party Identification Code validation. Note: You can use the See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field and buttons to move code(s) up/down.
See Also: SWIFT External Format UI Creating a SWIFT Format Entering the SWIFT Specification
The Section Properties panel in the Header panel shows the properties of the header block, such as whether it is Repeating and Optional. The Properties panel shows the properties of a field (shown when a field is selected). It shows whether the field is Optional and its Length. For fields of User Header block and Trailer, additionally the Tag of the field is shown. The fields cannot be added, altered or removed for Header and Trailer.
The field and section properties displayed are not editable. See Also: SWIFT Output Header/Trailer SWIFT Input/Output Header/Trailer FISC Header Format Options Swift User Message (Data)
See Also: SWIFT Input/Output Header/Trailer FISC Header Format Options Swift User Message (Data)
The Section Properties panel in the Header panel shows the properties of the header block, such as whether it is Repeating and Optional.
The Properties panel shows the properties of a field (shown when a field is selected). It shows whether the field is Optional and its Length. For fields of User Header block and Trailer, additionally the Tag of the field is shown. The fields cannot be added, altered or removed for Header and Trailer.
The field and section properties displayed are not editable. See Also: FISC Header Format Options Swift User Message (Data)
FISC Header
When you choose this option, the Header and Trailer panel has the following fields for a SWIFT input/output message format.
The trailer has no fields and is blank in this case. Field properties Optional and Length are displayed in the Properties panel for the header. Note: When you choose the option None, the Header and Trailer sections will be empty. See Also: SWIFT Input Header/Trailer SWIFT Output Header/Trailer Format Options Swift User Message (Data)
The same set of Header/Trailer options that were available during message creation is available here too. (Custom Header/Trailer corresponds to FICC Header). You can set the maximum length for the message by entering the length value in the Max Length text box. The value specified should be an integer value. Max Length accepts values in the range 0 to 9999 and 10000. During runtime, if the length of the input value exceeds the maximum length specified in format options, it generates error as Message Length exceeded. For example, consider a message with maximum length value 10000. If the input value exceeds the length specified then error is thrown as Message Length exceeded. Maximum length allowed 10,000, actual message length 10,115.. See Also: SWIFT Input Header/Trailer SWIFT Output Header/Trailer SWIFT Input/Output Header/Trailer FISC Header Swift User Message (Data)
The message format (ie, the fields) is automatically populated when created from a pre-defined format. Only the optional fields can be enabled or disabled in this case. Whereas, the table is blank when created from an empty message format and the tool bar buttons are enabled so as to add, modify and move the fields as required. In this case, there is no need for the Enabled column in the table and the properties panel, unlike the previous case, as the user adds the fields as and when required.
The sub-fields displayed under the fields are a collection of sub-fields in the options selected while creating or modifying the field (using the Create Field or Modify Field dialog). ie, in the above figure the qualifier BUYR lists the sub-fields of the selected options P, Q, R only though other options are also available (See figure below).
Note that the sub-fields of a generic field are displayed under the qualifier in the External Format - SWIFT UI, similar to a sequence or field. This is because, though the qualifier is also a sub-field, it distinguishes the generic field. Hence the rest of the sub-fields are shown under it. See Also: SWIFT SWIFT SWIFT SWIFT SWIFT Sequence Info Field Info (Generic) Field Qualifier Info Field Info (Non-Generic) Sub Field Info
The panel shows whether the sequence is Repeating and it is Optional or not. The Code of the sequence if available is also displayed. The panel just displays the properties and the properties could not be edited here. To modify the properties, refer Updating a SWIFT Field section. This applies to sequences also.
See Also: SWIFT Field Info (Generic) SWIFT Field Qualifier Info SWIFT Field Info (Non-Generic) SWIFT Sub Field Info Adding a SWIFT Sequence
The check boxes Repeating and Optional show the field properties. For a generic field, the qualifiers are displayed in a table, along with their properties Presence (O Optional & M - Mandatory), Repeating, Description of the qualifier and the Options mapped to it. If the format is created from an existing one, an additional Enabled column is also shown, only which is editable. This is provided to allow the user to select the Qualifiers applicable for the field at that occurrence. To modify the field properties, refer Updating a SWIFT Field section. See Also: SWIFT Sequence Info SWIFT Field Qualifier Info SWIFT Field Info (Non-Generic) SWIFT Sub Field Info Adding a new Generic Field
The check boxes Repeating and Optional show the qualifier properties. The Options that are associated with the qualifier are shown in a table. The Format and Specification of each option are shown in the table. For a format created from an existing one, an additional Enabled column is also seen, only which is editable. This is provided to allow the user to select the associated options of the qualifier for the field at that occurrence. To modify the properties, refer Updating a SWIFT Field section. See Also: SWIFT Sequence Info SWIFT Field Info (Generic) SWIFT Field Info (Non-Generic) SWIFT Sub Field Info Adding a new Generic Field
The check boxes Repeating and Optional show the field properties. The Options that are associated with the field are shown in a table along with their Format and Specification. For a format created from an existing one, an additional Enabled column is also seen, only which is editable. This is provided to allow the user to select the required options for the field at that occurrence. To modify the properties, refer Updating a SWIFT Field section. See Also: SWIFT Sequence Info SWIFT Field Info (Generic) SWIFT Field Qualifier Info SWIFT Sub Field Info Adding a Non-Generic Field
The SWIFT Sub Field Info panel shows the sub-fields Format, whether it is Optional and the Option in which it occurs. For each option (if the sub-field is specified in more than one option), the sub-field details are shown in separate rows. Validations can be added by clicking the Validations button. See Also: SWIFT Sequence Info SWIFT Field Info (Generic) SWIFT Field Qualifier Info SWIFT Field Info (Non-Generic) Adding a SWIFT Field Adding validations for a sub-field
System/Service Message
A System/Service message can be created in designer either from Existing SWIFT message format, or Empty message format The existing SWIFT formats are available as XML files in the location <installation dir>\config\swift\format. See Also: System Field Dictionary
4. Click Next. In the next dialog box select the header type required and the message type. The Message Type combo box lists the message types. The types of messages are User, System and Service. To create a System message select the type as System. To create a Service message, select the type as Service.
5. Click Finish to create the System/Service message. See Also: Creating a SWIFT System/Service Format Based on an Existing SWIFT Message Format Adding a System Field Adding a Group
4. In the next dialog that appears you have various options to choose Header/Trailer, Validation and Edit options. Click Finish to create the message after selecting the appropriate options. Note: The existing SWIFT system/service messages are under category System and Service respectively. When a format based on a message under these categories is created the type of the message is automatically set as either System/Service. See Also: Creating an empty Service/System message format Adding a System Field Adding a Group
2. Select the field to be added (swift-address) in the Name combo box. Or else you can type the field tag (102) in the Tag combo box. The format details of the field are displayed.
3. You can specify the min/max occurs of the field in this dialog. If the field is nonrepeating the field will be added as a simple field. In case a simple field is repeating select the max occurs accordingly. In this case the field will be added as a section. The format, tag and specification of the field cannot be changed. By default, a simple field is added as mandatory and non-repeating. 4. Click OK to add the field.
5. You can change the optional property of the field in the System Field Info panel. In some cases the same field may be present twice in the message. The name of the field can be changed in such cases. The description of the field can also be changed. The type, tag and format of a field cannot be changed. 6. In case the simple field is repeating and the max occurs has been specified it will be added as a section as shown below.
7. The min/max Occurs, description and field name can be changed. See Also: Adding a Complex Field Fields Separated by OR/AND Adding a Group
2. Select the field to be added (mir) in the Name combo box. Or else, you can type the field tag (106) in the Tag combo box. The format details of the field are displayed. Specify the min/max occurs for the field based on the message specification. Click OK to add the field. The field is added as a section. By default the field is optional and repeating.
3. The field can be set as optional/repeating by specifying values for min/max occurs in the System Field Info Panel. In case the same field is present twice in the message, the name of the field can be changed in the Field Name column. Please note that the name of sub-fields cannot be changed. See Also: Adding a Simple Field Fields Separated by OR/AND Adding a Group
3. If AND is present between the fields and the first field is optional, enter the fields as optional. Additional validation for the presence of fields needs to be done separately. See Also: Adding a Simple Field Adding a Complex Field Adding a Group
Adding a Group
1. In SWIFT external format UI, click the added. button to add a group. A new group is
2. The group name can be specified in the Field Name column. In System Field Info panel you can specify the min/max occurs for a group.
Groups can be nested within another group. Note: Choice is not supported in case of groups. The groups added are treated as sequence. So while adding an OR group, make sure that it is added as an
optional group. Validations to check the presence of the groups need to be done separately. See Also: Deleting a Field/Group Adding a Simple Field Adding a Complex Field Fields Separated by OR/AND
Deleting a Field/Group
1. Select the field/group to be deleted and click removed. Note Sub-fields cannot be deleted separately. See Also: Adding a Group Adding a System Field button. The field/group will be
See Also: Specifying Validations for a Field Specifying Validations for a Sub-field Adding a System Field Adding a Group
The allowed values for the field are S, U and N. This has been specified using the Validation tag under Validations tag. Any formula that can be used in Designer can be specified in the formula tag. Error code and action message can also be specified. The error code and action message specified will be set in the exception that occurs when the validation specified fails. The Validations tag is optional. Use it only if any additional validation needs to be done. Note: The field value can be accessed only using the $value literal. See Also: Specifying Validations for a Sub-field
<Format>(6!n)(4!a2!a2!c1!c)(3!c)(4!n)(6!n)</Format> <Specification>(date)(lt-identifier)(branch-code)(session- number)(isn) </Specification> <Description>MIR containing: a) b) c) d) </Description> <Validations> <Validation> <subfield>date</subfield> <formula>IsDate($value,"yyMMdd")</formula> <error-code>V04</error-code> <actionmessage>"Invalid Input Date '" + $value + "'"</actionmessage> </Validation> </Validations> </SwiftSystemFieldDef> Input date Input LT including branch code Session number ISN
While specifying validations for sub-field, in the Validation tag, tag subfield must be added. The value of this tag should be the name of the sub-field for which validation needs to be applied. Note: The field value can be accessed only using the $value literal. If the name of a sub-field is changed and validation has been specified for it, the subfield tag needs to be updated correspondingly. See Also: Specifying Validations for a Field
Expanding Fields
Select the Expand menu item. Select All sub menu item. All fields including sequences, fields and qualifiers will be expanded. Select Sequences sub menu item. Only sequences will be expanded. Fields within sequences will not be expanded. Select Fields sub menu item. Fields within sequences will be expanded. The qualifiers within fields will not be expanded. If the sequences themselves are collapsed and Fields are expanded you will not be able to view them. You have to expand the sequences first and then expand fields. Select Qualifiers sub menu item. The qualifiers present within fields will be expanded. The fields and sequences themselves should be expanded for the expanded qualifiers to be viewed.
Collapsing Fields
Select the Collapse menu item Select All sub menu item. All sequences/fields/qualifiers will be collapsed. Select Sequences sub menu item. All expanded sequences will be collapsed. However fields/qualifiers within sequences will not be collapsed. Select Fields sub menu item. All expanded fields will be collapsed. Select Qualifiers sub menu item. All expanded qualifiers will be collapsed.
See Also: SWIFT External Format UI Exporting a SWIFT Message Format to Library
2. The Export to Library dialog appears. Enter the Name, Version, Detailed Name, Category and Description of the format. The category entered can be an existing one, or a new category. From the Versions drop down select the version for the message format. Click OK.
3. The SWIFT message format is saved as XML file in the location <installation dir>\config\swift\format in the given Format Name. 4. SWIFT Formats saved this way are available for creating formats in future. Refer Creating a SWIFT Format based on an existing SWIFT message format. See Also: Creating a SWIFT Format from an empty message format Exporting a SWIFT Message Format Importing a SWIFT Message Format Sample Exported HTML File
1. To save a SWIFT format, select the SWIFT format node in the Explorer and choose the context menu Export.
2. In the Export dialog that appears, select the location to save the exported file. Select the file type in the Files of type combo and enter a name to save the file in the File name text field. Click Save button. 3. Note: You also have the option of exporting the file (in any format you have chosen) to the Clipboard by clicking the Export to Clipboard button in the dialog. If you want to simultaneously open the exported file, you can select the Open Exported File checkbox.
4. The SWIFT format is saved in the location with the file name mentioned.
See Also: Sample Exported HTML File Importing a SWIFT Message Format
2. In the Import dialog that appears, select the XML or TPLUS file to be imported. Click Open button.
The message format in the file is imported. See Also: Exporting a SWIFT Message Format
MT543In SCOPE
This message is sent by an account owner to an account servicer (account servicing institution). The account owner may be a global custodian, which has an account with its local agent (sub custodian) or an investment management institution or a broker/dealer, which has an account with their custodian. This message is used to: 1. instruct the delivery of financial instruments against payment, physically or by book entry, to a specified party (the function of the message is NEWM) 2. request the cancellation of a deliver against payment instruction previously sent by the account owner (the function of the message is CANC) 3. pre-advise the account servicer of a forthcoming deliver against payment instruction (the function of the message is PREA). The instruction may be linked to other settlement instructions, eg, for a turnaround or back-to-back, or other transactions, eg, foreign exchange deal, using the linkages sequence. MT543In Format Specifications Generic Field Detailed Name Field Name Content/Optio ns
Status
Tag
Qualifier
No
Status M
Tag
Qualifier
Content/Optio ns :4!c//16x
No 2
20C SEME
23G
98a
-----| ----->Repetitive Optional Sequence A1 Linkages M 16R Start of Block LINK 22F Indicator Linkage Type Indicator Linked Transaction LINK 6
:4!c/[8c]/4!c
O 13A M 20C
LINK
:4!c//3!c
4!c
10
11
Status
Tag
Qualifier
Content/Optio ns
No
End Of Sequence A General Information Mandatory Sequence B Trade Details . .. Field Specifications Field 16R: Start of Block FORMAT Option R PRESENCE Mandatory Field 20C: Reference: Sender's Reference FORMAT Option C (Qualifier) (Reference) PRESENCE Mandatory QUALIFIER Order 1 M/O M Qualifier SEME R/N N CR Options C Qualifier Description Sender's Reference
16c
:4!c//16x
4!c[/4!c]
(Function)
Mandatory
Field 98a: Date/Time: Preparation Date/Time FORMAT Option A Option C PRESENCE Optional QUALIFIER Order 1 M/O O Qualifier PREP R/N N CR Options A,C Qualifier Description Preparation Date/Time
:4!c//8!n :4!c//8!n6!n