監督リスト・ビルダーおよびルール優先度を使用した承認レベルのスキップ
代替レベルの承認を使用して、ベースラインの予算バージョンを承認するとします。 ApprovePlanVersionワークフローを構成して、承認を管理階層内の他のすべてのレベルに順番にルーティングできます。
|
個人 |
ポジション |
マネージャ |
承認要 |
|---|---|---|---|
|
David |
プロジェクト・マネージャ |
Henry |
はい |
|
Henry |
シニア・マネージャ |
Nick |
いいえ |
|
Nick |
グループ・マネージャ |
Abraham |
はい |
この予算バージョンは、まずDavidが承認する必要があります。 Davidが承認した後、ワークフローでHenryをスキップして、予算バージョンの承認をNickにルーティングする必要があります。 Nickが承認した後、ワークフローは承認済状態になります。
その場合は、事前定義済ルール・セットを編集して、ルール優先度とtry-catch処理を使用する追加ルールを定義します。
次のステップを実行します。
- 「設定および保守」で、「タスク・パネル」をクリックし、「プロジェクト財務管理のタスク構成の管理」タスクを検索してクリックします。
BPMワークリスト・アプリケーションが表示されます。
- 構成するタスクのペインで、ApprovePlanVersionタスクを検索し、ApprovePlanVersionリンクをクリックします。
- 「構成するタスク」ペインで「タスクの編集」アイコンをクリックして、タスクを編集モードで開きます。
- 「割当先」タブをクリックします。
プロジェクト予算または予測を承認する必要がある関係者が表示されます。 これらの各関係者をクリックして、それぞれの承認の選択に適用されるワークフロー・ルールをレビューします。
- ワークフローで「承認者」の関係者をクリックし、「承認者」ボックス内の「ルールに移動」(ダイヤモンド型)アイコンをクリックして、表示される「ルールに移動」オプションをクリックします。
「承認者」の関係者に関連付けられたルールのリストが表示されます。 ドロップダウン・リストでBudgetForecastAMXRuleSetルールが選択されていることを確認します。
- ルール優先度を変更して、ワークフロー通知がプロジェクト・マネージャに送信され、この承認者が承認した後にのみ、次の承認者に通知が送信されるようにします。
- SoaOLabel.FinancialPlanApprovalRule.BudgetorForecastApprovalRule事前定義済ルールを選択します。
- 「プロパティ」リンクをクリックします。
- 「優先度」ドロップダウン・リストから「最高」を選択し、「拡張モード」チェック・ボックスを選択し、「アクティブ」チェック・ボックスが選択されていることを確認して、「OK」をクリックします。
- 事前定義済ルールのIF条件を「1 is 1」から「1 is 2」に変更すると、事前定義済ワークフローでプロジェクト予算または予測を承認のためにプロジェクト・マネージャに送信できなくなります。
- 次のように、スキップ・レベル・ルールを追加します:
- 「ルール」ペインで、拡張追加または変更オプション(+アイコン)ドロップダウン・リストをクリックし、一般ルールを選択します。
- 「プロパティ」リンクをクリックし、「名前」フィールドに「SkipLevel」と入力して説明を追加し、「優先度」ドロップダウン・リストから「中」を選択して、「アクティブ」チェック・ボックスが選択されていることを確認し、「拡張モード」チェック・ボックスを選択して、「OK」をクリックします。
- パターンの挿入リンクをクリックします。
- ルールのIF部分で、両方のテキスト・ボックスに「Task」と入力して、「Task is a Task」パターンを追加します。 次に、拡張追加または変更オプション・ドロップダウン・リストをクリックして「simple test」を選択し、次のようにIF条件を追加します:
左側のテキスト・ボックスに入力する値
数値比較ドロップダウン・リストで選択する値
右側のテキスト・ボックスに入力する値
IF条件を追加する理由
Task.payload.planClassCode
この値を選択するには、「左の値」検索アイコンをクリックし、「条件ブラウザ」ダイアログ・ボックスで「Task.payload.planClassCode」を選択します。
is
"BUDGET"
この値は大/小文字が区別されます。 引用符も含めてください。 この値をコピーして貼り付けないでください。
予測に対して同様の要件を満たすには、「FORECAST」と入力します。
ルールが予算バージョンにのみ適用されるように指定するため。
- ルールのTHEN部分で、「アクションの挿入」ドロップダウン・リストをクリックし、「try」を選択します。 次に、これらのアクションを次の順序で実行します:
アクションの実行場所
実行するアクション
結果
tryアクション配下
「アクションの挿入」ドロップダウン・リストをクリックし、「catch」を選択します。
catchアクションが追加されます。
catchアクション配下
「アクションの挿入」ドロップダウン・リストをクリックし、「承認者の追加」 > 「スーパーバイザ」を選択します。
スーパーバイザ・リスト・ビルダーが追加されます。
catchアクション配下
catchに対するチェック・ボックスを選択し、「下に移動」アイコンをクリックします。
スーパーバイザ・リスト・ビルダーが、tryアクションの直下に移動します。
tryアクション配下
次のように、値を入力します:- 回答タイプ: 必須
- レベル数: 1
- 開始参加者: HierarchyBuilder.getManager("supervisory",HierarchyBuilder.getManager("supervisory",Task.payload.approvePlanPayload.approverName,-1,"","LINE_MANAGER").getId(),-1,"","LINE_MANAGER")
- 最上位の参加者: HierarchyBuilder.getManager("supervisory",HierarchyBuilder.getManager("supervisory",Task.payload.approvePlanPayload.approverName,-1,"","LINE_MANAGER").getId(),-1,"","LINE_MANAGER")ノート: LINE_MANAGERは、Oracle Cloud HCMで定義した階層タイプに置き換えてください。
- 自動アクションの有効化: False
- 自動処理: NULL
- ルール名: "SkipLevel"ノート: ステップ8で入力した名前がルール名に自動移入されます。
- ディメンションID: nullノート: ディメンションIDにはnullが自動移入されます。
NA
catchアクション内
catchに対するチェック・ボックスを選択し、「アクションの削除」アイコンをクリックします。ノート: このアクションを実行する前に、catchに対するチェック・ボックスのみが選択されていることを確認してください。catchアクションが削除されます。
tryアクション内
「try」のチェック・ボックスを選択し、「アクションの挿入」ドロップダウンリストをクリックして「catch」を選択します。
catchアクションが追加されます。
catchアクション内
ターゲットとして「Object」と入力し、テキスト・ボックスに識別子値として「e」を入力します。
NA
catchアクション配下
「アクションの挿入」ドロップダウン・リストをクリックし、「return」を選択します。
NA
ノート: tryとcatchアクションが同じレベルでインデントされていれば、ルールが正しく構成されています。
- 右上隅にある「検証」をクリックして、新しく定義したルールを検証します。
- 設定するタスク・ペインの「保存」アイコンをクリックして、ルールを保存します。
- 設定するタスク・ペインの「タスクのコミット」アイコンをクリックして、ルールの構成を完了します。
- 「OK」をクリックして確認メッセージ・ウィンドウを閉じます。