2020年6月26日

Approval Management Engine - 第1篇

其實很早之前就想要寫這一個功能,多早呢?大概是 2013 - 2014 年吧。但是,我就懶~

反正現在就是在家上班,那就慢慢地開始寫這個功能的東西吧。


AME (Approval Management Engine) 是一個處理 Oracle EBS 電子簽核流程的功能,它可以讓 Oracle EBS 的表單 (但不是全部) 的簽核流程有更大的彈性去滿足公司的需求,而不是只能按照組織架構簽核。
如果公司對於 Oracle EBS 的電子簽核"表單"並沒有太多的抱怨,再加上該表單有支援 AME 的話 (註1),老實說,真的就不需要花錢再去買外部的 BPM (Business process management) 軟體。

當然,如果公司所需要定義的簽核流程的邏輯或條件很多,需要寫的客製程式也不會少,但是只要符合 AME 所需要的輸入跟輸出值,真的是什麼需求都做的到阿~(吧)

首先,你會需要的權限 (Responsibility) 為

Approvals Management Business Analyst

你應該會看到以下的畫面:
Approvals Management Business Analyst 的主畫面


畫面中你可以看到以下的功能,它可以對應到它主要設定的概念:
  1. 選定目前要設定的交易類別 (Transaction Type)
  2. 定義元件 (Components)
    • 屬性 (Attributes)
    • 條件 (Conditions)
    • 動作 (Action Types)
    • 核決群組 (Approver Groups):選擇性
  3. 定義核決規則 (Approval Rules):就是把前面所設定好的元件,像樂高一樣組裝在一起,就變成公司所需要的規則。
  4. 測試
  5. 設定

還有一個觀念也必須知道,整個 AME 算是一個功能或模組,並不是依交易類別來劃分,所以所有的元件 (Components) 與核決規則 (Approval Rules) 的名稱都是唯一性,所以在規劃時,我的建議是不要把東西依照使用的功能或模組來做硬區分,就算硬區分,也請在命名上先想好命名規則,日後才好管理或必免誤用。

AME 裡面看到的 Remove 也不是真的把資料在資料庫中刪除,而只是壓上失效日或更新其狀態。

最後,就留一個簡單的例子來給大家想想要怎麼處理

當員工要請購任何跟電腦相關的東西時,希望可以讓簽核流程先流到資訊部門;同意後再按照請購人的組織架購一路往上簽核到有足夠核決權限的人為止;之後再發給財務部門做預算檢查;最後再發信給採購人員進行採購程序。


下一篇繼續!

沒有留言: