エンタープライズ管理 > Windchill ESI の実装 > Oracle Applications 環境での Windchill ESI の実装 > Windchill ESI アーキテクチャについて > メッセージログ作成、エラー処理、応答メッセージ > エラー処理と通知
  
エラー処理と通知
Windchill ESI システムのエラーは、クローズループ方式で処理されます。これは、エラーごとにある方法で記録され処理されることを意味します。Windchill PDMLink ユーザーには能動的に通知が行われるので、ユーザーはエラーを見て各エラーの原因を修正し、処理を進めるためにトランザクションを再サブミットできます。
エラー処理プロセスの概要
Windchill ESI ビジネスロジックには、カスタムのエラー処理プロセスが含まれています。このプロセスは、TIBCO BusinessWorks アプリケーションでエラーが検出された後にインラインで呼び出されます。プロセスが開始されると、エラーのタイプが評価され、以下の操作の検討を含め、エラーの処理に必要な操作が決定されます。
Windchill PDMLink へのサブトランザクション PostResult メッセージの送信
Windchill PDMLink への PostResult メッセージ全体の送信
プロセスを停止するか、またはエラーが発生したポイントから継続するかどうか
ログ作成フラグでは、エラーをログに記録するかどうかを指定します。エラーの重大度は、エラー処理コードによって決まります。エラーコードが重大度 0 (致命的) の場合、すべての処理が停止されます。重大度 0 のエラーは必ず記録されます。エラーコードが重大度 1 (エラー) の場合、処理は続行されます。重大度 1 のエラーは、ログフラグが有効になっている場合に記録されます。
Windchill PDMLink ユーザーには積極的に通知が行われるので、ユーザーはエラーの原因を修正できます。ただし、このような通知を提供するためのデータが不十分な場合は、Windchill PDMLink と配布ターゲット間でデータが一致しない可能性が提示され、管理者への電子メールメッセージやポケットベルの呼び出しなど、より高いレベルでカスタマイズされた通知を送信できます。
エラーが処理されると、そのエラーのプロセススレッドは必然的に終了します。エラー処理プロセスでは、入力として ESIError スキーマを使用します。エラー処理サービスが呼び出された場合は、必要な情報を入力する必要があります。ESIError スキーマの詳細については、XML スキーマを参照してください。
エラーのタイプ
Windchill ESI システムの EAI コンポーネントのエラーは、以下の 3 つのタイプに分類できます。
BusinessWorks 処理エラー
EAI コンポーネント内の TIBCO BusinessWorks アプリケーションで検出されたエラーは、BusinessWorks エラー処理プロセスで処理されます。このタイプのエラーが発生した場合は、通常の処理が停止し、エラーが発生した日時、場所、エラーのタイプなどの情報とともに BusinessWorks プロセスエンジンログにログが作成されます。
機能に関する ERP エラー
ERP システムで発生したエラーは、通常のプロセス内で処理され、エラー処理プロセスに記録されたり、エラーログに書き込まれたりしません。代わりに、すべてのエラーは正常なプロセスと同様にトランザクション管理ログに記録されます。
システムエラー
エンジン、アダプタ、またはサーバーのエラーが発生した場合は、TIBCO Administrator がエラー処理プロセスにエラーメッセージを送信して、失敗したプログラムの再起動またはシステムパフォーマンス問題の管理者への警告が自動的に試みられます。
大部分のエラーは、予想された状況で発生します。このような場合、Windchill ESI ビジネスロジックは事前に決められた方法でエラーを処理します。予想されていない状況で、コードにエラーが発生する場合もあります。このタイプのエラーは、所定の方法で処理されます。どのような場合でも、Windchill ESI ビジネスロジックはエラー処理プロセスを呼び出します。エラー処理プロセスは、PostResult メッセージを Windchill に送信するかどうか、エラー処理時にログを書き込むかどうか、およびプロセスを中止するかまたはエラーが発生したポイントから続行するかどうかを決定します。
チェックポイントを使用してジョブのステータスに関する情報を保存し、エラーが発生した後でデータの重複や欠損を起こさずにそのポイントから再起動できるようにします。チェックポイントは以下の時点で使用されます。
Windchill PDMLink からのレスポンスを受信した後
EAI アプリケーションから ERP システムにパブリッシングされたオブジェクトのステータスを受信した後
チェックポイントのガイドラインの詳細については、Windchill Enterprise Systems Integration Administration Guide - Oracle Applications を参照してください。
エラー処理コード
Windchill ESI ビジネスロジックでは、エラー処理プロセスを呼び出すたびに 5 桁のメッセージコードが使用されます。このコードを使用して、エラー処理プロセスの動作を決定する処理コードを調べます。エラー処理には複数の処理コードがあり、各コードには以下のオプションを含む操作の順列があります。
サブトランザクションメッセージを送信するかどうか
メッセージ全体を送信するかどうか
処理を停止するか、または続行するか
致命的なメッセージ (重大度 0) は必ず Windchill ESI ビジネスロジックのログに記録されます。エラーメッセージ (重大度 1) は、対応するログフラグが true に設定されている場合に記録されます。ログに記録するメッセージも、処理コードの決定に使用した 5 桁のコードを使用して決定します。
以下の表は、各コードのハイレベルの概要を示します。
コード / 操作
Severity
Windchill へのサブトランザクションメッセージの送信
Windchill へのトランザクションメッセージ全体の送信
処理の続行1
処理の停止
0
なし2
X
1
0
X
2
0
X
X
3
0
X
X
X
4
1
X
X
5
1
X

1 BusinessWorks フローが呼び出し位置に戻ると、通常処理が続行されます。ただし、場合によっては、もう 1 つの PostResult メッセージが送信されるなど、誤った処理が実行されることがあります。したがって、これらのコードは慎重に使用してください。

2 内部使用のために予約済みです。ログ作成プロセスが失敗したときに使用されます。

以下の表は、各エラーコードに関する追加情報を示します。
エラーコード番号
Windchill PDMLink の通知
最終的な操作
0
Windchill PDMLink への通知は送信されません。
処理は停止します。
1
Windchill PDMLink への通知は送信されません。
処理は停止します。
2
Windchill ESI は、リリーストランザクション全体に関する PostResult メッセージを Windchill PDMLink に送信します。
処理は停止します。
3
Windchill ESI は、サブトランザクションおよびリリーストランザクション全体に関する PostResult メッセージを Windchill PDMLink に送信します。
処理は停止します。
4
Windchill ESI は、サブトランザクションに関する PostResult メッセージを Windchill PDMLink に送信します。
処理を続行し、エラーハンドラの呼び出し位置に戻ります。
5
Windchill PDMLink への通知は送信されません。
処理を続行し、エラーハンドラの呼び出し位置に戻ります。