從零開始:先搞懂「核准」是什麼,再學 Oracle Fusion 系統裡實際的表單長怎樣、每個欄位有哪些選項、選完怎麼按。
對應工作簿分頁 Sales Order Approval(= Manage Order Approval Rules)+ Order Management Parameter 的核准開關。屬「通用設定 General」。
「訂單核准(Order Approval)」就是:業務人員在系統裡按下「送出訂單」後,這張單不會馬上往下跑去出貨,而是先停下來、丟給某個主管簽核。主管按「核准」才繼續;按「退回」就打回草稿重改。
| 沒有核准(預設) | 有核准 |
|---|---|
| 業務送出 → 訂單直接進入履約(出貨/開發票) | 業務送出 → 系統判斷是否符合規則 → 符合就卡住等簽核 → 簽完才履約 |
| 快,但沒有管控 | 慢一步,但高風險訂單有人把關(金額、折扣、特定客戶…) |
| 狀態 | 意義 |
|---|---|
| Approval Pending | 規則被觸發,訂單鎖住、等簽核中 |
| Processing | 核准者按「核准」→ 解鎖,往下走履約 |
| Draft | 核准者按「退回」→ 打回草稿,業務重改後再送 |
很多新手卡在「我規則寫好了卻沒作用」——因為核准其實要設兩個地方,缺一不可。這是整件事的全局地圖:
Start Approval Process for Sales Orders 設成 Yes。Sales Order Approval 頁),用 IF/THEN/ELSE 寫「什麼訂單要誰簽」。Start Approval Process for Sales Orders = No。意思是這份 PRECONFIG 範本「示範了規則怎麼寫」,但母開關還沒打開。真的要用,記得回 Order Management Parameter 把它改 Yes(官方要求:對所有 source order system 都設 Yes)。每一條核准規則 = 一句「如果…就…否則…」的話。Oracle 用三塊積木組起來,跟寫程式的條件判斷一模一樣:
#USER20 簽。
#USER12 簽(或不需核准直接放行)。
這節是你問的重點——進到系統後,畫面長怎樣、每個欄位點下去有哪些選項。
畫面是一個圖形化規則編輯器。右上角按 Create New Rule 新增一條規則。新規則預設叫 “New Rule”,點名字可改名。
| 欄位 | 說明 | 選項 / 範例 |
|---|---|---|
| Rule Name | 規則名稱,自己取 | High Value Order Approval 必填 |
| Priority | 多條規則同時符合時的優先序 | 下拉:High / Medium / Low |
| Activate Rule | 啟用勾選框。沒勾 = 規則存在但不生效(灰色);勾了變綠色 | ☑ Checked / ☐ Unchecked |
| Effective Start / End Date | 規則生效起/迄日 | 日期,例 2018-01-01 |
在 IF 區點那個虛線圓圈 New Condition,跳出 “Create Condition” 對話框,填三格:
| 對話框欄位 | 意義 | 有哪些選項 |
|---|---|---|
| Attribute (Create Condition Attribute) | 要拿訂單的「哪個屬性」來判斷 | 從訂單屬性樹選,常見:Order Total Amount(訂單總額)、Primary(是否主要金額)、Customer(客戶)、Business Unit、Order Type、Item(品項)、Ordered Quantity(數量)、Product Category、折扣金額/比例、Requested Ship/Arrival Date… |
| Operator (Condition) | 比較運算子 | 下拉:> greater than、< less than、= / is equal to、>=、<=、not equal、between… 等 |
| Value | 比較的目標值 | 數字 / 文字 / 用 Search 查(客戶、品項這種要查清單)。例:500 |
填完按 OK → Save。要加第二個條件就點 AND(或 OR),Logic Operator 決定多條件之間是「都要成立(AND)」還是「成立其一(OR)」。
Order Total Amount 一個條件,系統會對每一種訂單金額類型各發一次核准請求(重複核准)。官方標準做法:再加一個條件 Primary is equal to Yes,限定只看「主要金額」。Primary = YES 的原因,不是多餘的。點 THEN 下的 New Action → 選 Perform an Action,跳出 “Create Action” 對話框。最關鍵的是 Action(動作類型)這個下拉——它決定「丟給誰簽」:
| Action(指派方式) | 意義 | 接著要填 |
|---|---|---|
| Assign to individual | 指定某一個人(最直接,你範例用這個) | Assigned To = Specific Worker → 填 User Name(如 #USER20) |
| Assign to Supervisory Hierarchy | 沿著 主管簽核鏈往上送(員工→主管→主管的主管) | 起點、往上幾層 |
| Assign to Approval Group | 丟給一個預先定義的核准群組(一群人) | 選 Approval Group 名稱 |
| Assign to Job Level | 依職級簽核(簽到某職等以上) | First Approver、Minimum Job Level、Utilized Approvers (All Levels…) |
選好指派方式後,還有兩個重要欄位:
| 欄位 | 選項 | 差別 |
|---|---|---|
| Required Action | Approval Required / Information Only (FYI) | 前者:一定要他點核准訂單才走;後者:只發通知給他知道,不擋訂單 |
| Assigned To | Specific Worker / Users / Application Role… | 「Assign to individual」時選 Specific Worker,再填 User Name |
填完按 OK / Save and Close。
結構跟 THEN 一模一樣(New Action → Perform an Action → Action → Required Action → Assigned To → User Name)。你的範例 ELSE = 金額 < 500 時改指派給 #USER12 核准。
註:Oracle 官方教學範例只示範 IF/THEN,但系統支援 ELSE 分支;你的工作簿就有用到。
Activate Rule,指示燈由灰轉綠=啟用。把你 Excel Sales Order Approval 分頁的每一格,對到上面講的系統欄位。左邊是 Excel 寫的、右邊是你在系統實際要做的。
| Excel 格 | 值 | 系統對應動作 |
|---|---|---|
| Rule Name | High Value Order Approval | Create New Rule 後改名 |
| Priority | Medium | Priority 下拉選 Medium |
| Activate Rule | Checked | 勾 Activate Rule(轉綠) |
| Effective Start Date | 2018-01-01 | 填生效日 |
| Excel 格 | 值 | 系統對應 |
|---|---|---|
| IF Condition Description | If Sales Order Exceeds 500 Euro | IF 的 Enter Description |
| Create Condition Attribute ① | Order Total Amount | Create Condition → Attribute |
| Operator ① | > | Condition = greater than |
| Value ① | 500 | Value = 500 |
| Logic Operator | AND | 點 AND 加第二條件 |
| Create Condition Attribute ② | Primary | Attribute = Primary |
| Operator ② | is equal to | Condition = is equal to |
| Value ② | YES | Value = Yes(防重複核准) |
| Excel 格 | 值 | 系統對應 |
|---|---|---|
| New Action | Perform an Action | New Action → Perform an Action |
| Action | Assign to individual | Action 下拉 |
| Required Action | Approval required | Required Action 下拉 |
| Assigned To | Specific Worker | Assigned To 下拉 |
| User Name | #USER20 | 填核准者帳號 |
| Excel 格 | 值 | 系統對應 |
|---|---|---|
| ELSE Condition Description | If Sales Order is less than 500 euro | ELSE 的 Description |
| Action | Assign to individual | 同 THEN 結構 |
| Required Action | Approval required | — |
| Assigned To | Specific Worker | — |
| User Name | #USER12 | 填另一位核准者 |
目標:重現工作簿範例「>500 EUR 找 #USER20 簽、否則 #USER12 簽」。
Start Approval Process for Sales Orders 設 Yes(所有 source system)。存檔。High Value Order Approval,Priority 選 Medium。Order Total Amount、Operator = >、Value = 500 → OK → Save。Primary、Operator = is equal to、Value = Yes → OK → Save。Assign to individual、Required Action = Approval Required、Assigned To = Specific Worker、User Name = #USER20 → Save and Close。#USER12。Approval Pending 並通知 #USER20。Start Approval Process for Sales Orders 還是 No,或規則沒按 Publish。這兩個是「規則寫了卻不觸發」的頭號原因。Order Total Amount 一個條件,會對每種金額類型各發一次。務必加 Primary = Yes。Specific Worker 填的 User Name 必須是系統裡已存在、且有核准權限的帳號,否則訂單會卡死無人可簽。| ✅ DO | ❌ DON'T |
|---|---|
| 先確認母開關 = Yes,再寫規則 | 規則寫完忘了 Publish |
金額類條件一律加 Primary = Yes | 只放 Order Total Amount 單一條件 |
| 指派前先確認核准者帳號存在 | 填一個不存在 / 沒權限的 User Name |
| 用 Priority 管理多條規則衝突 | 多條規則都同 Priority 又互相矛盾 |
| 先在測試環境驗證再上正式 | 直接在正式 Publish 沒驗證 |
| 概念 | 一句話 |
|---|---|
| 核准是什麼 | 訂單送出後先卡住等簽核,簽完才履約 |
| 預設有規則嗎 | 沒有,要自己建;不建 = 全部直接放行 |
| 設定在哪兩處 | ① OM Parameter 開總開關 ② Order Approval Rules 寫規則 |
| 規則結構 | IF(條件)→ THEN(動作)→ ELSE(否則動作) |
| IF 三格 | Attribute(屬性)/ Operator(運算子)/ Value(值) |
| THEN 四選一指派 | individual(指定人)/ Supervisory(主管鏈)/ Approval Group(群組)/ Job Level(職級) |
| 要不要擋單 | Required Action:Approval Required(擋)/ Information Only(只通知) |
| 生效三動作 | Save → Activate(轉綠)→ Publish |
| 金額條件鐵則 | 一定加 Primary = Yes,否則重複核准 |
| 訂單狀態 | Approval Pending → Processing(准)/ Draft(退) |
把 Excel Sales Order Approval 分頁每一個儲存格拿去對實際 Fusion 系統的控制項,逐一確認:是哪種控制項、真實環境的完整選項有哪些、Excel 填的值是否為合法選項。下面 ✅=官方文件已確認、⚠️=文件未明列需在你的 pod 下拉確認。
| Excel 欄位 | Excel 值 | 控制項 | 實際環境完整選項 | 確認 |
|---|---|---|---|---|
| Rule Name | High Value Order Approval | 自由輸入 | 任意文字(規則名稱) | ✅ 自由值 |
| Priority | Medium | 下拉 | High / Medium / Low(多條規則條件重疊時的評估優先序)。※ 雲端官方頁未逐字列出此三值;以實務編輯器為準,請在下拉確認。 | ⚠️ 需 pod 確認 |
| Activate Rule | Checked | 勾選框 | Checked(啟用,燈轉綠)/ Unchecked(停用,灰) | ✅ |
| Effective Start Date | 2018-01-01 | 日期選擇 | 任意日期 | ✅ |
| Effective End Date | (空白) | 日期選擇 | 任意日期;留空=永久有效 | ✅ |
Excel 兩個條件用了 Order Total Amount 與 Primary。實際環境這個下拉是一棵屬性樹,完整可選屬性(依類別分組)如下 ✅:
| 類別 | 完整屬性清單 |
|---|---|
| Order Header 訂單標頭 | Business Unit · Cost of Change · Created By · Customer · Freeze Price (Flag) · Open (Flag) · Order Change Version · Order Type · Ordered Date · Packing Instructions · Payment Term · Pricing Strategy Name · Primary Salesperson · Purchase Order · Sales Agreement · Sales Channel · Shipment Priority · Shipping Instructions · Source Document Type · Source Order System · Subinventory · Trade Compliance Status · Transaction Currency · Warehouse |
| Order Line 訂單明細 | Asset Tracked (Flag) · Cancellation Effective Date · Configuration Trade Compliance Status · Configured (Flag) · Customer Item · Inventory Transaction (Flag) · Item · Item Type · Line Type · Number for Covered Customer Product · Number for Covered Product · Order Line Category · Order Line Trade Compliance Status · Ordered Quantity · Ordered UOM · Over Fulfillment Tolerance · Payment Term · Priced in Secondary UOM · Primary Salesperson · Product Category · Project Number · Project Record Indicator · Purchase Order · Purchase Order Line · Requested Arrival Date · Requested Ship Date · Return Reason · Return Type · Return without a reference order · Returnable (Flag) · Sales Agreement · Sales Product Type · Secondary Ordered Quantity · Secondary UOM · Selling Profit Center Business Unit · Shipment Priority · Source Business Unit · Subinventory · Subscription Profile · Tax Classification Code · Under Fulfillment Tolerance · Warehouse |
| Order Line Details 明細細項 | Trade Compliance Comment · Trade Compliance Status · Trade Compliance Type · Trade Control Type |
| Order Totals 訂單總額 ←Excel 用此 | Order Total Amount · Order Total Type · Primary |
| Charges 收費 | Line Charge Name · Line Charge Periodicity · Line Rollup Charge · Extended Charge Amount |
| Charge Components 收費組成 | Charge · Charge Type · Unit Charge Amount |
| Price Adjustments 價格調整 | Manual Adjustment Basis · Manual Adjustment Reason · Manual Adjustment Type · Manual Adjustment Value · Periodicity · Rollup Charge Flag |
| Price Elements 價格元素 | Price Element Name · Price Source Type |
| Price Validation 價格驗證 | Validation Charge Component or Total · Validation Charge Periodicity · Validation Charge Type · Validation Rollup Charge Flag · Price Validation Code |
Order Total Amount 與 Primary 都在 Order Totals 類別內 ✅,是合法選項。Excel 用了 > 與 is equal to。實際環境完整運算子(編輯器顯示標籤|底層 API 代碼):
| 編輯器標籤 | 意義 | API 代碼 |
|---|---|---|
| is equal to ←Excel | 等於 | EQUALS |
| isn't / is not equal to | 不等於 | NOT_EQUALS |
| greater than ( > ) ←Excel | 大於 | GREATER_THAN |
| greater than or equal to | 大於等於 | GREATER_THAN_OR_EQUALS |
| less than ( < ) | 小於 | LESS_THAN |
| less than or equal to | 小於等於 | LESS_THAN_OR_EQUALS |
| between / not between | 區間內/外 | — |
| contains / doesn't contain | 包含/不含 | CONTAINS / DOES_NOT_CONTAIN |
| starts with / ends with | 開頭/結尾為 | STARTS_WITH / ENDS_WITH |
| is blank / is not blank | 空/非空(選用屬性建議先判 not blank) | IS_BLANK |
> 與 is equal to 都在清單內 ✅。※ 完整運算子集合來自 Oracle Business Rules 通用引擎;個別屬性會依資料型別(數字/文字/日期/旗標)只顯示適用的子集——例如 Order Total Amount 是金額,會出現 > / < / between,不會出現 contains。| Excel 欄位 | Excel 值 | 控制項 | 實際環境完整選項 | 確認 |
|---|---|---|---|---|
| Value | 500 / YES | 依屬性而定 | 數字型→輸入數字;文字/旗標型→輸入或 LOV(Primary 是 Yes/No);客戶/品項→按 Search 查清單 | ✅ |
| Logic Operator | AND | 下拉/連結 | and / or(多條件之間切換) | ✅ |
| Excel 欄位 | Excel 值 | 控制項 | 實際環境完整選項 | 確認 |
|---|---|---|---|---|
| Then/Else Condition Action | Do | 固定容器 | Do=THEN/ELSE 的動作區塊標籤(非下拉,固定) | ✅ |
| Condition Description | 文字 | 自由輸入 | 任意說明文字 | ✅ 自由值 |
| New Action | Perform an Action | 新增動作 | Perform an Action=新增一個路由動作的入口;動作的「種類」由下面 Action 下拉決定 | ✅ |
| Action (指派方式) | Assign to individual | 下拉 | ① Assign to individual(指定人)② Assign to approval group(核准群組)③ Assign to job level(職級鏈)④ Assign to supervisory hierarchy(主管鏈)⑤ Assign to position hierarchy(職位鏈)⑥ Auto Approve / Auto Reject(自動准/駁) | ✅ |
| Required Action | Approval required | 下拉/單選 | Approval Required(必須核准才放行)/ Information Only(FYI)(只通知不擋)/ Automatic(自動核准或駁回) | ✅ |
| Assigned To | Specific Worker | 下拉 | 選 Assign to individual 時:Specific Worker(指定員工,最常用)。其他文件型別還會出現 Requester/Preparer/Project manager 等,OM 銷售訂單情境主要用 Specific Worker。 | ✅ |
| User Name | #USER20 / #USER12 | LOV(查員工) | 系統內已存在且具核准權限的員工帳號 | ✅ 需為有效帳號 |
| 項目 | 狀況 | 建議驗證方法 |
|---|---|---|
| Priority 三值 | 雲端官方頁說明「用 priority 區分重疊條件」,但未逐字列出 High/Medium/Low。Excel 實填 Medium,可推斷至少含 Medium。 | 進 Manage Order Approval Rules → 點 Priority 下拉,直接看三個值 |
| New Action 是否有同層其他動詞 | 文件只展示 Perform an Action。OM 圖形編輯器的動作種類集中在其下的 Action 下拉(即 9-5 的六項),未見其他並列動詞。 | 新增動作時看是否只有 Perform an Action 一個入口 |
Sales Order Approval 分頁的每一個有填值的儲存格,其值都對應到實際系統的合法選項。需要你親自下拉核對的只有 Priority 的完整三值 一項(其餘皆已對照官方文件確認)。