サービス・オーダー・フィールド活動の処理

この項では、サービス・オーダー・フィールド活動が処理される方法の概要を示します。

前処理、検証および後処理のアルゴリズム

サービス・オーダー・フィールド活動が最初にインスタンス化されると、一連の前処理アルゴリズムによって活動に必要な情報(活動タイプ、サービス・ポイント、設備、住所、発効日、その他の情報など)が移入および導出されます。

この情報は、最初の取得時と更新時に検証アルゴリズムによって検証されます。

サービス・オーダー・フィールド活動が完了すると、後処理アルゴリズムによって活動終了日時が移入されます。

サービス・オーダー・フィールド活動ライフサイクル

サービス・オーダー・フィールド活動はライフサイクル内を進みながら、サービス・オーダー・フィールド活動のタイプに基づいて様々なビジネス・プロセスをトリガーします。次の表は、フィールド活動(D1-FieldActivity)ビジネス・オブジェクトのライフサイクルの概要を示しています。

状態

摘要

保留

サービス・オーダー・フィールド活動の初期状態。

入力アルゴリズムによって要求元システムに肯定応答が送信されます。

活動は、モニター・プロセスを介して次の状態へ遷移します。

検証

入力アルゴリズムによって次の処理が実行されます。

活動タイプの検証(および無効な場合はエラーへの遷移)

サービス・オーダー・フィールド活動受取側の導出および検証

重複および競合サービス・オーダー・フィールド活動の検証

サービス・オーダー・フィールド活動サービス・ポイントの導出および検証

サービス・オーダー・フィールド活動設備の導出および検証

住所構成要素の検証

既存のサービス停止の制限のチェック

活動は、モニター・プロセスを介して次の状態へ遷移します。

検証エラー

「保留」状態のビジネス・オブジェクトがいずれかの検証に失敗した場合、そのビジネス・オブジェクトはこの状態になります。

入力アルゴリズムによって次の処理が実行されます。

指定された作業予定タイプと作業予定役割に基づいて作業予定を作成します

「親活動の遷移を子に許可」フラグを「Yes」に設定します。これにより、サービス・オーダー・フィールド活動は必要に応じて親オーケストレーション活動に遷移できます。

この状態の活動は、修正して再試行できます。

要求の待機

サービス・オーダー・フィールド活動に将来の発効日がある場合、活動は発効日に達するまでこの状態のままになります。

活動の発効日時に達すると(処理日時>=発効日時)、モニター・アルゴリズムによってこの活動が次の状態に遷移します。

入力アルゴリズムは「発効日に基づく親活動の遷移を子に許可」フラグを「Yes」に設定します。これにより、サービス・オーダー・フィールド活動は必要に応じて親オーケストレーション活動に遷移できます。

アポイントの待機中

サービス・オーダー・フィールド活動が検証に合格し、発効日に達すると、活動はこの状態になります。

入力アルゴリズムによって次の処理が実行されます。

このタイプのフィールド・タスクにアポイントが必要かどうかを評価します。該当しない場合、活動は「通信進行中」状態に遷移します。

アポイントが必要であるが、システムがアポイント要求を送信できない場合、作業予定を作成します

「親活動の遷移を子に許可」フラグを「Yes」に設定します。これにより、サービス・オーダー・フィールド活動は必要に応じて親オーケストレーション活動に遷移できます。

アポイント処理システムに通知を送信します

モニター・アルゴリズムによって次の処理が実行されます。

アポイントが指定されているかどうかを検証します

アポイント処理システムに通知を送信します

活動は、モニター・プロセスを介して次の状態へ遷移します。

この状態の詳細は、「アポイントの待機中」を参照してください。

通信進行中

サービス・オーダー・フィールド活動は、「アポイントの待機中」または「再試行」状態の後に、この状態になります。

入力アルゴリズムによって次の処理が実行されます。

サービス・オーダー・フィールド活動に対するアウトバウンド通信を作成します(詳細は、「通信進行中」を参照)

「親活動の遷移を子に許可」フラグを「Yes」に設定します。これにより、サービス・オーダー・フィールド活動は必要に応じて親オーケストレーション活動に遷移できます。

モニター・アルゴリズムによって次の処理が実行されます。

既存の子通信をチェックします

活動がタイムアウトしていないことをチェックします

破棄済

他の状態で破棄された活動はこの状態になります。

入力アルゴリズムによって次の処理が実行されます。

未処理のアウトバウンド通信を取り消します

未処理の完了イベントを取消します

取消事由を移入します

要求元システムに失敗通知を送信します

親活動を「活動エラー」状態に遷移させます(詳細は、「サービス・オーダー・オーケストレーション活動ライフサイクル」を参照)。

取消オーケストレーション活動が必要かどうかをチェックします

通信エラー

アウトバウンドまたはインバウンド通信が「エラー」状態の場合、サービス・オーダー・フィールド活動はこの状態になります。

モニター・アルゴリズムによって次の処理が実行されます。

活動がタイムアウトしていないことをチェックします

入力アルゴリズムによって次の処理が実行されます。

指定された作業予定タイプと作業予定役割に基づいて作業予定を作成します

「親活動の遷移を子に許可」フラグを「Yes」に設定します。これにより、サービス・オーダー・フィールド活動は必要に応じて親オーケストレーション活動に遷移できます。

この状態の活動は、修正して再試行できます。

再試行

エラー状況の修正後にサービス・オーダー・フィールド活動が再試行されると、この状態になります。

入力アルゴリズムによって次の処理が実行されます。

進行中の関連アウトバウンド通信があるかどうかをチェックして判別します。

未処理のアウトバウンド通信を取り消します

完了イベントの実行

インバウンド通信が受信されると、この状態になります。

入力アルゴリズムによって次の処理が実行されます。

フィールド・タスク・タイプで定義された完了イベントを実行します(これらの完了イベントは最初はインバウンド通信によって作成されます)。

サービス・オーダー・フィールド活動の「フィールド活動完了済」フラグを評価します。これが「No」に設定されている場合、サービス・オーダー・フィールド活動は「フィールドで取消済」状態に遷移します。

活動は、モニター・プロセスを介して次の状態へ遷移します。

この状態の詳細は、「完了イベントの実行」を参照してください。

完了イベント・エラー

完了イベントの処理中にエラーが発生した場合、サービス・オーダー・フィールド活動はこの状態になります。

モニター・アルゴリズムによって次の処理が実行されます。

活動がタイムアウトしていないことをチェックします

入力アルゴリズムによって次の処理が実行されます。

指定された作業予定タイプと作業予定役割に基づいて作業予定を作成します

「親活動の遷移を子に許可」フラグを「Yes」に設定します。これにより、サービス・オーダー・フィールド活動は必要に応じて親オーケストレーション活動に遷移できます。

この状態の活動は、修正して再試行できます。

完了

すべての完了イベントが正常に完了すると、サービス・オーダー・フィールド活動はこの状態になります。

入力アルゴリズムによって次の処理が実行されます。

親オーケストレーション活動を更新します

要求元に成功応答を送信します

親オーケストレーション活動をライフサイクルの次の状態に遷移します

連係システムにサービス・オーダー・フィールド活動完了アウトバウンド通信を送信します。

フィールドで取消済

フィールド活動の「フィールド活動完了済」フラグが「No」に設定されている場合、サービス・オーダー・フィールド活動はこの状態になります。

入力アルゴリズムによって次の処理が実行されます。

要求元に失敗応答を送信します

親オーケストレーション活動を「活動エラー」状態に遷移させます。

サービス・オーダー・フィールド活動が取り消されたことをユーザーに通知する作業予定を作成します。

アポイントの待機中

サービス・オーダー・フィールド活動が「アポイントの待機」状態になると、サービス・オーダー・フィールド活動にアポイントが必要かどうかが最初に判別されます。該当しない場合、活動は「通信進行中」状態に移動します(次を参照)。

なんらかの理由でアポイント要求を送信できない場合、サービス・オーダー・フィールド活動は作業予定項目を作成し、手動によるアポイントの要求を試みるようにユーザーに警告します。それ以外の場合、サービス・オーダー・フィールド活動は、「アポイント処理システムへの通知の送信 - 入力」アルゴリズムで定義された適切な処理役割に基づいて、アポイントを要求しているフィールド作業システムにアウトバウンド・メッセージを送信します。

処理役割

アウトバウンド通信ビジネス・オブジェクト

アポイント応答

(デフォルト)

次の場合に使用されます。

アポイントが必要で、スケジュールする必要がある場合

アポイントが設定されている場合

アポイント応答アウトバウンド・メッセージの送信(D1-SendApptRespOutboundMsg)

注意: アウトバウンド・メッセージはこのビジネス・オブジェクトに基づいて作成される必要があります。

フィールド作業システムからの応答は、「選択したアポイントをフィールド活動に予約」(D1-BookAppt)サービス・スクリプトを参照するインバウンドWebサービスを作成することによって受信できます。

この状態の間、モニター・アルゴリズムはアポイントが指定されているかどうかを検証し、フィールド作業システムに通知を送信します。

通信進行中

サービス・オーダー・フィールド活動通信は、サービス・オーダー管理と外部フィールド作業システムとの間で送信されるメッセージのレコードです。通信は、インバウンドとアウトバウンドの両方に流れることができます。

サービス・オーダー・フィールド活動通信の詳細は、「サービス・オーダー・フィールド活動通信」を参照してください。

手動でのサービス・オーダー・フィールド活動の完了

「通信進行中」状態のサービス・オーダー・フィールド活動を手動で完了または取り消すには、「活動」ゾーンの「レコード処理」セクションで「完了」をクリックします。これにより、「フィールド活動手動完了」ページが開き、ユーザーは適切な詳細を入力してフィールド活動(完了情報、サービス・ポイント情報、設備情報など)を手動で完了できます。発行されると、このページではインバウンド通信が作成され、必要に応じてフィールド活動が次の状態に遷移します。

注意: 実装では、「フィールド・タスク・タイプ」拡張可能参照の「手動フィールド活動完了管理」セクションでフィールド・タスク・タイプごとにカスタム・サービス・スクリプトを定義して、「フィールド活動手動完了」ページに表示されるセクションをカスタマイズできます。 

完了イベントの実行

インバウンド通信の受信後、サービス・オーダー・フィールド活動は「完了イベントの実行」状態になります。

インバウンド通信には、フィールド・タスク・タイプで定義された、またはフィールド活動備考で参照される完了イベントに基づいて、サービス・オーダー・フィールド活動に対して以前に作成された完了イベントが含まれます。これらの作成イベントは、「保留」状態で開始されます。

入力アルゴリズムは、サービス・オーダー・フィールド活動に関連付けられた完了イベントを「実行済」状態に遷移します。