ビジネス・オブジェクトへの SWIFT メッセージの変換

すべての SWIFT メッセージと、SWIFT フォーマットおよび構文との整合性が、SWIFT データ・ハンドラーによる処理の前に SWIFT によって検証されます。SWIFT データ・ハンドラーは、ビジネス・オブジェクトの構造と整合性だけを検証します。

SWIFT データ・ハンドラーは、次のように SWIFT メッセージからデータを抽出し、ビジネス・オブジェクト内の対応する属性を設定します。

  1. SWIFT パーサーが呼び出され、最初の 4 ブロック (UUID およびブロック 1 から 3) が 抽出されます。ブロック 2 の SWIFT アプリケーション・ヘッダーでは、入力属性だけが抽出されます。
  2. SWIFT データ・ハンドラーが呼び出され、SWIFT メッセージのブロック 2 からビジネス・オブジェクトの名前が抽出されます。
  3. SWIFT データ・ハンドラーは、トップレベル・オブジェクトのインスタンスを作成します。
  4. データ・ハンドラーは、アプリケーション固有の情報パラメーターに基づいて、SWIFT メッセージ・ブロックを処理します。ブロックは、4 つの異なる方法のいずれかで解析されます。
  5. ブロック 4 のデータ (parse=field;) の場合、データ・ハンドラーは、パーサーから Tag ビジネス・オブジェクト属性に戻された属性フィールドを突き合わせるか、あるいはフィールドが属す Sequence ビジネス・オブジェクトを検出します。
    1. 属性のアプリケーション固有情報が NULL である場合、子ビジネス・オブジェクトはシーケンスです。データ・ハンドラーは、最初に必要な子ビジネス・オブジェクトの属性がフィールドと一致するかどうかを調べます。
      • 一致する場合、データ・ハンドラーは属性に複数のカーディナリティーを割り当て、子ビジネス・オブジェクト用のシーケンスにデータを取り込みます。
      • 一致しない場合、データ・ハンドラーは、親ビジネス・オブジェクトの次の属性にスキップします。
    2. アプリケーション固有の情報が NULL ではない場合、その子は Tag ビジネス・オブジェクトです。アプリケーション固有の情報に一致する場合、フィールドは、複数のカーディナリティーで処理され、抽出されます。この場合、データ・ハンドラーは Tag ビジネス・オブジェクトの文字属性およびデータ属性を設定します。
  6. 非 NULL フィールドが戻された場合、そのフィールドはログに書き込まれ、例外がスローされます。
  7. データ・ハンドラーは SWIFT メッセージのブロック 5 を解析します。このブロックのアプリケーション固有情報は常に block=5; parse=no であり、タイプは String です。ブロック 5 は単一のストリングとして扱われます。

Copyright IBM Corp. 2004