2020年6月29日

Approval Management Engine - 第2篇 (屬性 + 條件)

這一篇就用上一篇留下來的例子來開始說明 AME 中,屬性 (Attributes) 跟條件 (Conditions) 的使用。

上一篇所留下的例子:

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

從這個例子可以知道,如果單純地只用組織架構來思考,上面的例子是不可能做的到的;甚至用原始的 Oracle EBS Workflow 也不可能。

AME 的話,我們就可以把上面的例子分成幾個部份: 

  • 任何跟電腦相關的東西:條件
  • 資訊部門:第一部份的簽核
  • 組織架購一路往上簽核到有足夠核決權限的人為止:第二部份的簽核
  • 財務部門:第三部份的簽核
  • 發信給採購人員:第四部份的簽核通知


屬性 + 條件

要能夠判斷條件就必須要有屬性值,雖然有可能 AME 本身的標準屬性就足以讓你來判斷,但機會應該是少之又少,所以就先把屬性視為必要的設定環節吧!

從下面的屬性設定可以看到,這邊可以使用 Function 來處理邏輯,回傳布林值 (True / False)。這邊的重點是,傳入值變數 :transactionId

  1. 這個傳入值變數有大小寫之分,只能是 transactionId,不可以是 transactionID,不可以是 TransactionId,也不可以是 TransactionID。
  2. 這個傳入值變數是固定的名稱,可是它所代表的意義是每一個交易類別 (Transaction Type) 都不同的。就目前的使用慣性上,基本上就是該交易類別的 Header Table 的主鍵欄位,或是某個具有唯一性質的欄位。以請購單來說,這個變數的值就是 PO_REQUISITION_HEADERS_ALL.REQUISITION_HEADER_ID。

屬性 (Attributes)

有了需要的屬性值之後,就可以到條件畫面做條件式的定義。

條件 (Conditions)


好了,條件式已經好了,後面就是重頭戲 動作 (Action Types) 了,下一篇繼續吧!


沒有留言: