SWIFT Adapter User’s Guide Version 3.
SWIFT .......................................................................................................... 4 TERMINOLOGY ............................................................................................. 5 SWIFT CONFIGURATION .............................................................................. 6 SWIFT MESSAGE LIBRARY.......................................................................................................................... 6 CUSTOM SWIFT MESSAGES ....................
Adding Currency Code Validation ....................................................................................................... 69 Adding Country Code Validation ......................................................................................................... 69 Adding Time Offset Validation ............................................................................................................. 70 Adding BIC validation.....................................................................
SWIFT S.W.I.F.T. SCRL is the abbreviation for Society for Worldwide Interbank Financial Telecommunication, Societé Coopérative à Responsibilité Limitée. SWIFT’s 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.
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.
SWIFT Configuration SWIFT field dictionary and message library are stored under \config\swift folder. This folder contains the following files and folders. QualifierList.csv List SWIFT qualifiers with description. SwiftField.xml Field dictionary for ISO15022 & ISO7754 user messages SwiftSystemField.xml format Field dictionary for system and service messages Directory contains all SWIFT messages.
Custom SWIFT messages Depending on your requirement you may have to customize the SWIFT messages or make minor modifications to it. One such case is GSCC SWIFT messages. If these customized messages are used often or across the enterprise, you may want to make use of the SWIFT message library feature to store the customized SWIFT messages. 1. Since the customized messages are not the same as the original SRG messages choose a different version name for them.
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.
This detail is generally not important; but if you are manually editing the version (in say messages you already have) in XML’s 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.
Creating a SWIFT Format Based on an Existing SWIFT Message Format 1. Right-click the Cartridge node in the Designer. Select the New External Message menu item from the context menu to create a SWIFT external format. 2. In the New External Message dialog that appears enter the Transformation Name and select SWIFT from the External Message listbox . Click OK. 3. In the New Swift Message Format dialog that appears, select an existing format based on which the new format is to be created.
4.
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.
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.
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.
Creating a SWIFT Format from an empty message format 1. Right-click the Cartridge node in Designer and select the New External Message menu item from the context menu to create a SWIFT external format. 2. In the New External Message dialog that appears, enter the Transformation Name and select SWIFT from the External Message listbox. Click OK. 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.
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 Entering the SWIFT Specification A SWIFT message is composed of sequences and fields. A sequence is a group of related information made up of one or more fields and/or sub-sequences. A field may be either generic or non-generic. The user can construct a SWIFT message in the External Format UI by adding sequences/fields and specifying properties for them.
Removing validations from a sub field 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 format’s specification. An example of each of the three cases is as follows.
-----| 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 Sequence With Start and End Delimiters Consider the message MT543. An extract of the format is given below.
-----| End of Subsequence A1 Linkages M 16S End of Block GENL Start of Block TRADDET Place of Trade :4!c/[8c]/4!c[/30x] End of Sequence A General Information Mandatory Sequence B Trade Details M 16R O 94B TRAD Place -----> …… …… …… 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.
Statu Tag Field Name s Content/Options O 16x 21 Related Reference …… …… …… Mandatory Sequence B Transaction Details M 15B New Sequence (CrLf) M 30T Trade Date 8!n M 30V Value Date 8!n M 36 Exchange Rate 12d …… …… …… Optional Sequence C Optional General Information M 15C New Sequence (CrLf) O 29A Contact Information 4*35x …… …… ….. 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.
Adding a SWIFT Sequence 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. Three types of SWIFT sequences can be added.
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 Adding a SWIFT Sequence with Start and End Delimiters 1. Click the Add New Sequence - SWIFT UI. button in the toolbar of the External Format 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.
See Also: Sequence With Start and End Delimiters Adding a SWIFT Sequence without Delimiters Adding a SWIFT Sequence with Start Delimiter Adding a SWIFT Sequence with Start Delimiter 1. Click the Add New Sequence button - SWIFT UI. in the toolbar of the External Format 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.
Non Generic Field- Unlike a generic field, is used for one purpose only. 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 Adding a New Generic Field Generic fields are used to describe the groups of business data that are common throughout the messages.
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.
See Also: Adding a Non-Generic Field Adding Field Options 1. Click the Add New Options button dialog. in the Create Field or Modify Field 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.
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. See Also: Adding a New Generic Field Entering an Option Format 1. The following table shows how to specify the length of a field and the characters allowed while specifying the format for a field.
maximum length c h Nn! nn*nn Fixed length Alphabetic letters (upper case) and digits only Hexadecimal letters A through F (upper case) and digits only x Any character of the permitted character set upper and lower case y Any character of the EDIFACT level A character set as defined in ISO 9735 upper case only z Any character as defined by the Information Service Maximum number of e lines times maximum line length d Blank space Decimal format Examples 2n = up to 2 digits 3!a = always 3 lett
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.
Specification (Sub-Field1) (Sub-Field2) (Sub-Field2) 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.
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 Adding Qualifiers and Associating them with Options 1. Click the Add New Qualifier button in the Create Field dialog. 2. A new row is added to the qualifiers table.
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.
Specifying OR Option for a Qualifier The OR option, allows grouping of qualifiers. This is useful when one of the many possible qualifiers can appear for a field option as per the specification. For example, field 95a allows one among a group of qualifiers BUYR, DEAG, DECU, etc. Follow the steps given below to specify the OR option, 1. Add a qualifier to the table as mentioned in the above section. Select one of the allowed qualifiers (in the OR group) from the drop-down list. Say, BUYR in our example.
Adding a Non-Generic Field A Non-Generic field, unlike a generic field, is a discrete data item used for one purpose only. To add a non-generic field to a message format, follow the steps given below. 1. Click the Add New SWIFT Field button in the toolbar of the External Format - SWIFT UI. The Create Field dialog appears. 2. Enter the field tag in the Tag text field and press Enter. The toolbar buttons for the options table are now enabled. 3.
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.
Specifying Field Definition and Usage A field’s definition and usage can be specified by clicking the button in the Create Field or Modify Field dialog. For example field definition and usage of field ‘23G’ in MT519 can be specified as shown below. See Also: Adding a new Generic Field Adding a Non-Generic Field Mapping Formats with Specification (Sub-fields) There should be a one-to-one correspondence between the format and the specification mentioned for a field.
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. 4.
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. 7. The mapping is now correct. Click OK.
8. The format of option P in options table now looks like 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.
13. The format now looks correct as below. Click OK. 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.
changing the format, the corresponding specification should also be changed to reflect the format as shown in the following cases. Conventions A, B refer to independent sub-fields. (e.g.) in the format ([ISIN1!e12!c])CRLF[4*35x] A is [ISIN1!e12!c] and B is [4*35x] A1, A2 refer to parts of a sub-field. (e.g.) if A is [/1!a][/34x] then A1 is [/1!a] and A2 is [/34x] SEP means SEPERATOR. Format Pattern Representation in Designer [A] SEP [B] A [SEP B] | B This format implies that, 1.
Field 35B Format ([ISIN1!e12!c])CRLF[4*35x] Specification (Identification Of Security)(Description Of Security) Format in Designer (ISIN1!e12!c)([CRLF4*35x]) | 4*35x Specification in Designer (Identification Of Security)(Description Of Security) | (Description Of Security) Note that the field specification is also changed to match the format.
Example Field 82a – OPTION A Format [/1!a][/34x]CRLF4!a2!a2!c[3!c] Specification (Party Identifier)(BIC) Format in Designer Specification in Designer [/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
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.
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.
Adding Copy of Fields In some SWIFT messages a set of fields need to be treated as single entity. For e.g. in common group messages (MTnxx), a copy of the fields that occurred in the original message may occur at the end. The entire set should be treated as a single field. To support this we need to add a separate field ‘Copy of Fields’. 1. To add ‘Copy of Fields’ select the button in the toolbar. 2. The dialog shown below will be displayed. 3. Specify the properties for ‘Copy of Fields’ in the dialog.
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.
Updating a SWIFT Field 1. Select the field to be modified in the External Format - SWIFT UI and click the Modify SWIFT Field button in the toolbar. 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.
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.
Customize Field Consider the message format MT101. Status Tag Field Name Content/Options No. Mandatory Sequence A General Information M 20 Sender's Reference 16x 1 O 21R Customer Specified Reference 16x 2 M 28D Message Index/Total 5n/5n 3 O 50a Instructing Party C or L 4 O 50a Ordering Customer G or H 5 O 52a Account Servicing Institution A or C 6 ……. ……. ……. Note that the field 50a appears twice consequently.
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 Removing a SWIFT Field 1. Select the fields to be removed in the External Format - SWIFT UI and click the Remove Selected Fields button in the toolbar. The fields are removed from the format. 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 Adding validations for a sub-field While adding a swift field you can also add validations for the sub-fields of the swift field. The validation types that are currently supported are CODE Time Offset BIC C05 DATE T14 Decimal T26 Currency Code Country Code and Party Identification 1. Select a swift sub field in Swift External Format UI.
2. The Swift Field Validations dialog will be displayed. 3. In the top tool bar select the button to add a new validation. 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. You can click the ‘ ’, ‘ ’ to move validation(s) up/down.
Specifying Error Code Specify the error code in the ‘Error Code’ column. Specifying Field Options In the field options list only those options that are applicable to the selected sub field will be displayed. By default all the displayed options will be selected when you add a validation. You can deselect among the option(s) that are not applicable for the validation. Please note that at least one field option 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. See Also: Adding validations for a sub-field Adding Code validation Adding Code validation Code validation is applicable in cases where a field’s value should be one of a set of predefined values. The predefined values can be specified as codes. 1. Add a new validation. 2. Select ‘Type’ as ‘CODE’ in the ‘Type’ column. 3.
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.
Adding T26 Validation T26 validation is applicable in cases where a field’s value should not start or end with a slash ‘/’ and not contain two consecutive slashes ‘//’. 1. Add a new validation. 2. Select ‘Type’ as ‘T26’ in the ‘Type’ column. 3. The error code will be automatically set as ‘T26’. You need not change it. 4. Specify the qualifiers, field options, null field and comment properties as specified earlier. 5. The description and usage for this validation type will be displayed at the bottom.
In MT514 sub-field ‘Rate’ in field 92A has a validation that when Sign is present, Rate must not be zero. For this field, T14 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 Adding Date Validation Date validations are applicable for Date/Time fields, whose value should be expressed, in a particular format (e.g. YYYYMMDD). 1. Add a new validation. 2.
Adding Currency Code Validation This validation is to verify that the currency code specified for a field is a valid ISO 4217 currency code. 1. Add a new validation. 2. Select ‘Type’ as ‘Currency Code’ in the ‘Type’ column. 3. The error code will be automatically set as ‘T52’. You need not change it. 4. Specify the qualifiers, field options, null field and comment properties as specified earlier. 5. 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 Adding Time Offset Validation Time Offset validations are applicable for Time fields, whose value should be expressed, in a particular format HHMM and whose value should be within a particular range. 1. Add a new validation. 2. Select ‘Type’ as ‘Time Offset’ in the ‘Type’ column. 3. The error code will be automatically set as ‘T16’. You need not change it. 4.
3. The error codes will be automatically set as ‘T27, T28, T29, T45’. You need not change it. 4. Specify the qualifiers, field options, null field and comment properties as specified earlier. The description and usage for this validation type will be displayed at the bottom.
Adding C05 validation This validation is to verify that the BIC specified for a field is not a BEI, ie must not be of subtype BEID, MCCO, TESP or TRCO 1. Add a new validation. 2. Select ‘Type’ as ‘C05’ in the ‘Type’ column. 3. The error code will be automatically set as ‘C05’. You need not change it. 4. Specify the qualifiers, field options, null field and comment properties as specified earlier. The description and usage for this validation type will be displayed at the bottom.
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.
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 ‘ ’ and ‘ ’ buttons to move code(s) up/down. See Also: Specifying properties common for all validations Adding validations for a sub-field Removing validations from a sub field Removing Validations from a Sub Field 1. Select the swift sub field and click the Validations button. 2.
See Also: SWIFT External Format UI Creating a SWIFT Format Entering the SWIFT Specification
SWIFT External Format UI The External Format – SWIFT UI has 3 tabs – Header, Data and Trailer to represent the header block, text block and trailer block of the SWIFT message. The header and trailer types have to be specified while creating the external format. The header/trailer fields cannot be modified or removed.
SWIFT Input Header/Trailer When you choose this option, the Header and Trailer panel has the following fields for a SWIFT external message format.
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 it’s 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) SWIFT Output Header/Trailer When you choose this option, the Header and Trailer panel has similar fields as that of a SWIFT Input Header/Trailer except for the Application Header block in Header section which has different set of fields as shown below.
Swift User Message (Data) SWIFT Input/Output Header/Trailer When you choose this option, the Header and Trailer panel has similar fields as that of a SWIFT Input Header/Trailer except for the Application Header block in Header section which is divided as Application Header Input and Application Header Output as shown below.
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 it’s 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) Swift Format Options You can change the Header/Trailer chosen during SWIFT Input/Output message creation by using this feature.
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’.
Swift User Message (Data) The External Format - SWIFT User message (Data) UI looks as below. The message format is shown in the table at the top, and a panel at the bottom shows the properties of the row selected in the table. The properties panel dynamically changes as the row selected in the table changes. 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.
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 Field Info (Generic) SWIFT Field Qualifier Info SWIFT Field Info (Non-Generic) SWIFT Sub Field Info Adding a SWIFT Sequence SWIFT Field Info (Generic) When a generic field is selected in the External Format - SWIFT UI, the bottom panel shows the properties of the field as below. The check boxes Repeating and Optional show the field properties.
SWIFT Field Qualifier Info When a qualifier of a generic field is selected in the External Format - SWIFT UI, the bottom panel shows the properties of the qualifier. 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.
SWIFT Field Info (Non-Generic) When a non-generic field is selected in the External Format - SWIFT UI, the bottom panel shows the properties of the field as shown below. 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.
SWIFT Sub Field Info For a sub-field of a field (generic or non-generic) selected in the External Format SWIFT UI, the bottom panel looks as shown below.
Sub-field Info (Non-Generic Field) The SWIFT Sub Field Info panel shows the sub-field’s 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.
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 Creating a SWIFT System/Service Format Based on an Existing SWIFT Message Format 1. Right-click the Cartridge node in the Designer. Select the New External Message menu item from the context menu to create a SWIFT external format 2.
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. 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.
See Also: Creating an empty Service/System message format Adding a System Field Adding a Group Adding a System Field A system field can be either A simple field. A field that does not have any sub-fields. For e.g. field ‘swiftaddress’ (tag 102). The format of the field is ‘4!a2!a2!c1!c3!c’. A complex field. A field that consists of several sub-fields. For e.g. field ‘mir’ (tag 106) has the following format ‘(6!n)(4!a2!a2!c1!c)(3!c)(4!n)(6!n)’.
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 Adding a Complex Field A complex field consists of several sub-fields. For e.g. field ‘mir’ (tag 106) has the following format ‘(6!n)(4!a2!a2!c1!c)(3!c)(4!n)(6!n)’ with the specification (date)(ltidentifier)(branch-code)(session-number)(isn). To add this field the following steps need to be done. 1.
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 Fields Separated by OR/AND In the specification for ‘System’ messages you occasionally see fields/groups separated by ‘OR’ or ‘AND’.
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.
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. ’ button.
Adding a System Field Adding a Group Specifying Validations for a Field In case where validation needs to be done for the value of a field, it can be specified along with the field definition. The entry for field ‘msg-priority’ (tag 104) is shown below.
In some cases validation may need to be specified for a ‘sub-field’ of a field. For e.g. for field ‘mir’ (tag 106) validation needs to be done for sub-field ‘date’.
Right click the SWIFT External Format UI table and select ‘Expand’ menu item. You can select ‘Expand/Collapse’ menu items to expand/collapse SWIFT fields. 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.
Select ‘Qualifiers’ sub menu item. All expanded qualifiers will be collapsed. See Also: SWIFT External Format UI Exporting a SWIFT Message Format to Library Exporting a SWIFT Message Format to Library A SWIFT message format once fully entered in Designer can be saved so that it is available for creating other formats depending on it. 1. To Export a SWIFT format to library, right-click the SWIFT format node in the Explorer and choose the context menu Export to Library. 2.
3. The SWIFT message format is saved as XML file in the location \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.
SWIFT message format can also be saved using the usual export method, allowing to save the format in XML, HTML and TPLUS formats. 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.
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 Importing a SWIFT Message Format SWIFT message format saved using the export method, can be imported. This is supported in XML and TPLUS formats. 1. To import a SWIFT format, right-click the SWIFT format node in the Explorer and choose the context menu Import…. 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 Sample Exported HTML File A sample of the SWIFT message format exported in HTML: 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.
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.
Status Tag O Generic Field Detailed Name Field Name Content/Optio ns LINK Number Identification Linked Transaction :4!c//3!c 4!c Reference (See :4!c//16x Qualifier Description) 9 End of Block LINK 10 End of Block GENL 11 Qualifier 13A M 20C M No 8 16S -----| End Of Sequence A1 Linkages M 16S End Of Sequence A General Information Mandatory Sequence B Trade Details …. …..
Mandatory QUALIFIER Order M/O Qualifier R/N 1 M SEME N CR Options Qualifier Description C Sender's Reference Field 23G: Function of the Message FORMAT Option G (Subfunction) 4!c[/4!c] (Function) PRESENCE Mandatory Field 98a: Date/Time: Preparation Date/Time FORMAT Option A :4!c//8!n (Qualifier)(Date) Option C :4!c//8!n6!n (Qualifier) (Date) (Time) PRESENCE Optional QUALIFIER Order M/O Qualifier R/N 1 O PREP N See Also: Exporting a SWIFT Message Format CR Options Qualifier D