17承認ワークフロー
この章の内容は次のとおりです。
承認管理の概要
承認管理を使用して、承認ワークフローに適用するポリシーを定義します。たとえば、独自の社内ポリシーを反映するために、特定の金額を超えるトランザクションの承認レベルを指定して、承認のルーティング方法を決定できます。
承認管理の特徴は次のとおりです。
- 
                     経費精算書などのビジネス・オブジェクトのワークフローを管理します。 
- 
                     複雑な複数ステージ・タスクのルーティング・ルールを定義できます。 
- 
                     監督階層に基づいて承認者を導出するために、人材管理(HCM)の設定と統合されます。 
スタート・ガイド
- 
                        「オファリング」作業領域で、承認ルーティング管理機能をオファリング・レベルで使用可能にして、関連する設定タスクを使用できるようにします。 
- 
                        「設定と保守」作業領域で、「アプリケーション拡張」または別の機能領域にある次の設定タスクを使用します。 
- 
                           タスク構成の管理 
- 
                           承認グループの管理 
承認グループの作成
承認グループは、ワークフロー・タスクを処理できる一連のユーザーです。タスクは、承認フローのどこかで個々のユーザーではなく承認グループにルーティングされるように設定できます。承認グループには、他の承認グループを含めることができます。
- 
                     パラレル関係者の承認グループにタスクが割り当てられている場合、グループ内のユーザーはタスクを要求して処理できます。タスクが要求されると、グループ内の他のユーザーはタスクを処理できません。ただし、タスクを要求した個人がタスクをリリースした場合、グループの他のユーザーがそのタスクを要求できます。 
- 
                     これがシリアル関係者の場合は、タスクは承認グループの各メンバーに順番にルーティングされるため、全員が処理する必要があります。 
- 
                     ワークフローには2つのタイプのグループがあります。一方は、ここで説明する、ルーティングを定義するためにタスク構成で使用できる承認グループです。もう一方は、ユーザーがタスクを委任または再割当するときに選択できるLDAPグループですが、LDAPグループの使用はお薦めしません。 
事前定義済の承認グループはないため、承認グループを作成するかどうかはユーザーが決定します。その方法を次に示します。
- 
                     「設定と保守」作業領域で、「アプリケーション拡張」機能領域の「承認グループの管理」タスクに移動します。 
- 
                     BPMワークリストの「承認グループ」タブで、「グループ」ツールバーの「承認グループの作成」アイコンをクリックします。 
- 
                     「詳細」ページで、グループ名を入力します。 
- 
                     「メンバーの追加」アイコンをクリックします。 
- 
                     「グループに追加」ダイアログ・ボックスで、グループに追加する内容に応じて「ユーザー」または「承認グループ」を選択します。 
- 
                     特定のユーザーまたはグループを検索して選択し、「OK」をクリックします。 
- 
                     さらにメンバーを追加し、必要に応じて編集または削除します。 注意: シリアル関係者に使用する承認グループについては、タスクを割り当てる順序でメンバーを追加します。ユーザー1、ユーザー2、ユーザー3の順に追加した場合、タスクは最初にユーザー1、次にユーザー2、最後にユーザー3に割り当てられます。
- 
                     「保存」をクリックします。 
承認ルール・セットおよびルールの構成
ルール・セットおよびルールは、特定の条件に基づいて、ワークフロー・タスクのルーティング方法、割当方法および完了方法を制御します。たとえば、特定の金額を超えるコストがかかるトランザクションの場合、承認は管理チェーンの3つ上のレベルに移動する必要があるとルールで規定できます。ワークフロー・タスクには1つ以上のルール・セットがあり、ルール・セットには1つ以上のルールがあります。実行時に、ルール・セットに複数のルールがある場合は、すべてのルールが同時に評価されます。ルールには、条件(テスト)を持つIfセクションと、条件が満たされたときに実行する処理を含むThenセクションの2つの部分があります。
ルール・セットの構成
まず、作業対象のルール・セットを作成または検索します。
- 
                        「設定と保守」作業領域で、「アプリケーション拡張」機能領域のタスク構成の管理タスクに移動します。または、オファリングによっては、別の機能領域または別の承認設定タスクを使用できます。 
- 
                        BPMワークリストの「タスク構成」タブで、ワークフロー・タスクを選択します。 注意: フレックスフィールドが変更されたことを示すメッセージが表示される場合があります。これは、誰かがアプリケーション・コンポーザを使用して新しいフィールドを作成し、バックエンドにフレックスフィールドが作成されたことを意味します。「同期化の開始」ボタンをクリックして、このタスクのルールに使用できるフレックスフィールドの最新セットを取得します。
- 
                        「設定するタスク」ツールバーの「タスクの編集」アイコンをクリックします。 
- 
                        「割当て先」サブタブをクリックします。 
- 
                        ワークフロー・タスクの概略を説明する図が大きい場合は、「垂直レイアウトへの切替え」リンクをクリックします。 
- 
                        図で、作業対象の関係者を探します。「ルールに移動」アイコンをクリックして、「ルールに移動」を選択します。または、関係者を選択し、図の後のペインで「ビジネス・ルール」フィールドのリンクをクリックします。 
- 
                        表示されたルール・セットの作業に進みます。または、「ルール・セット」セクションで、編集(または可能な場合は削除)する別のルール・セットを選択するか、「ルール・セットを追加します」アイコンをクリックします。 
- 
                        ルール・セット名の前にある「詳細設定の表示」アイコンをクリックして、「有効日」リストおよび「アクティブ」チェック・ボックスを表示します。ユーザーがワークフロー・タスクを作成するときに適用されるように、ルール・セットが有効でアクティブである必要があります。有効日を「常時」に設定したままにすることをお薦めします。 
- 
                        これでルール・セット内のルールを追加、編集または削除する準備ができました。ルールがまだ展開されていない場合は、展開します。ルール・セットと同様に、ルールの「詳細設定の表示」アイコンをクリックすると、ルールが有効でアクティブであることを確認できます。 
「割当て先」タブに表示される内容の理解に役立つスクリーンショットを次に示します。

| コールアウト番号 | 内容 | 
|---|---|
| 1 | 作業対象のルール・セットを選択することも、新しいルール・セットを作成することもできる「ルール・セット」セクション。 | 
| 2 | 「詳細設定の表示」アイコンが付いたルール・セット名。 | 
| 3 | ルール・セット内のルールを操作するためのツールバー。 | 
| 4 | ルール・セット内のルールの名前。それぞれに「展開」アイコンと「詳細設定の表示」アイコンがあります。 | 
ルールのIfセクションの構成
ルールのIfセクションで、ルールの条件を定義します。このセクションの各行はテストと呼ばれます。
- 
                        「左の値」アイコンをクリックして、「条件ブラウザ」ダイアログ・ボックスで属性を選択します。 注意: 属性の検索はTasksフォルダのpayloadサブフォルダから開始し、そこから移動できますが、可能な場合は、Task以外の別のフォルダから同じ属性を選択することをお薦めします。
- 
                        演算子を選択します。 
- 
                        「右の値」アイコンをクリックして「条件ブラウザ」ダイアログ・ボックスから何かを選択するか、対応するフィールドに値を入力します。 
- 
                        行の末尾にある「右の値」アイコンの後のアイコンをクリックして、他のオプションを表示します。たとえば、(...)を選択して「および」と「または」の切替えを表示し、別の行を追加します。「テストの削除」を選択して、行を削除することもできます。 注意: 条件で評価する属性がオプションの場合、ユーザーはUIでその属性に何も入力していない可能性があります。ルールを正しく機能させるには、まず属性が空白でないかどうかをチェックする行を条件に含めることをお薦めします。つまり、属性を選択し、演算子として「次に一致しない」を選択し、nullを入力して行の末尾のアイコンをクリックし、「(...)」を選択して「および」を取得します。次の行は、属性を評価する条件になります。
ルールのThenセクションの構成
ルールのThenセクションで、Ifセクションの条件が満たされた場合の動作を定義します。
- 
                        既存の処理を編集します。または、「アクションの追加」アイコンをクリックし、通常は「承認者の追加」を選択し、タスクのルーティング方法を制御するリスト・ビルダーを選択します。 
- 
                        残りのセクションに入力します。表示されるフィールドはリスト・ビルダーによって異なりますが、使用できるフィールドを次にいくつか示します。 フィールド 内容 レスポンス・タイプ 必須: 割当先は、承認や否認などの処理を実行する必要があります。 FYI: 割当先は処理を実行する必要はありません。 レベル数 開始参加者から最上位の参加者まで、タスクを完全に承認するために必要なレベル数。 開始参加者 承認チェーンの最初の割当先。 最上位の参加者 承認チェーンの上位に移動した場合の、チェーン内の最後の割当先。監督階層などでは、承認がこの参加者よりも上に移動することはありません。 自動アクションの有効化 Trueに設定すると、ルール条件が満たされたときにタスクに対して自動アクションが実行されます。 自動アクション "APPROVE": タスクは自動的に承認されます。 "REJECT": タスクは自動的に否認されます。 ルール名 使用するThenセクションを含むルールの名前。 - 
                                          このルールに対してここで定義したThenセクションがこのルールで使用されることを示すために、このフィールドは作業しているルールの名前のままにします。 
- 
                                          または、任意のタスクの既存のルールの名前を引用符で囲んで入力し、このThenセクションの他のすべてのフィールドを空白のままにすることもできます。入力したルールのThenセクションが、作業中のこのルールに適用されます。したがって基本的に、別のルールからThenセクションを再利用します。 
 開始参加者または最上位の参加者を選択するには: - 
                              「開始参加者」または「最上位の参加者」アイコンをクリックします。 
- 
                              「階層参加者の追加」ダイアログ・ボックスで、特定のユーザーに対する「ユーザーの取得」オプションを選択するか、タスク作成者などの属性に対する「マネージャの取得」を選択します。 
- 
                              「マネージャの取得」オプションの場合のみ、ルールに使用するリスト・ビルダーを選択します。 
- 
                              「ユーザーの取得」オプションの場合は、"KLEE"のように、ユーザーがサインインするユーザーIDを引用符で囲んで「参照ユーザー」フィールドに入力します。 「マネージャの取得」オプションの場合、「参照ユーザー」フィールドに対して実行する処理は次のとおりです。 - 
                                    「式ビルダー」アイコンをクリックします。 
 - 
                                    式ビルダーの「変数」タブで、階層内で必要な属性を選択します。たとえば、「Task」→「payload」を展開し、そこで属性を見つけます。 
- 
                                    「式に挿入」ボタンをクリックします。 
- 
                                    「OK」をクリックします。 
 
- 
                                    
- 
                              「有効日」フィールドを空白のままにして、監督階層などの最新の階層を使用します。 
- 
                              「OK」をクリックします。 
 「開始参加者」または「最上位の参加者」フィールドに表示される内容は、「階層参加者の追加」ダイアログ・ボックスの内容を反映します。次に例をいくつか示します。 - 
                              HierarchyBuilder.getManager("supervisory",Task.payload.Owner User Name,-1,"","")参加者値の部分 意味 getManager「マネージャの取得」オプションを選択しました。 "supervisory"「スーパーバイザ」リスト・ビルダーを選択しました。 Task.payload.Owner User Name「参照ユーザー」フィールドの「変数」タブで「Task」→「payload」→「Owner User Name」に移動し、「Owner User Name」属性を選択しました。 -1これは、プライマリ雇用アサイメントに対応するデフォルト値です。その監督階層は、タスクの割当先の検索に使用されます。 "",""「階層タイプ」および「有効日」フィールドを空白のままにしたため、引用符の中には何もありません。 
- 
                              HierarchyBuilder.getPrincipal("KLEE","","")参加者値の部分 意味 getPrincipal「ユーザーの取得」オプションを選択しました。 "KLEE"「参照ユーザー」フィールドに"KLEE"と入力しました。 "",""「階層タイプ」および「有効日」フィールドを空白のままにしたため、引用符の中には何もありません。 
 
- 
                                          
- 
                        変更を公開する準備が整ったら、「設定するタスク」ツールバーの「タスクのコミット」アイコンをクリックします。 
ルールの例
次に、ルールの例を示します。Ifセクションには、最初に属性が特定の値であるかどうかをチェックし、2番目に属性が特定の金額を超えるかどうかをチェックする2つのテストがあります。属性名は、「条件ブラウザ」ダイアログ・ボックスで取得した階層内の属性の場所を反映します。2つのテストをつなぐ「および」は、両方の条件を満たす必要があることを意味します。

Thenセクションには、スーパーバイザ・リスト・ビルダーに基づいて定義された、条件が満たされた場合に適用される処理があります。割当先は処理を実行する必要があり、必要な承認は1つのみです。

ワークフロー通知の無効化または有効化
ワークフロー・タスクがユーザーに割り当てられると、ユーザーはEメールおよびグローバル・ヘッダーの「通知」アイコンを介して通知を受け取ります。ワークフロー・タスクは「ワークリスト: 通知および承認」作業領域で管理され、タスク構成の管理やその他の承認設定タスクを使用して「設定と保守」作業領域で構成されます。BPMワークフロー・システム管理ロール(BPMWorkflowAdmin)ロールを持っている場合、これらの通知をすべてのユーザーに対して無効または有効にすることができます。たとえば、テスト中は通知を無効にしてテスト通知をユーザーに送信しないようにし、準備ができたら通知を有効にすることができます。
ワークフロー通知を無効にした場合:
- 
                     この設定は、ワークフロー・タスクの一部として送信されるEメール通知のみに適用され、Eメール全般に適用されるわけではありません。 
- 
                     ユーザーは引き続き、「ワークリスト: 通知および承認」作業領域でワークフロー・タスクを検索できます。 
通知モードの設定
ワークフロー通知を無効または有効にするには:
- 
                        グローバル・ヘッダーで「通知」アイコンをクリックします。 
- 
                        「すべて表示」をクリックします。 
- 
                        「通知」ページで、「ワークリスト」ボタンをクリックします。 
- 
                        BPMワークリストで、ユーザー名をクリックして「管理」を選択します。 
- 
                        「管理」タブの「アプリケーション・プリファレンス」ページで、「通知モード」リストから値を選択します。 - 
                              すべて: Eメール通知が有効になります。ワークフロー通知は、グローバル・ヘッダーに表示されます。これがデフォルト値です。 
- 
                              なし: グローバル・ヘッダーのEメール通知およびワークフロー通知は無効になります。 
- 
                              電子メール: Eメール通知のみが有効になります。新しいワークフロー通知は、グローバル・ヘッダーには表示されません。 
- 
                              アプリケーション内: グローバル・ヘッダーのワークフロー通知が有効になります。Eメール通知は送信されなくなります。 
 注意: グローバル・ヘッダーの通知リストの設定は、ホーム・ページの「完了すべき事項」セクションにも適用されます。通知リストまたは「完了すべき事項」セクションから開く「通知」ページにも適用されます。
- 
                              
- 
                        「保存」をクリックします。 
ワークフロー・タスクがいつ自動的に却下または取下げになるかの定義
ワークフローをパージしてユーザーのワークリストから削除するには、「完了」や「取下げ済」などの最終ステータスである必要があります。タスクが「割当て済」ステータスから「完了」ステータスに移行するのは、最後の割当先がタスクを承認または否認したときです。または、参考情報(FYI)タスクの場合は、割当先が明示的にタスクを却下したときです。割当先が最終タスク・ステータスとなる処理を一定期間内に実行しない場合、タスクは自動的に却下(FYIタスク)または取下げ(その他のすべてのタスク)になります。
FYIタスクがいつ自動却下の対象となるか
「FYI通知有効期間」(FND_NOTIFICATION_EXP_PERIOD)プロファイル・オプションにより、FYIタスクがいつ自動却下されるかが制御されます。
- 
                        「設定と保守」作業領域で、「アプリケーション拡張」機能領域の「アプリケーション・コア管理者プロファイル値の管理」タスクに移動します。 
- 
                        「アプリケーション・コア管理者プロファイル値の管理」ページで、プロファイル・オプションをサイト・レベルでデフォルト値の7のままにするか、別の数値に置き換えます。 
このプロファイル値は、FYIタスクが作成されてからの日数を表します。タスクが作成されてからこの日数内に、割当先がFYIタスクを読まないか却下しない場合、そのタスクは自動的に却下される対象となります。
他のすべてのタスクがいつ自動取下げの対象となるか
他のすべてのタスク(FYIではないタスク)は、次の両方が発生した場合に自動取下げの対象となります。
- 
                        BPMワークリストの「タスク構成」タブ内の「期限」サブタブで、特定のタスクの有効期限設定が「何もしない」に設定されています。 
- 
                        割当先が、タスクが作成されてから180日以内にタスクを最終ステータスに送信する処理を実行しません。この数は、BPMワークリストの「管理」タブをクリックすると開くことができる「アプリケーション・プリファレンス」ページの「オープン・タスクを取り下げるまでの日数」フィールドに反映されます。 
対象のタスクがいつ自動的に却下または取下げになるか
これで、いつタスクが対象となるかがわかりましたが、実際にタスクが自動的に却下または取り下げられるのはいつでしょうか。
- 
                        FYIタスク: プロセスは、各月の最初の日から、3日ごとに実行されます。たとえば、5月1日、4日、7日のように実行され、再度6月1日から3日ごとに実行されます。したがって、「FYI通知有効期間」プロファイル値を7のままにした場合、プロセスの実行日に応じて、FYIタスクは作成されてから7日後から10日後に自動的に却下される可能性があります。このプロセスにより、タスクのステータスは「割当て済」から「完了」に変更されます。 
- 
                        その他のすべてのタスク: プロセスは、各月の2日から、3日ごとに実行されます。たとえば、5月2日、5日、8日のように実行され、再度6月2日から3日ごとに実行されます。プロセスでは、タスク・ステータスが「取下げ済」に変更されます。 
ワークフロー・タスクが使用される場合のグローバル・ヘッダーでの通知の同期
ワークフロー・タスクがユーザーに割り当てられると、ユーザーはEメールとグローバル・ヘッダーの通知を受け取ります。ユーザーは、「ワークリスト: 通知および承認」作業領域ですべてのワークフロー・タスクを検索することもできます。グローバル・ヘッダーの通知には、Eメール、「ワークリスト: 通知および承認」作業領域またはBPMワークリストを介して実行された処理によるタスク・ステータスの変更は、即時には反映されません。グローバル・ヘッダーでの通知の同期スケジュール済プロセスを使用して、最新のタスク・ステータスで通知を更新します。このステータスは「ワークリスト: 通知および承認」作業領域では常に反映されています。
プロセスのスケジュール
「スケジュール済プロセス」作業領域で、グローバル・ヘッダーでの通知の同期プロセスを、定義済のスケジュールを使用して送信します。たとえば、2時間ごとに実行するようにプロセスをスケジュールします。
同期の影響
スケジュール済プロセスの実行後、グローバル・ヘッダーの通知が「待ち状態の通知」リストから「すべての通知」リストに移動することがあります。次に例を示します。
- 
                        通知はユーザーの承認待ちです。 
- 
                        ユーザーが、「ワークリスト: 通知および承認」作業領域を使用してタスクを承認します。タスク・ステータスが変わりますが、グローバル・ヘッダーの通知はまだ「待ち状態の通知」リストにあります。 
- 
                        同期後、通知は「すべての通知」リストに移動します。これは、ユーザーがタスク・ステータスを「承認済」に変更し、通知は処理待ちではなくなったためです。 ニュース・フィードのホーム・ページ・レイアウトが選択されている場合、同期後に、通知は次のようになります。 - 
                              グローバル・ヘッダーのリストから削除される 
- 
                              「完了すべき事項」セクションのカードではなくなる 
- 
                              「通知」ページの「自分に割当済」タブから「すべて」タブに移動する 
 
- 
                              
スケジュール済プロセスによってグローバル・ヘッダーの通知のタイトルは更新されません。Eメールの件名と同様に、通知のタイトルは固定です。
ワークフロー・タスクのアーカイブおよびパージ方法
最終ステータス(「完了」や「期限切れ」など)のワークフロー・タスクを、アーカイブおよびパージできます。
- 
                     アーカイブにより、監査、データ保持、分析などの目的でタスク・データのコピーが保持されます。 
- 
                     パージにより、完了したタスクがユーザーのワークリストから削除され、元のデータが完全に削除されます。 
アーカイブ
タスクは、何も設定しなくても、1日に1回自動的にアーカイブされます。この自動アーカイブは変更または停止できません。これには、まだアーカイブされていないすべての対象のタスクが含まれます。これらのスケジュール済プロセスは、日次アーカイブを実行するために次の順序で実行されます。
- 
                        アーカイブ用のワークフロー・タスクの抽出 
- 
                        アーカイブ用の翻訳ワークフロー・タスクの処理 
- 
                        アーカイブ用のワークフロー・タスク添付のアップロード 
ほとんどありませんが、より頻繁にアーカイブする必要がある場合は、「スケジュール済プロセス」作業領域を使用して、これらのプロセスを同じ順序で手動で実行できます。1つのプロセスが終了してから別のプロセスを発行してください。
「アーカイブ用のワークフロー・タスクの抽出」プロセスのパラメータを設定できます。ただし、バッチ内のタスク数として50000、最大ランタイムとして120分のデフォルトのままにしておくとします。つまり、プロセスは50000ワークフロー・タスクのバッチでアーカイブされます。2時間後も実行中の場合、プロセスは現在のバッチのアーカイブを終了してから停止します。プロセスのログ・ファイルをチェックして、アーカイブに含まれるタスクの数を確認できます。
アーカイブされたデータには、タスク詳細、承認履歴、コメントおよび添付が含まれています。アーカイブされたデータを表示または使用する方法は、使用している製品によって異なります。たとえば、データはページ上の表に表示される場合や、分析を作成するために選択できるビジネス・インテリジェンス・サブジェクト領域から使用可能な場合があります。
パージ
最後に更新されてから30日を過ぎたアーカイブ済タスクは、何も設定しなくても、日次自動アーカイブの直後にパージされます。この自動パージを変更または停止することはできません。
ワークフロー管理アクセスのロール
事前定義済ロールにより、ワークフロー管理機能へのアクセスが提供されます。ワークフロー・ロールを持つユーザーは、承認ルールの設定や発行された承認タスクの管理などのタスクを実行できます。次の表は、営業ワークフロー管理アクセス用の事前定義済のOracle Business Process Management (BPM)ロールと、それを継承する事前定義済ジョブ・ロールを示しています。また、すべての製品ファミリに対するワークフロー管理アクセスを提供するBPMロールも示しています。必要に応じて、事前定義済のBPMロールをカスタム・ジョブ・ロールに割り当てることができます。
| 製品ファミリ | ロール名およびコード | 継承するジョブ・ロール | 
|---|---|---|
| 営業 | BPMワークフロー顧客関係管理管理者 BPMWorkflowCRMAdmin | 法人マーケティング・マネージャ(ORA_MKT_CORPORATE_MARKETING_MANAGER_JOB) 顧客関係管理アプリケーション管理者(ORA_ZCA_CUSTOMER_RELATIONSHIP_MANAGEMENT_APPLICATION_ADMINISTRATOR_JOB) マーケティング・アナリスト(ORA_MKT_MARKETING_ANALYST_JOB) マーケティング・マネージャ(ORA_MKT_MARKETING_MANAGER_JOB) マーケティング運用マネージャ(ORA_MKT_MARKETING_OPERATIONS_MANAGER_JOB) ) マーケティングVP (ORA_MKT_MARKETING_VP_JOB) 営業リード・クオリファイア(ORA_MKL_SALES_LEAD_QUALIFIER_JOB | 
| すべて | BPMワークフローすべてのドメイン管理者ロール BPMWorkflowAllDomainsAdmin | このロールは事前定義済ジョブ・ロールに割り当てられていませんが、カスタム・ジョブ・ロールに追加できます。 |