SWIFT メッセージのブロック構造

コネクターは、SWIFT Financial Application (FIN) メッセージをサポートしています。これらの構造は次のとおりです。

{1: Basic Header Block} {2: Application Header Block} {3: User Header Block} {4: Text Block or body} {5: Trailer Block}

これら 5 つの SWIFT メッセージ・ブロックには、ヘッダー情報、メッセージの本文、およびトレーラーが含まれています。どのブロックも基本フォーマットは同じです。

{n:...}

中括弧 ({}) はブロックの開始と終了を示します。n はブロック ID です。この場合は、1 から 5 までの 単一の整数です。各ブロック ID は、メッセージの特定の部分と関連付けられています。ブロック間に復帰文字や改行文字 (CRLF) はありません。

ブロック 3、4、および 5 には、フィールド・タグで区切られたサブブロックまたはフィールドが含まれる場合があります。ブロック 3 はオプションです。ただし、多くのアプリケーションは、SWIFT が確認通知を戻したときに調整に使用できるよう、ブロック 3 に参照番号を組み込んでいます。

注:
SWIFT メッセージ・ブロックの詳細については、「SWIFT User Handbook FIN System Messages Document」の第 2 章を参照してください。

{1: Basic Header Block}

基本ヘッダー・ブロックは固定長であり、フィールド区切り文字なしで連続します。これは、次のような形式になります。

{1:    F    01   BANKBEBB   2222   123456}
 (a)   (b)  (c)     (d)      (e)      (f)
 

a)
1: = ブロック ID (常に 1)

b)
アプリケーション ID は以下のとおりです。

c)
サービス ID は以下のとおりです。

d)
BANKBEBB = 論理端末 (LT) アドレス。これは 12 文字に固定されており、位置 9 に X を指定することはできません。

e)
2222 = セッション番号。これはユーザーのコンピューターによって生成され、ゼロが埋め込まれます。

f)
123456= ユーザーのコンピューターによって生成されるシーケンス番号。これには、ゼロが埋め込まれます。

{2: Application Header Block}

アプリケーション・ヘッダーには、入力と出力の 2 つのタイプがあります。どちらも固定長であり、フィールド区切り文字なしで連続します。

入力 (SWIFT への) 構造は次のとおりです。

{2:    I     100    BANKDEFFXXXX    U       3       003}
 (a)   (b)    (c)      (d)          (e)     (f)      (g)
 

a)
2: = ブロック ID (常に 2)

b)
I = 入力

c)
100 = メッセージ・タイプ

d)
BANKDEFFXXXX = 位置 9 に X を持つ受信側のアドレス。枝が必要ない場合は、X が埋め込まれます。

e)
U = 次のようなメッセージ優先順位

f)
3 = デリバリー・モニター・フィールドは次のとおりです。

g)
003 = 陳腐化期間。これは、次のように、ノンデリバリー通知をいつ生成するかを指定します。

出力 (SWIFT からの) 構造は次のとおりです。

{2:   O      100   1200   970103BANKBEBBAXXX2222123456   970103  1201   N}
 (a)  (b)      (c)   (d)           (e)                      (f)    (g)   (h)
 

a)
2: = ブロック ID (常に 2)

b)
O = 出力

c)
100 = メッセージ・タイプ

d)
1200 = 送信側の入力時間

e)
入力日付や送信側のアドレスを含む Message Input Reference (MIR)

f)
970103 = 受信側の出力日付

g)
1201 = 受信側の出力時間

h)
N = 次のようなメッセージ優先順位

{3: User Header Block}

これはオプションのブロックであり、構造は次のとおりです。

{3:  {113:xxxx}  {108:abcdefgh12345678}     }
 (a)      (b)             (c)
 

a)
3: = ブロック ID (常に 3)

b)
113:xxxx = オプションの銀行用優先順位コード

c)
これは、アクセス・ポイントが ACK の調整に使用する Message User Reference (MUR) です。
注:
このブロックには、その他のタグもあります。これには、ISITC (Industry Standardization for Institutional Trade Communication) によって定められた、メッセージの本文を検証するための追加のコード・ワードとフォーマット規則を必要とするタグ (119 など。これには、MT521 にコード ISITC が含まれている 場合もあります) も含まれます。詳細については、「All Things SWIFT: the SWIFT User Handbook」を参照してください。

{4: Text Block or body}

このブロックでは実際のメッセージ内容が指定されます。このブロックは、ほとんどのユーザーに示されます。通常、その他のブロックは表示前に除去されます。次のように、フォーマットは可変長で、フィールド区切り文字として CRLF を必要とします。

{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
 -}
 

ブロック 4 では、記号 CRLF は必須の区切り文字です。

上記の例は、必須フィールドだけが入力されたタイプ MT100 (Customer Transfer) です。これは、ISO7775 メッセージ構造のフォーマットの例です。ブロック 4 フィールドは、「SWIFT User Handbook」の該当するボリュームでメッセージ・タイプに対して指定された順序である必要があります。

注:
ISO7775 メッセージ規格は、新しいデータ・ディクショナリー規格 ISO15022 に徐々に置き換えられています。特に、新しいメッセージ規格では、SWIFT メッセージ構造のブロック 4 で汎用フィールドが可能になっています。詳細については、SWIFT フィールド構造を参照してください。

テキスト・ブロック化の内容は、フィールドの集合です。SWIFT フィールドの詳細については、SWIFT フィールド構造を参照してください。フィールドが論理的にシーケンスにグループ化される場合もあります。シーケンスは、必須またはオプションであり、繰り返しが可能です。シーケンスをサブシーケンスに分割することもできます。さらに、単一のフィールドおよび連続するフィールドのグループを繰り返すこともできます。例えば、SWIFT Tag 16R および 16S 内のシーケンスなどは、開始フィールドと終了フィールドを持つ場合があります。Tag 15 など、その他のシーケンスは、開始フィールドだけを持ちます。さらにその他のメッセージ・タイプでは、フィールド・シーケンスの開始や終了を示す特定のタグはありません。

ブロック 4 フィールドのタグのフォーマットは次のとおりです。

:nna:

nn = 番号

a = オプションの文字 (選択されたタグで表示される場合があります)

例えば、次のようになります。

:20: = トランザクション参照番号

:58A: = 受益者の銀行

フィールドの長さは次のとおりです。

nn = 最大長

nn! = 固定長

nn-nn = 最小長と最大長

nn * nn = 最大行数と行の最大長を掛けた数値

データのフォーマットは次のとおりです。

n = 桁

d = 10 進数のコンマを持つ桁

h = 大文字の 16 進数

a = 大文字

c = 大文字の英数字

e = スペース

x = SWIFT 文字セット

y = 大文字レベル A ISO 9735 文字

z = SWIFT 拡張文字セット

オプションとして定義されているフィールドもあります。メッセージでフィールドをブランクにすることはできないので、特定のメッセージでオプションのフィールドが必要ない場合は、それらを組み込まないでください。

/,word = 「そのままの」文字

[...] = 大括弧はオプションのエレメントを示します。

例えば、次のようになります。

4!c[/30x]
これは、固定された 4 つの大文字の英数字であり、オプションでスラッシュと最大 30 の SWIFT 文字が続きます。

ISIN1!e12!c
これは、コード・ワードであり、スペースと 12 の固定された大文字の英数字が後に続きます。

注:
メッセージ・タイプによっては、特定のフィールドが条件付きとして定義されています。例えば、特定のフィールドが存在する場合に、別のフィールドがオプションから必須または禁止に変わることがあります。特定のフィールドにサブフィールドが含まれている場合もあります。その場合、サブフィールド間に CRLF はありません。検証はサポートされていません。

選択されたオプションに応じて異なるフォーマットを持つフィールドもあります。オプションは、次のように、タグ番号の後の文字によって指定されます。

:32A:000718GBP1000000,00
バリュー・デート、ISO 通貨、および数量

:32B:GBP1000000,00
ISO 通貨および数量

注:
数量のフォーマットに関する SWIFT 規格は、次のとおりです。3 桁ごとの区切りは使用できません (10,000 は使用できませんが、10000 は使用できます)。小数点には実際の小数点ではなくコンマを使用します (1000,45 = 千と百分の四十五)。

:58A:NWBKGB2L
受益者の SWIFT アドレス

:58D:NatWest Bank
受益者の氏名と住所

Head Office
  
 London
 

{5: Trailer Block}

メッセージは常に次の形式のトレーラーで終了します。

{5: {MAC:12345678}{CHK:123456789ABC}

このブロックは SWIFT システムで使用するためのものであり、次のようなキーワードで示されるいくつかのフィールドを含みます。

MAC
宛先との間で交換されるキーと秘密のアルゴリズムを使用して、メッセージの内容全体に基づいて計算されるメッセージ確認コード。メッセージ・カテゴリー 1、2、4、5、7、8、ほとんどの 6s および 304 で 検出されます。

CHK
すべてのメッセージ・タイプに対して計算されるチェックサム。

PDE
同じメッセージが以前に送信されたとユーザーが考えた場合に追加される重複送信の可能性。

DLM
緊急メッセージ (U) が 15 分以内に配信されなかった場合や、標準メッセージ (N) が 100 分以内にデリバリーされなかった場合に SWIFT によって 追加されます。

Copyright IBM Corp. 2004