5.6.9 フォルト送出アクティビティ
ビジネスプロセス内でフォルトを定義,送出して,上位のスコープアクティビティにフォルトを通知するためのアクティビティです。
フォルト送出アクティビティは,[フォルト送出アクティビティ]ダイアログで詳細を定義します。
- 〈この項の構成〉
(1) 定義手順
定義の手順を次に示します。
-
フォルト送出アクティビティをキャンバスに配置します。
アクティビティを配置する方法については,「5.4.1 アクティビティを配置する」を参照してください。
-
次のどちらかの方法で[フォルト送出アクティビティ]ダイアログを表示させます。
-
キャンバスのフォルト送出アクティビティをダブルクリックする
-
キャンバスのフォルト送出アクティビティを選択して右クリックし,[設定]を選択する
[フォルト送出アクティビティ]ダイアログが表示されます。
-
-
[フォルト送出アクティビティ]ダイアログに必要な情報を入力します。
[フォルト送出アクティビティ]ダイアログの表示・入力内容の詳細については,マニュアル「サービスプラットフォーム リファレンス」の「1.4.15 フォルト送出アクティビティダイアログ」を参照してください。
[割当変数]は,次の2つの設定方法があります。運用に合わせて,どちらかの方法で割当変数を設定してください。
-
フォルト送出アクティビティに割り当てられた変数を,上位のスコープまたはビジネスプロセスにフォルトとして送出させたい場合
[割当変数]に,フォルトを送出する際に割り当てる変数を設定します。[割当変数]には,メッセージ型(XML)の変数を設定できます。メッセージ型(non-XMLまたはany)は設定できません。[割当変数]に設定する変数の内容を編集する場合,[編集]ボタンをクリックします。表示される[変数・相関セット一覧]ダイアログで,変数の内容を編集できます。[変数・相関セット一覧]ダイアログの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「1.4.1 変数・相関セット一覧ダイアログ」を参照してください。
なお,この設定の場合,ビジネスプロセス内の任意の位置にフォルト送出アクティビティを定義できます。
-
すでに発生しているフォルトを,そのまま上位のスコープまたはビジネスプロセスに送出させたい場合
[割当変数]に変数を設定しないでください。この設定の場合,フォルト送出アクティビティは,どれかのアクティビティのフォルトハンドラ内に定義する必要があります。
-
-
[OK]ボタンをクリックします。
(2) 定義時の注意事項
-
アクティビティ名はビジネスプロセス(スコープ内も含む)内で一意になるように指定してください。
-
アクティビティ名は64バイト以内にしてください。
-
ダイアログの入力フィールドに制御文字は指定しないでください。
-
フォルト送出アクティビティを含む上位のスコープに,対応する割当変数またはcatchAllを利用したフォルト処理を定義してください。
-
フォルト処理の割り当てに設定する割当変数には,変数を設定しないか,メッセージ型(XML)の変数を設定してください。メッセージ型(non-XMLまたはany)の変数は設定できません。
-
フォルト処理の割当変数に変数を設定しない場合,フォルト送出アクティビティは,次のようにどれかのアクティビティのフォルトハンドラ内に定義してください。フォルト送出アクティビティがどれかのアクティビティのフォルトハンドラ内に定義されていない場合,動作を保証しません。
フォルト送出アクティビティの正しい定義位置と,誤った定義位置の例を次に示します。
図5‒13 フォルト処理の割当変数に変数を設定しない場合の,フォルト送出アクティビティの正しい定義位置の例 フォルト送出アクティビティ(フォルト送出1)は,この図のように,スコープ1のフォルトハンドラ配下に定義します。
次のようにフォルトハンドラが多段に定義されている場合,上位のフォルトハンドラ配下の位置には,フォルト送出アクティビティを定義できません。
図5‒14 フォルト処理の割当変数に変数を設定しない場合の,フォルト送出アクティビティの誤った定義位置の例 この図のような位置にフォルト送出アクティビティを定義した場合,動作を保証しません。
-
フォルト送出アクティビティの割当変数の値が,フォルト処理で指定した割当変数に適合しない場合,フォルト処理の割当変数で指定したアクティビティに遷移しません。この場合,catchAllで指定したアクティビティに遷移します。
(3) 処理中に例外が発生した場合の処理
例外が発生した場合の処理は,HCSCサーバランタイム定義ファイルのsyserr-to-fault-convert-all-activityプロパティの設定によって次のように異なります。
- syserr-to-fault-convert-all-activityプロパティの指定がONのとき
-
メッセージを出力したあと,フォルト電文に設定する項目を含むメッセージを出力し,フォルトを送出します。
送出するフォルトについては,マニュアル「サービスプラットフォーム 解説」の「4.7.1 システム例外をフォルトに変換する汎用フォルトの概要」を参照してください。
- syserr-to-fault-convert-all-activityプロパティの指定がOFFのとき
-
システム例外をthrowします。
syserr-to-fault-convert-all-activityプロパティの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「6.5.6 HCSCサーバランタイム定義ファイル」を参照してください。