「処理キャンセル」パーツは3つの機能を持っています。
性質上、「処理キャンセル」パーツの下に別のパーツを繋げることはできません。
- 処理キャンセル
この処理の中で行った変更をすべてキャンセルして無かったことにします - 結果判定
この処理の結果をどう扱うか(成功/失敗)決定します
※「処理キャンセル」パーツが無い場合は、エラー発生を除きすべて成功扱い - メッセージ表示
処理完了画面に、設定したメッセージを表示します
【利用例】
- 特定の条件に合致する場合(入力すべき欄が埋まっていないなど)に処理を巻き戻して
エラー扱いにする - 処理がどの分岐に入って終わったのか、ユーザーにメッセージで知らせる
詳細設定
「処理キャンセル」パーツの設定内容は下記の3点です。
|
設定項目 |
チェック |
挙動 |
|
キャンセル設定 |
有 |
このパーツ以前のすべての処理内容を |
|
無 |
画面にメッセージだけ表示し、 |
|
|
結果判定 |
正常終了 |
キャンセルする/キャンセルしないに関わらず、このパーツに達した処理は「正常に完了したもの」と見なします。 |
|
失敗 |
キャンセルする/キャンセルしないに関わらず、このパーツに達した処理は「失敗したもの」と見なし、エラーメールを送信します。 |
|
|
メッセージ |
自由入力 |
ここに入力したメッセージが、処理完了時に |
「失敗扱い」の影響
結果判定を「失敗」に設定したときは、下記の影響をもたらします。
- 結果確認画面の表示が赤くなる
- 自動処理全体設定の「システムエラー発生時~」の宛先にエラーメールが送信される
- 一括処理の場合は、一括自動処理状況確認画面で失敗にカウントされる
上記はすべて、「処理キャンセル」パーツによる判定ではない実際のエラーでも同様です。
補足
「処理キャンセル」パーツ以前のエラー
処理が「処理キャンセル」パーツに達する前、途中のパーツに設定エラーなどが
あったときは、最後の「処理キャンセル」パーツが「正常終了」に設定されていても
エラー終了となります。
【使用例】自動処理のキャンセル
過去の注文の顧客情報を“顧客DB”に登録し、DM送付に使用するという自動処理があると
仮定します。
しかし、顧客の中ではDMを送信してはいけない顧客もおり、その顧客は“案内NGDB”に
登録されています。
この様な場合に、「処理キャンセル」パーツを使います(キャンセル設定のチェック有)。
顧客情報が“案内NGDB”に登録されているかを検索している「レコード検索」パーツの下に
「処理キャンセル」パーツを設置します。
“案内NGDB”に登録されていた場合は、それまでの処理のすべてをキャンセルし、
登録されていなかった場合にだけ注文レコードに対して登録済みという印を更新します。
下記の図では、「レコード検索」パーツで処理が分岐するより前の上から2つ目に
「顧客DBにレコードを登録する」パーツがありますが、赤矢印のルートでは最後に
キャンセルするため登録は行われません。
【使用例】メッセージのみ表示
自動処理パーツが複雑に分岐しているとき、自動処理がどのルートに入ったのか
ユーザーの画面で確認するのは難しくなります。
ユーザーにもどのルートで完了したのか知らせたいときは、各ルートの最後へ
メッセージを表示するだけの「処理キャンセル」パーツを設置します。
自動処理を実行した後に表示される完了確認画面には、最後のパーツのパーツ名と
「メッセージ」に設定した文言が表示されます。
どの分岐で終わったのか、あるいは必要な対応の概要など、適切な情報を「メッセージ」欄
に記載してください。
【自動処理結果画面例】(2件のレコードに自動処理を実行した後の例)
|
① |
結果サマリー |
失敗した処理が1件も無ければ、「処理が完了しました」の文言と件数を表示するのみです。 |
|
② |
キャンセルパーツ 結果:失敗 |
処理が「処理キャンセル」パーツで終わった場合の メッセージです。 最後のパーツ名(2行目)とパーツに設定されたメッセージ(3行目)が表示されます。 結果が正常終了か失敗かは、予め設定した「結果判定」 によって決まります。 |
|
③ |
キャンセルパーツ 結果:正常終了 |
補足
「処理キャンセル」パーツ以外で終わった場合
最終処理パーツが「処理キャンセル」パーツではない場合、結果が正常終了であれば
「詳細」の欄は空欄になります。
何らかのエラーが起こると「結果」欄が失敗となり、「詳細」欄にはエラーの原因
などが表示されます。