20.13.1 タスクの状態および遷移について

Oracle APEX承認コンポーネントにおけるタスクのライフサイクルについて説明します。

タスクのライフサイクルは、タスクが作成されてからタスクが完了するまでの間にタスクがたどる過程です。タスクが作成されたときの「初期」、タスクが様々な状態の間を移動するときの「中間」、およびタスクが完了したときの「最後」という3つのライフサイクル・ステージがあります。

状態は、タスクのライフサイクルにおけるタスクの現在の位置です。遷移は、状態間のタスクの移動を表します。遷移は、通常のタスクのライフサイクルの一部として発生することも、例外またはユーザーによる中断によって発生することもあります。

エラー発生状態は、タスクの実行中に、次のようなリカバリ不能なエラーがある場合に発生します。
  • 基礎となるデータベース・エラー
  • コード・バグ
  • 無効なタスク定義
  • タスク定義に指定されたアクションの実行中に発生したエラー

取消済状態は、タスクのイニシエータまたはビジネス管理者がタスクを明示的に取り消すと発生します。

期限切れ状態は、期日が到来し、タスクが完了しておらず、タスクに更新ポリシーがないか、更新の最大回数にすでに達している場合に発生します。

タスクの状態および可能な遷移は、次の図または表20-1表で入手できます。
approvals_state_diagram.pngの説明が続きます
図approvals_state_diagram.pngの説明

表20-1 タスクの状態および遷移

タスクの状態 ライフサイクル・ステージ Category 可能な遷移
作成済 初期 標準
  • 未割当て(潜在的所有者が複数の場合)
  • 割当て済(潜在的所有者が1人の場合)
  • エラー発生(実行中にリカバリ不能なエラーが発生した場合)
未割当て 中間 標準
  • 割当て済(ユーザーがタスクを要求するか、またはタスクを委任する場合)
  • 完了(潜在的所有者が統合タスク・リストからタスクを承認または却下した場合)
  • エラー発生(実行中にリカバリ不能なエラーが発生した場合)
  • 取消済 (イニシエータがタスクを取り消した場合)
  • 期限切れ(タスクが期日までに完了しておらず、タスク定義の有効期限ポリシーが次のいずれかである場合):
    • 失効(APEXによって、新しいタスクは作成されません)
    • 更新(更新の最大回数にまだ達していなければ、APEXによって新しいタスクが作成されます)
割当て済 中間 標準
  • 完了(所有者がタスクを承認、却下または完了した場合)
  • 未割当て(所有者がタスクを解放した場合)
  • 情報のリクエスト中(所有者がイニシエータに情報をリクエストした場合)
  • 割当て済(ユーザーがタスクを他の潜在的所有者に委任した場合)
  • エラー発生(実行中にリカバリ不能なエラーが発生した場合)
  • 取消済 (イニシエータがタスクを取り消した場合)
  • 期限切れ(タスクが期日までに完了しておらず、タスク定義の有効期限ポリシーが次のいずれかである場合):
    • 失効(APEXによって、新しいタスクは作成されません)
    • 更新(更新の最大回数にまだ達していなければ、APEXによって新しいタスクが作成されます)
情報のリクエスト中 中間 標準
  • 割当て済(イニシエータがリクエストされた情報を送信した場合)
  • 期限切れ(タスクが期日までに完了しておらず、タスク定義の有効期限ポリシーが次のいずれかである場合):
    • 失効(APEXによって、新しいタスクは作成されません)
    • 更新(更新の最大回数にまだ達していなければ、APEXによって新しいタスクが作成されます)
完了 最後 標準 なし
エラー発生 最後 例外
  • 更新済(ビジネス管理者がタスクを手動で更新した場合)。APEXによって、基礎となるタスク定義に基づいて新しいタスクが作成されます。
取消済 最後 ユーザーによる中断 なし
期限切れ 最後 標準 なし
  • タスクの有効期限ポリシーが「更新」に設定され、更新の最大回数にまだ達していない場合、APEXによって新しいタスクが作成されます。
  • タスクの有効期限ポリシーが「失効」に設定されている場合、または「更新」に設定されているが、更新の最大回数にすでに達している場合、APEXによって新しいタスクは作成されません。ビジネス管理者は、タスクを手動で更新できます。