The connector supports SWIFT Financial Application (FIN) messages. They have the following structure:
{1: Basic Header Block} {2: Application Header Block} {3: User Header Block} {4: Text Block or body} {5: Trailer Block}
These five SWIFT message blocks include header information, the body of the message, and a trailer. All blocks have the same basic format:
{n:...}
The curly braces ({}) indicate the beginning and end of a block. n is the block identifier, in this case a single integer between 1 and 5. Each block identifier is associated with a particular part of the message. There is no carriage return or line feed (CRLF) between blocks.
Blocks 3, 4, and 5 may contain sub-blocks or fields delimited by field tags. Block 3 is optional. Many applications, however, populate block 3 with a reference number so that when SWIFT returns the acknowledgement, it can be used for reconciliation purposes.
The basic header block is fixed-length and continuous with no field delimiters. It has the following format:
{1: F 01 BANKBEBB 2222 123456} (a) (b) (c) (d) (e) (f)
There are two types of application headers: Input and Output. Both are fixed-length and continuous with no field delimiters.
The input (to SWIFT) structure is as follows:
{2: I 100 BANKDEFFXXXX U 3 003} (a) (b) (c) (d) (e) (f) (g)
The output (from SWIFT) structure is as follows:
{2: O 100 1200 970103BANKBEBBAXXX2222123456 970103 1201 N} (a) (b) (c) (d) (e) (f) (g) (h)
This is an optional block and has the following structure:
{3: {113:xxxx} {108:abcdefgh12345678} } (a) (b) ( c)
This block is where the actual message content is specified and is what most users see. Generally the other blocks are stripped off before presentation. The format, which is variable length and requires use of CRLF as a field delimiter, is as follows:
{4:CRLF :20:PAYREFTB54302 CRLF :32A:970103BEF1000000,CRLF :50:CUSTOMER NAME CRLF AND ADDRESS CRLF :59:/123-456-789 CRLF BENEFICIARY NAME CRLF AND ADDRESS CRLF -}
The symbol CRLF is a mandatory delimiter in block 4.
The example above is of type MT100 (Customer Transfer) with only the mandatory fields completed. It is an example of the format of an ISO 7775 message structure. Block 4 fields must be in the order specified for the message type in the appropriate volume of the SWIFT User Handbook.
The content of the text block is a collection of fields. For more on SWIFT fields, see SWIFT field structure. Sometimes, the fields are logically grouped into sequences. Sequences can be mandatory or optional, and can repeat. Sequences also can be divided into subsequences. In addition, single fields and groups of consecutive fields can repeat. For example, sequences such as those in the SWIFT Tags 16R and 16S may have beginning and ending fields. Other sequences, such as Tag 15, have only a beginning field. In yet other message types, no specific tags mark the start or end of a field sequence.
The format of block 4 field tags is:
:nna:
nn = Numbers
a = Optional letter, which may be present on selected tags
For example:
:20: = Transaction reference number
:58A: = Beneficiary bank
The length of a field is as follows:
nn = Maximum length
nn! = Fixed-length
nn-nn = Minimum and maximum length
nn * nn = Maimum number of lines times maximum line length
The format of the data is as follows:
n = Digits
d = Digits with decimal comma
h = Uppercase hexadecimal
a = Uppercase letters
c = Uppercase alphanumeric
e = Space
x = SWIFT character set
y = Uppercase level A ISO 9735 characters
z = SWIFT extended character set
Some fields are defined as optional. If optional fields are not required in a specific message, do not include them because blank fields are not allowed in the message.
/,word = Characters "as is"
[...] = Brackets indicate an optional element
For example:
Certain fields have different formats that depend on the option that is chosen. The option is designated by a letter after the tag number, for example:
Head Office London
A message always ends in a trailer with the following format:
{5: {MAC:12345678}{CHK:123456789ABC}
This block is for SWIFT system use and contains a number of fields that are denoted by keywords such as the following: