承認ルールの定義方法
承認ルールは、承認管理拡張機能で作成された経費精算書承認のための構成可能なルールです。Oracle Fusion Expensesには、9つの事前定義済ルール・セットが用意されています。BPMワークリストを使用すると、新しい承認ルールを定義したり、AMXで既存の承認ルールを変更できます。
承認ルールを管理するには、財務アプリケーション管理者などのBPMワークリスト管理者である必要があります。
承認ルールを管理する権限がある場合、次のことができます:
-
既存の承認ルールの変更
-
新しい承認ルールの定義
-
ルールおよびルール・セットのプロパティの理解と適用
承認ルールを管理する権限がある場合は、BPMワークリストの隅に「管理」リンクが表示されます。新しい承認ルールを定義したり、既存のものを変更するには、「管理」リンクをクリックして「タスク構成」タブをクリックし、「データ駆動」タブをクリックして「データ駆動構成」ページを表示し、「設定するタスク」ペインからFinExmWorkflowExpenseApprovalタスクを選択します。
各ルール・セットには、1つ以上の承認ルールが含まれています。各承認ルールには、承認条件と、承認者のリストがあります。各ルール・セットについて導出された承認者のリストは、関係者と呼ばれます。承認者のリストを生成するには、各ルールにリスト・ビルダーを関連付ける必要があります。
各経費精算書は、ルール・セット内の1つのルールのみを満たすことができます。経費精算書がルール・セット内のいずれのルールも満たさない場合は、承認プロセス・エラーおよびインシデントがOracle Enterprise Manager Grid Controlでレポートされます。
既存の承認ルールの変更
「データ駆動構成」ページで、変更するルール・セットを選択し、「設定するタスク」ペインで「編集」アイコンをクリックします。これで、指定したルール・セット内のルールを追加、変更または削除できます。変更は、「設定するタスク」ペインで「タスクのコミット」アイコンをクリックすると有効になります。「保存」アイコンをクリックして変更を保存すると、変更が保存されますが、アクティブにはなりません。必要に応じて、「リセット」アイコンをクリックして変更を元に戻すことができます。
新しい承認ルールの定義
新しいルールを作成するには、次のルール・コンポーネントの値を指定する必要があります:
-
条件: 経費精算書が満たす必要がある基準
-
応答タイプ: 「必須」または「FYI」。承認者からの応答が必要であるか、通知は情報です。
-
リスト・ビルダー: 特定の通知の承認者のリストを作成します
条件を定義するには、「IF」リージョンの値リストから値を選択します。条件ブラウザが表示されます。条件ブラウザで、ビュー・オブジェクト(フォルダ)を開き、基準として使用する属性を選択します。1つのルールに複数の条件を追加できます。条件は、「ExpenseReport.expenseReportTotalが1000より大きい」などのようになります。
次の表に、条件ブラウザに表示されるビュー・オブジェクト(フォルダ)とそれに関連する属性および説明を示します。
次の表には、ビュー・オブジェクトとそれに関連する属性(経費精算書承認ルールの条件として選択できるもの)および説明が含まれています。
条件ブラウザのビュー・オブジェクト |
属性 |
説明 |
---|---|---|
ExpenseReport |
ExpenseReportId |
経費精算書識別子 |
ExpenseReport |
PersonId |
経費精算書の従業員の個人識別子 |
ExpenseReport |
AssignmentId |
従業員のアサイメントのプライマリ・アサイメント識別子 |
ExpenseReport |
ExpenseReportDate |
経費精算書の最新経費の日付 |
ExpenseReport |
ExpenseReportTotal |
払戻通貨での経費精算書の合計金額 |
ExpenseReport |
ReimbursementCurrencyCode |
経費精算書払戻通貨 |
ExpenseReport |
ReportSubmitDate |
経費精算書が承認のために発行された日付 |
ExpenseReport |
ExpenseStatusCode |
経費精算書の最新ステータス |
ExpenseReport |
ExpenseStatusDate |
経費精算書の最新ステータスの日付 |
ExpenseReport |
OrgId |
経費精算書のビジネス・ユニット識別子 |
ExpenseItem |
ReceiptAmount |
領収書通貨での経費金額 |
ExpenseItem |
ReceiptCurrencyCode |
経費金額の通貨コード |
ExpenseItem |
ExpenseSource |
経費項目のソース。現金またはコーポレート・カード |
ExpenseItem |
ExpenseTypeCategoryCode |
「航空運賃」や「宿泊」など、経費項目のカテゴリ |
ExpenseItem |
ExpenseCategoryCode |
「ビジネス」や「個人」など、経費項目の分類 |
ExpenseItem |
ExpenseTemplateId |
経費項目の経費精算書テンプレート識別子 |
ExpenseItem |
ExpenseTypeId |
経費項目の経費タイプ識別子 |
ExpenseItem |
PolicyViolatedFlag |
経費項目にポリシー違反があるかどうかを示すチェック・ボックス |
ExpenseItem |
ReceiptMissingFlag |
ユーザーが領収書原本を持っているかどうかを示すチェック・ボックス |
ExpenseItem |
EmpDefaultCostCenter |
従業員のデフォルトのコスト・センター |
CostCenterTotal |
ExpenseReportId |
経費精算書識別子 |
CostCenterTotal |
CostCenter |
経費を負担するコスト・センター |
CostCenterTotal |
Total |
コスト・センターに請求される合計経費 |
CostCenterTotal |
ManagerId |
コスト・センター所有者の個人識別子 |
CostCenterTotal |
ManagerUsername |
コスト・センター所有者のユーザー名 |
ProjectTotal |
ExpenseReportId |
経費精算書識別子 |
ProjectTotal |
PjcProjectId |
プロジェクト識別子 |
ProjectTotal |
Total |
プロジェクトに請求される合計経費 |
ProjectTotal |
ProjectPartyId |
プロジェクト・マネージャの個人識別子 |
ProjectTotal |
ManagerUsername |
プロジェクト・マネージャのユーザー名 |
承認ルールから生成される各承認通知には、「必須」または「FYI」の応答タイプが必要です。BPMワークリストの「データ駆動構成」ページにある「THEN」リージョンで該当する応答タイプを指定します。承認者が通知に応答して処理を実行する必要がある場合は、「必須」ラジオ・ボタンをクリックします。承認通知が情報のみとして設計されている場合は、「FYI」ラジオ・ボタンをクリックします。
各ルールには、承認者のリストを作成するためのリスト・ビルダーが必要です。次の表に、BPMワークリストで使用可能なリスト・ビルダー・タイプとそれに関連する説明を示します。
リスト・ビルダー・タイプ |
説明 |
---|---|
スーパーバイザ |
経費精算書発行者または指定された承認者から始まって、プライマリ監督階層を上にたどっていき、承認チェーンを生成します。 |
ジョブ・レベル |
指定された承認者から始まって、監督階層を上にたどっていき、適切なジョブ・レベルを持つ承認者が見つかるまで続行します。 |
位置 |
指定された承認者のポジションから始まって、ポジション階層を上にたどっていき、適切なポジションを持つ承認者が見つかるまで続行します。 |
リソース |
承認者のリスト。ユーザー名、または承認者のセットを返す関数を選択できます。 |
承認グループ |
承認者のグループ。ルール・セットで使用するユーザーのリストで構成される承認者グループを作成できます。 |
各リスト・ビルダー・タイプでは、承認リストを作成するために特定のフィールドの値が必要です。BPMワークリストの「データ駆動構成」ページにある「THEN」リージョンで、「リスト・ビルダー」選択リストからリスト・ビルダーのタイプを選択し、「アクションの作成」ボタンをクリックします。「変数の追加」ダイアログ・ボックスが表示され、そこで特定のリスト・ビルダーについて特定の変数を追加します。
次の表に、特定の値を選択する必要がある、各リスト・ビルダー・タイプに関連付けられているフィールドを示します。
リスト・ビルダー・タイプ |
フィールド |
説明 |
選択する値とサンプル・データ |
---|---|---|---|
監督者 |
レベル数 |
監督階層を横断するレベルの数を指定する正の数値。 |
ニーズに基づいた正の数値。たとえば、1レベルの承認には1を使用します。 |
監督者 |
開始参加者 |
リストの最初の関係者。 |
「変数の追加」ダイアログ・ボックスから、次のものを選択します:
これにより、開始関係者について次の文字列が作成されます: HierarchyBuilder.getManager ("supervisory",Task.creator,-1,"","")。 |
監督者 |
最上位の参加者 |
リストの最後の関係者。承認リストが階層内でこの個人を超えることはありません。 |
「変数の追加」ダイアログ・ボックスから:
これにより、最上位の関係者として次の文字列が作成されます: HierarchyBuilder.getPrincipal ("<>",-1,"","") |
監督者 |
自動アクションの有効化 |
承認通知について自動応答を有効にする必要がある場合は、「True」に設定します。 |
該当なし |
監督者 |
自動アクション |
自動応答を有効にした場合は、応答を設定します。 |
経費の承認には、「承認」を使用します。 |
位置 |
レベル数 |
ポジション階層を横断するレベルの数を指定する正の数値。この数値は、絶対値にすることも、「開始点」または「作成者」に対する相対値にすることもできます。 |
該当なし |
位置 |
相対 |
横断するレベルの数は、「開始点」、「作成者」または「絶対」のいずれかの値を基準とします。 |
|
位置 |
開始参加者 |
リストの最初の関係者。 |
開始関係者を選択するには、値リストをクリックして次のものを選択します:
これにより、開始関係者の文字列が作成されます。たとえば、ポジションID 1234から開始するには、開始関係者としてHierarchyBuilder.getManager ("position","1234",-1,""," ENTERPRISE_POSITION _HIERARCHY")を使用します。 |
位置 |
最上位の参加者 |
リストの最後の関係者。承認リストが階層内でこの個人を超えることはありません。 |
「変数の追加」ダイアログ・ボックスから:
これにより、最上位の関係者の文字列が作成されます。たとえば、HierarchyBuilder.getPrincipal "<>",""," ENTERPRISE_POSITION_ HIERARCHY")のようになります。 |
位置 |
使用される参加者 |
計算された関係者リストから、このオプションで指定した関係者のみが使用されます。使用可能なオプションは、全員、最初と最後のマネージャ、最後のマネージャです。 |
該当なし |
位置 |
自動アクションの有効化 |
通知について自動応答を有効にする必要がある場合は、「True」に設定します。 |
該当なし |
位置 |
自動アクション |
自動応答を有効にした場合は、応答を設定します。 |
経費の承認には、「承認」を使用します。 |
ジョブ・レベル |
レベル数 |
ジョブ・レベル階層を横断するレベルの数を指定する正の数値。この数値は、絶対値にすることも、「開始点」または「作成者」に対する相対値にすることもできます。 |
該当なし |
ジョブ・レベル |
相対 |
横断するレベルの数は、「開始点」、「作成者」または「絶対」のいずれかの値を基準とします。 |
|
ジョブ・レベル |
開始参加者 |
リストの最初の関係者。 |
「変数の追加」ダイアログ・ボックスから、次のものを選択します:
これにより、開始関係者の文字列が作成されます。たとえば、HierarchyBuilder.getManager ("joblevel",task.creator,-1,"","")のようになります。 |
最上位の参加者 |
リストの最後の関係者。承認リストが階層内でこの個人を超えることはありません。 |
「変数の追加」ダイアログ・ボックスから:
これにより、最上位の関係者として次の文字列が作成されます: HierarchyBuilder.getPrincipal ("<>",-1,"","") |
|
ジョブ・レベル |
最後のレベルの全マネージャを含む |
ジョブ・レベルが、以前に計算された、リストの最後の関係者のものと等しい場合、次のマネージャがリストに含まれます。 |
該当なし |
ジョブ・レベル |
使用される参加者 |
計算された関係者リストから、このオプションで指定した関係者のみが使用されます。使用可能なオプションは、全員、最初と最後のマネージャ、最後のマネージャです。 |
該当なし |
ジョブ・レベル |
自動アクションの有効化 |
承認通知について自動応答を有効にする必要がある場合は、「True」に設定します。 |
該当なし |
ジョブ・レベル |
自動アクション |
自動応答を有効にした場合は、応答を設定します。 |
経費の承認には、「承認」を使用します。 |
リソース |
参加者 |
ユーザー、グループまたはアプリケーション・ロールを関係者にできます。ユーザーの場合は、静的ユーザー名、またはユーザー名を取得する関数を使用します。 |
たとえば、コスト・センター所有者にはExpenseReport/costCenterTotalVO.managerUsernameを使用します。 |
承認グループ |
承認グループ |
承認グループ名を入力します。リスト・ビルダーとして承認グループを選択するには、BPMワークリストで静的承認グループを作成する必要があります。 |
該当なし |
承認ルールの構成の詳細は、『Oracle Fusion Middlewareモデリングおよび実装ガイド』の「承認管理の使用」の章の「タスク構成の使用」の項を参照してください。
ルールおよびルール・セットのプロパティの理解と適用
理解して適用する必要がある、ルールおよびルール・セットのプロパティを次に示します。
-
それぞれの経費精算書について、各ルール・セット内で1つのルールがtrueである必要があります。経費精算書がルール・セット内のいずれのルールも満たさない場合、承認プロセスはエラーになります。
-
それぞれの経費精算書についてルール・セット内で適用されるルールは1つのみであるため、適用可能な最も詳細なレベルでルールを構成し、ルール内で優先度を使用して重複する条件を区別する必要があります。AMXでは、ネストされた条件はサポートされていません。
-
ルール・セットはすべて、経費精算書承認ステージに関してパラレルまたはシリアルに実行されます。
-
シリアル・ルール・セットは、承認プロセスを順番に実行するように設計されています。これらのルール・セットに含まれるルールの承認リスト内の承認者には、順番に通知されます。
-
ルール・セットを非アクティブ化するには、そのルール・セットについて「この参加者を無視」チェック・ボックスを選択します。
-
関係者を決定できない場合、AMXは障害通知をインシデント識別子とともにユーザーに送信します。管理者は、Oracle Enterprise Manager Grid Controlアプリケーションのサポート・ワークベンチを使用してインシデントの詳細にアクセスし、インシデント・レポート内の問題を解決した後、Oracle Enterprise Manager Grid Controlで承認プロセスを再開できます。