エンタープライズ管理 > Windchill ESI の実装 > SAP 環境での Windchill ESI の実装 > Windchill ESI アーキテクチャについて > メッセージログ作成、エラー処理、応答メッセージ
  
メッセージログ作成、エラー処理、応答メッセージ
ログの処理、エラー処理、Windchill PDMLink への応答メッセージには同じ概念を使用しますが、異なる機能を実行し異なる方法で実装されます。以下のセクションでは、これらのプロセスについて説明し、それぞれの機能を要約します。
* 
Windchill ESI サービスは標準的な Windchill PDMLink の log4 ベースのログ作成メカニズムを使用するので、次のセクションの情報は EAI ソフトウェアコンポーネントのみに該当します。
EAI ログプロセス
EAI コンポーネントのログ作成アーキテクチャは、システム管理者が EAI ソフトウェアコンポーネントプロセスを簡単に記録できるように設計されています。Windchill ESI ビジネスロジックは、すべてのトランザクションアクティビティのログをログファイルに作成し、特にルーチンおよび機能エラー処理を記述するメッセージを作成します。
Windchill ESI エラーおよびシステムログエントリは、ビジネスロジックが以下の処理のマイルストーンに達した直後に生成されます。
JMS メッセージの受信
JMS メッセージの送信
コミットとロールバックを含む、配布ターゲット API の呼び出し
コミットとロールバックを含む、配布ターゲット API からのレスポンスの受信
特定タイプのエラーの処理
* 
カスタマイズによってログ作成をほかの主要なマイルストーンに拡大できます。
ログエントリは時間の経過に沿って記録されます。並列処理による混乱を避けるために、エントリのフィルタ処理または並べ替えはトランザクション番号に基づいて行う必要があります。ログ作成プロセスでは、入力として ESILog スキーマを使用します。ログスキーマの詳細については、XML スキーマを参照してください。
EAI ソフトウェアコンポーネントによって生成されたすべての Windchill ESI ログは、ほかの標準的な TIBCO 製品のメッセージと区別するために ESI の役割修飾子とともに TIBCO BusinessWorks プロセスエンジンログ内に保持されます。ログファイルのサイズを設定でき、Web ベースの TIBCO BusinessWorks Administrator でログを表示できます。ログの表示方法については、TIBCO Administrator User's Guide を参照してください。
ログファイルをテキストファイルにエクスポートし、テキストエディタで表示したり、Microsoft Excel などのスプレッドシートプログラムに CSV ファイルとしてエクスポートし、メッセージをフィルタまたは並べ替えたりすることができます。また、ログメッセージを有効または無効にすることも、さまざまなレベルの詳細度および重大度が表示されるように設定およびカスタマイズすることもできます。
* 
これらのログファイルのサイズとロールオーバーを制御するため、Max Log Files (デフォルト = 10) および Max Log File Size (デフォルト = 1000 KB) パラメータの値を修正できます。詳細については、TIBCO BusinessWorks Palette Reference の「Deployment Palette」の章の「Process Engine」セクションを参照してください。
ログエントリのコンポーネント
以下の表では、ログエントリのコンポーネントについて順番に説明します。ログのフィールドはコンフィギュレーション可能な区切り記号で区切られています。デフォルトでは、区切り記号はコンマ (,) に設定されています。
フィールド
長さ
説明
Transaction Number
200
処理中の Windchill ESI トランザクション番号
Target
25
オブジェクトのパブリッシング先のターゲットを一意に識別します。フォーマットは以下のとおりです。
<Destination>,<TargetID>
ここで、
<宛先> は、Windchill ESI 応答内の <トランザクション> エレメントの子として存在します。これは、<SAP システム ID> . <SAP クライアント> という形式の値をとります。ここで、SAP システム ID と SAP クライアントは、Windchill で SAP タイプ配布ターゲットの作成中に提供される必須のパラメータです。
<ターゲット_ID> は、<ターゲット番号>:<プラント> の形式で値をとります。
ここで、
<ターゲット番号> は、Windchill の配布ターゲットを表す ESITarget オブジェクトの番号属性であり、<プラント> は、SAP 宛先に関連付けされたプラント名です。<プラント> は、宛先ターゲットが "No Plant" 宛先を表す場合に空の値になります。
以下に例を示します。
以下のターゲットは、SAP システム PTCPROD のプラント 1100、クライアント 800 にパブリッシングされ、番号 PTC_1 を持つ ESITarget オブジェクトで表されるオブジェクトを示します。
PTCPROD.800,PTC_1:1100
プラント固有ではない Target は以下のとおりです。
PTCPROD.800,PTC_1
Application
1
メッセージを出力したアプリケーションを示します。詳細については、「Application」セクションを参照してください。
Type
1
メッセージのタイプを示します。詳細については、「Type」セクションを参照してください。
Severity
1
メッセージの重大度を示します。詳細については、「Severity」セクションを参照してください。
Message Code
5
一意のメッセージコード識別子。ローカライズされた適切なメッセージテキストへの相互参照キーとして使用されます。このフィールドは、ログサービスを呼び出すとき、開発者またはカスタマイザによってハードコード化されます。詳細については、「Message Code」セクションを参照してください。
EAI Primary Message Text
メッセージの説明などの説明テキスト (メッセージコード (Message Code) に対応)。
このテキストは ESILog/Locale グローバル変数に基づいてローカライズされます詳細については、インターナショナリゼーションに関する検討事項を参照してください。
例: 「Received ESI Response」(ESI レスポンスを受信)
Descriptive Text
説明テキスト。例: Object Number (オブジェクト番号)
Root Cause Analysis Message
エラーの根本原因を説明するテキスト、またはエラーについての詳細情報の参照先。
このテキストは ESILog/Locale グローバル変数に基づいてローカライズされます詳細については、インターナショナリゼーションに関する検討事項を参照してください。
この情報は、グローバル変数 ESILog/RootCause を介してログに記録されます。詳細については、「ログフラグ」セクションを参照してください。
たとえば、「For more information regarding this error, please refer to the SAP Application Log (transaction SLG1)」(このエラーに関する詳細は、SAP アプリケーションログ (トランザクション SLG1) を参照してください) のように記録されます。
ERP Primary Message
300
該当する場合、ERP システムからのプライマリ API 返信メッセージ。SAP 配布ターゲットの場合、コロンで区切られ、最初と最後のスペースが除去された以下の SAP メッセージパラメータが含まれます。
タイプ (通常は A、E、S、I、W、または X)
ID
番号
テキスト
このテキストはローカライズされません。詳細については、インターナショナリゼーションに関する検討事項を参照してください。
この情報は、グローバル変数 ESILog/ERPPrimary を介してログに記録されます。詳細については、「ログフラグ」セクションを参照してください。この情報はさまざまなメッセージタイプや重大度に適用されるため、ログに複数回記録されることがあります。
以下に例を示します。
S:MM:356:The material GS_700_IB4D has been created or extended
ERP Secondary Message
300
該当する場合、ERP システムから送信されたセカンダリ API 返信メッセージ。SAP 配布ターゲットの場合、コロンで区切られ、最初と最後のスペースが除去された以下の SAP メッセージパラメータが含まれます。
タイプ (通常は A、E、S、I、W、または X)
ID
番号
Text
各セカンダリ情報エントリは、セミコロンで区切られています。
このテキストはローカライズされません。詳細については、インターナショナリゼーションに関する検討事項を参照してください。
この情報は、グローバル変数 ESILog/ERPSecondary を介してログに記録されます。詳細については、「ログフラグ」セクションを参照してください。この情報はさまざまなメッセージタイプや重大度に適用されるため、ログに複数回記録されることがあります。
以下に例を示します。
H:MK:102:Trying to create: GS_700_IB4D 1200; S:M3:800:Material GS_700_IB4D created; H:MK:103:Trying to change: GS_700_IB4D 1200; S:M3:810:No changes made
EAI Additional Information
2500
EAI コンポーネント (ERP 以外) からの関連情報。このテキストはローカライズされません。詳細については、インターナショナリゼーションに関する検討事項を参照してください。この情報はさまざまなメッセージタイプや重大度に適用されるため、ログに複数回記録されることがあります。
たとえば、エラーの場合、このフィールドにスタックトレースが格納されます。
Extra Information
2500
カスタマイズ用の追加フィールド。
ログメッセージコード
以下のセクションでは、ログメッセージのさまざまなフィールドに関連付けられているコードまたは番号について詳しく説明します。
Application
アプリケーションフィールドは、ログエントリの情報のソースであるアプリケーションを示します。ログエントリのアプリケーションフィールドとほかのフィールド間に体系的に設定された相関関係はありません。以下の表は、アプリケーションに関連付けられている番号を示しています。
アプリケーション番号
説明
1
TIBCO BusinessWorks。
2
Windchill PDMLink
3
TIBCO EMS。
4
SAP 用の TIBCO アダプタ。
5
Oracle Applications 用の TIBCO アダプタ。
6+
将来の使用のために確保。
Type
メッセージを分類しやすいように、Windchill ESI により、Windchill ESI ビジネスロジックで各ログエントリが生成された時点でタイプが割り当てられます。以下の表は、メッセージタイプを示します。
タイプ値
メッセージタイプ
説明
1
機能関連
Windchill と Windchill ESI ビジネスロジック間または Windchill ESI ビジネスロジックと配布ターゲット間のビジネスオブジェクトの処理に関するステータス情報を提供します。たとえば、部品の作成や BOM の変更などです。
2
技術関連
処理の技術的な側面に関連するステータス情報を提供します。たとえば、レスポンスメッセージの解析の失敗などです。
Severity
重大度はシステムに対するメッセージの影響を示します。カスタマイズしたメッセージの重大度タイプとして、5 以上 (9 を除く) の重大度を使用できます。以下の表に、現在の重大度を示します。
Severity フィールド値
重大度タイプ
説明
管理者が行う必要のある操作
0
致命的
エラーが発生し、EAI コンポーネントの処理を停止したことを示します。
はいEAI システム管理者が即座に対処する必要があります。
1
エラー
致命的ではないが、エラーが発生したことを示します。EAI コンポーネントは処理を続行します。
はい技術的なエラーの場合は、EAI システム管理者への連絡が必要になることがあります。機能的なエラーの場合には、Windchill PDMLink ユーザーへの連絡が必要になることがあります。
2
警告
重要または重大な状況が発生したが、Windchill ESI ビジネスロジックは異常終了しなかったことを示します。
Windchill PDMLink の標準ツールによる操作が必要な場合があります。
3
成功
目的の操作が正常に完了したことを示します。
なし
4
情報
通常の処理ステップが実行されたことを示します。
なし
9
デバッグ
デバッグに備えて、BusinessWorks フローの進行状況を記録します。
なし。
メッセージコード
以下の項目に関するメッセージコードの詳細について説明します。
インターナショナリゼーション
番号付けスキーム
インターナショナリゼーション
各メッセージには 40003 など 5 桁のコードが関連付けられています。これによりロケールや配布ターゲットごとにメッセージログを設定できます。Windchill ESI では、いくつかのサポート言語にメッセージテキストがローカライズされます。グローバル変数 ESILog/Locale を使用して、展開されている BusinessWorks 処理エンジンごとに希望のログ言語を選択できます。デフォルトでは、メッセージは ESIMessageLookups.properties に保存されます。特定の配布ターゲットや追加のロケールに合わせて、このファイル内のデフォルト Windchill ESI メッセージテキストを設定できます。メッセージの照会キーにはワイルドカードを含めることができます。つまり、任意のロケールやシステムで動作するようにコードを設定できます。
ログメッセージは、ロケール、システム、ワイルドカードという優先順位に従って選択されます。
エントリのフォーマットは"コード.システム.ロケール=ローカライズ済みテキスト" です。
以下に例を示します。
41308.PT3.en_US=<SAP インスタンス PT3 の米国英語のテキスト>
41308.*.de_DE=<すべてのシステム用のドイツ語のテキスト>
41308.*.*=<すべてのシステムとロケール用のデフォルトのテキスト
番号付けスキーム
メッセージコードは、以下の方法に従って番号が付けられます。
ログフラグ
前述のとおり、サイトのニーズに応じて、ログに書き込むメッセージタイプおよび重大度を設定できます。これらのメッセージの設定は、グローバル変数を使用して行います。
以下の表は、グローバル変数として保存されているフラグを示しています。重大度 0 のメッセージ (致命的メッセージ) は必ず記録されます。このメッセージをオフにするためのフラグはありません。これらのフラグに設定可能な値は 0 (false) または 1 (true) です。
フラグ
説明
ESILog/Functional_Debug
タイプが機能関連、重大度がデバッグのメッセージのログを有効にします。
ESILog/Functional_Informational
タイプが機能関連、重大度が情報のメッセージのログを有効にします。
ESILog/Functional_Success
タイプが機能関連、重大度が成功のメッセージのログを有効にします。
ESILog/Functional_Warning
タイプが機能関連、重大度が警告のメッセージのログを有効にします。
ESILog/Functional_Error
タイプが機能関連、重大度がエラーのメッセージのログを有効にします。
ESILog/Technical_Debug
タイプが技術関連、重大度がデバッグのメッセージのログを有効にします。
ESILog/Technical_Informational
タイプが技術関連、重大度が情報のメッセージのログを有効にします。
ESILog/Technical_Success
タイプが技術関連、重大度が成功のメッセージのログを有効にします。
ESILog/Technical_Warning
タイプが技術関連、重大度が警告のメッセージのログを有効にします。
ESILog/Technical_Error
タイプが技術関連、重大度がエラーのメッセージのログを有効にします。
この表に示したフラグは、どのような場合にメッセージを記録するかを指定します。これとは別に、何を記録するかを指定するフラグがあります。これらのグローバル変数については、以下の表で詳しく説明します。
フラグ
説明
ESILog/ERPPrimary
ERP プライマリメッセージのログを有効にします。詳細については、「ログエントリのコンポーネント」セクションを参照してください。
ESILog/ERPSecondary
ERP セカンダリメッセージのログを有効にします。詳細については、「ログエントリのコンポーネント」セクションを参照してください。
ESILog/RootCause
根本原因メッセージのログを有効にします。詳細については、「ログエントリのコンポーネント」セクションを参照してください。
ログ作成プロセスフロー
以下の図は、EAI ソフトウェアコンポーネントでログ作成プロセスがどのように起動するかを示しています。
ログサービスの呼び出し
以下の TIBCO BusinessWorks のサンプルスクリーンショットは、ハードコード化された情報と実行時プロセスデータを含む、ログに書き込まれたデータを表示するログ作成プロセスの呼び出しを示します。
Windchill への応答メッセージ
Windchill ESI EAI ソフトウェアコンポーネントは、(部品、BOM、ドキュメント、変更通知、ドキュメントリンク、プロセス計画、リソースなどの) すべてのオブジェクト/操作/組織のサブトランザクション PostResult メッセージを送信します。ESIPostResult スキーマの Message フィールドは、オブジェクトのステータスに関する説明テキストが表示される文字列フィールドです (PostResult スキーマ構造の詳細については、Windchill ESI の実装を参照してください)。このフィールドには、いくつかの情報が自動的に入力されます。メッセージフィールドの構造については、以下の表で説明します。フィールドは、グローバル変数 ESIMessaging/Delimiter を使用して区切られています。デフォルトでは 2 本の縦線 (||) に設定されています。この区切り記号は、メッセージ文字列フィールド全体の前にも付加されます。この機能は、メッセージに指定された区切り記号を使用してソースアプリケーションでメッセージを動的に解析できるように用意されたものです。
ESIPostResult メッセージのコンポーネント
フィールド
説明
EAI Primary Message
EAI ソフトウェアコンポーネントによって生成されるテキストで、サブトランザクションのオブジェクト、操作、またはステータスを説明します。このテキストは、Windchill ESI レスポンス内のデータのロケール (com_infoengine_locale プロパティ) に基づいてローカライズされます。詳細については、インターナショナリゼーションに関する検討事項またはWindchill ESI の実装を参照してください。例: "Successfully created part in SAP"(SAP での部品の作成に成功しました)
EAI Secondary Message
警告メッセージまたは機能関連の意思決定メッセージの有無をユーザーに示すテキスト。このテキストは EAI ソフトウェアコンポーネントによって生成されます。このテキストは、Windchill ESI レスポンス内のデータのロケール (com_infoengine_locale プロパティ) に基づいてローカライズされます (詳細については、インターナショナリゼーションに関する検討事項またはWindchill ESI の実装を参照してください)。メッセージにこの情報を含めるには、グローバル変数 ESIMessaging/EAISecondary を有効にします。詳細については、「応答メッセージフラグ」セクションを参照してください。例 : "Creating document version failed but assuming functional success"(ドキュメントバージョンの作成に失敗しましたが正常に機能していると見なします)
Root Cause Analysis Message
エラーについて考えられる根本原因、またはエラーについての追加情報を得るためのヒントを示すテキスト。このテキストは EAI ソフトウェアコンポーネントによって生成されます。このテキストは、ESIResponse 内のデータのロケール (com_infoengine_locale プロパティ) に基づいてローカライズされます (詳細については、インターナショナリゼーションに関する検討事項またはWindchill ESI の実装を参照してください)。メッセージにこの情報を含めるには、グローバル変数 ESIMessaging/RootCause を有効にします。
詳細については、「応答メッセージフラグ」セクションを参照してください。例: "For more information about this error, please see the SAP Internal Application Log (transaction SLG1)" (このエラーの詳細については、SAP 内部アプリケーションログ (トランザクション SLG1) を参照してください)。
ERP Primary Message
該当する場合、ERP システムからのプライマリ API 返信メッセージ。SAP BAPI を使用した SAP 配布ターゲットの場合、コロンで区切られ、最初と最後のスペースが除去された以下の SAP メッセージパラメータが含まれます。
タイプ (A、E、S、I、W、または X)
ID
番号
Text
SAP CCAP および CSAP によってリモートで有効にされた API 機能モジュールの場合、このフィールドはオブジェクト名または内部 SAP オブジェクト番号になる場合があります。
このテキストはローカライズされません (詳細については、Windchill Enterprise Systems Integration Installation and Configuration Guide - SAP R/3 の「インターナショナリゼーションに関する検討事項」セクションを参照してください)。
メッセージにこの情報を含めるには、グローバル変数 ESIMessaging/ERPPrimary を有効にします。詳細については、「応答メッセージフラグ」セクションを参照してください。
以下に例を示します。
S:MM:356:The material GS_700_IB4D has been created or extended
ERP Secondary Message
該当する場合、ERP システムからのセカンダリ API 返信メッセージ。SAP BAPI を使用した SAP 配布ターゲットの場合、コロンで区切られ、最初と最後のスペースが除去された以下の SAP メッセージパラメータが含まれます。
タイプ (A、E、S、I、W、または X)
ID
番号
Text
SAP CCAP および CSAP のリモート対応 API 機能モジュールの場合、このフィールドは通常空のままになっています。
各セカンダリ情報エントリは、セミコロンで区切られています。
このテキストはローカライズされません。詳細については、Windchill Enterprise Systems Integration Installation and Configuration Guide - SAP R/3 の「インターナショナリゼーションに関する検討事項」を参照してください。
メッセージにこの情報を含めるには、グローバル変数 ESIMessaging/ERPPrimary を有効にします。
以下に例を示します。
H:MK:102:Trying to create: GS_700_IB4D 1200; S:M3:800:Material GS_700_IB4D created; H:MK:103:Trying to change: GS_700_IB4D 1200; S:M3:810:No changes made
EAI Additional Information
EAI コンポーネント (ERP 以外) からの関連情報。このテキストはローカライズされません。詳細については、「応答メッセージフラグ」セクションを参照してください。たとえば、エラーの場合、このフィールドにスタックトレースが格納されます。
Extra Information
カスタマイズ用の追加フィールド。
ログ作成とは異なり、Windchill への応答メッセージにはどのような場合にメッセージを送信するかを指定するフラグはありません。メッセージはオブジェクト、操作、または組織ごとに必ず送信する必要があります。ただし、Windchill PDMLink にどのようなメッセージを返すかを指定するフラグはあります。これらのフラグについては、以下の表で説明します。
応答メッセージフラグ
フラグ
説明
ESIMessaging/ERPPrimary
Windchill PDMLink への ERP プライマリ情報の応答を有効にします。詳細については、「ESIPostResult メッセージのコンポーネント」を参照してください。
ESIMessaging/ERPSecondary
Windchill PDMLink への ERP セカンダリ情報の応答を有効にします。詳細については、「ESIPostResult メッセージのコンポーネント」を参照してください。
ESIMessaging/RootCause
Windchill PDMLink への根本原因情報の応答を有効にします。詳細については、「ESIPostResult メッセージのコンポーネント」を参照してください。
ESIMessaging/EAISecondary
Windchill PDMLink への機能関連の意志決定情報および警告情報の応答を有効にします。詳細については、「ESIPostResult メッセージのコンポーネント」を参照してください。
エラー処理と通知
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 - SAP を参照してください。
エラー処理コード
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 への通知は送信されません。
処理を続行し、エラーハンドラの呼び出し位置に戻ります。
ログ作成およびエラー処理プロセスの要約
ログ作成およびエラー処理プロセスの機能と相違点について、以下に要約します。
ログ作成があらかじめコードに定められた箇所で規則的に発生するのに対し、エラー処理は技術的なエラーが発生した場合にのみ行われます。
ログ作成では、たとえエラーハンドラ内で呼び出された場合でも、機能が実行された後は最後に処理が行われたポイントに戻ります。エラー処理では、プロセスを終了する場合と、エラーが生成されたポイントへ戻る場合があります。
エラー処理では、ログ作成プロセスを呼び出す場合、埋め込まれた呼び出しを使用します。ログ作成プロセスでは、予期しないエラーが発生した場合を除き、エラー処理プロセスを使用しません。
処理コードはカスタマイズ可能で、エラー処理動作を決定します。エラーハンドラは、ログを作成するか、またはサブトランザクションあるいは PostResult メッセージ全体を送信し、プロセスを終了するかどうかを決定します。
ログ作成では、簡単に表示できるようにログファイルにプロセスデータを書き込み、ログメッセージは、ロケールとシステムに応じて詳細にカスタマイズできます。