Oracle EBS Form Personalization(表單個人化)

在 Oracle EBS Form 中,要針對標準(內建)畫面或客製化畫面的某一欄位設定「必填(Required)」警示,最推薦、最安全且完全不需修改原始碼(FMB 檔案)的方法是使用 Form Personalization(表單個人化)。完整的設定步驟說明如下:

核心設定步驟

  • 開啟個人化視窗:將游標停在該 Form 畫面上,點選上方選單的 Help -> Diagnostics -> Custom Code -> Personalize
  • 設定觸發時機(Condition)
    • Trigger Event:選擇 WHEN-VALIDATE-RECORD(在使用者存檔或跳離該筆紀錄時進行驗證)。
    • Processing Mode:選擇 Not in Enter-Query Mode(確保在查詢模式下不會觸發必填警示)。
  • 設定警示與阻擋動作(Actions)
    • 第一條 Action(顯示警告訊息)
      • TypeMessage
      • Message TypeShowError(若選 Error 會直接中斷存檔動作)。
      • Message Text:輸入你要提示使用者的文字(例如:銷售渠道為必填欄位,請務必輸入!)。
    • 設定觸發條件(Condition 欄位下方的 Condition 語法)
      • 輸入::${區塊名}.${欄位名} IS NULL(例如::ORDER.SALES_CHANNEL_CODE IS NULL)。

詳細操作範例(以 OM 訂單畫面為例)

假設要設定「客戶訂單(Customer PO)」為必填,若使用者未填寫,在存檔時要跳出錯誤視窗並阻擋:

步驟 1:找出欄位的實體名稱

  1. 滑鼠點擊該欄位,點選 Help -> Diagnostics -> Examine
  2. 記下 Block(如 ORDER)與 Field(如 CUST_PO_NUMBER)。
image 9

步驟 2:建立個人化規則

  1. 進入 Form Personalization 視窗,新增一行規則:
    • Seq10
    • Description設定客戶訂單不可空白
    • LevelSiteResponsibility(依據你想套用的範圍決定)
image 10

步驟 3:配置 Condition(條件)

  • Trigger EventWHEN-VALIDATE-RECORD
  • Trigger Object:輸入你的 Block 名稱(例如:ORDER
  • Condition:ORDER.CUST_PO_NUMBER IS NULL
  • Processing Mode:Both 或 Not in Enter-Query Mode

步驟 4:配置 Actions(動作)

切換到 Actions 頁籤,新增一行:

  • Seq10
  • TypeMessage
  • Message TypeError(使用 Error 型態會自動中斷 Forms 的存檔程序,逼使用者一定要輸入)
  • Message Text錯誤:客戶訂單號碼不可空白!!,請輸入資料後再進行存檔!
image 11

儲存個人化設定後,關閉該 Form 畫面並重新打開。故意將該欄位留白並按下存檔(Ctrl + S),系統就會完美跳出您設定的警示視窗並阻止存檔。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *