ルーティング・ルールのデバッグ
この章では、プロダクション全体でメッセージを送信することなく、ルーティング・ルールをテストする方法について説明します。また、プロダクションで EDI メッセージについて定義されているルーティング・ルールの問題をデバッグするのに役立つフロー・ダイアグラムも用意しています。
ルーティング・ルールのテスト
ルール・エディタの [テスト] ボタンを使用すると、プロダクション全体でメッセージを送信しなくても、メッセージがいずれかのルーティング・ルールをトリガするかどうかを確認できます。このテストを実行しても、メッセージの変換や送信は行われませんが、メッセージがプロダクションで実行されたかのように条件内の関数が実行されます。
メッセージのソースに基づいたルールの制約をテストするには、[プロダクション・ソース] フィールドを使用して、メッセージを送信しているプロダクション内のビジネス・ホストを指定します。ドロップダウン・メニューを使用して、リストからビジネス・ホストを選択できます。
[コンテキス] フィールドを使用して、次の 3 つのいずれかの方法でメッセージの内容を指定できます。
-
[ユーザ入力] を指定してから [次へ] をクリックし、メッセージの未加工テキストを貼り付けます。
-
既存のメッセージのドキュメント本文 ID を指定します。メッセージ・ビューワの [本文] タブの [<オブジェクト ID>] フィールドで検索することにより、メッセージのドキュメント本文 ID を見つけることができます。
-
既存のメッセージのメッセージ・ヘッダ ID を指定します。[プロダクション・ソース] フィールドが空白の場合、メッセージ・ヘッダのソース構成名がソースとして使用されます。メッセージ・ビューワの [ヘッダ] タブの [<オブジェクト ID>] フィールドで検索することにより、メッセージのメッセージ・ヘッダ ID を見つけることができます。
メッセージの未加工のテキストによるテスト
仮想ドキュメントのメッセージ・ルーティング・ルールでは、メッセージの未加工のテキストでルールをテストできます。そのためには、以下のように操作します。
-
オプションで、[プロダクション・ソース] フィールドに、メッセージを送信しているビジネス・ホストを入力します。
-
[コンテキスト] ドロップダウン・リストから [ユーザ入力] を選択します。
-
[次へ] ボタンをクリックします。
-
[コンテンツ] テキスト・フィールドにメッセージの未加工のテキストを貼り付けます。
これは、HL7 メッセージまたは X12 メッセージのテキストです。
-
テストしたいその他の制約については、[DocType] フィールドに情報を入力するか、[カテゴリー] または [名前] ドロップダウンから選択して入力します。
-
[実行] をクリックします。
テスト結果
テスト結果により、メッセージがルールの制約を満たしたかどうか、および if 節または else 節がトリガされたかどうかがわかります。
セキュリティ要件
ユーザがルーティング・ルールをテストするには、適切なセキュリティ特権を持っている必要があります。%Ens_RuleLog と %Ens_TestingService の USE 許可が必要です。さらに、Ens_Rule.log テーブルと Ens_Rule.DebugLog テーブルに対する Select SQL 特権も必要です。
ルーティング・ルールのデバッグ方針
ここでは、EDI メッセージ・ルーティング・プロダクションのルーティング・ルールのデバッグ方針について説明します。
ルーティング・ルールで発生する大きな問題として、メッセージが宛先に届かないという症状があります。これは多くの場合、ルーティング・プロダクション内部のビジネス・オペレーションやルーティング・プロセスなど、途中のポイントにはメッセージが到達しているものの、InterSystems IRIS® 外部のアプリケーション・サーバに存在することが普通のターゲットの宛先に届かない現象です。この場合は、次の “ルーティング・ルールに関する問題の解決” の図 A、図 B、図 C、および図 D に示す問題解決シーケンスに従うことができます。