首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle Forms 屏蔽英文提示的兩種實用技巧

     編輯:Oracle 資料庫相關知識

問題背景

Oracle Forms 執行時,螢幕下方訊息列顯示英文系統提示,多條訊息佇列時更會彈出視窗干擾操作。如何將其替換為中文提示?筆者總結兩種解法。

方法一:壓縮系統訊息,禁止顯示於訊息列

Oracle Forms 定義六級訊息重要等級:

等級含義
0所有訊息
5重申明顯條件
10操作員產生程序錯誤
15嘗試執行 Form 未設計的動作
20觸發器或突出問題導致無法繼續
25可能導致任務失敗的條件
>25開發人員無法壓縮的訊息

開發人員可壓縮的最大等級為 25,使用語法:

:SYSTEM.MESSAGE_LEVEL := '25';  -- 禁止顯示等級 ≤ 25 的系統訊息
:SYSTEM.SUPPRESS_WORKING := 'TRUE';  -- 禁止顯示處理動作時的工作訊息

限制:僅能屏蔽等級 ≤ 25 的訊息。

方法二:攔截系統訊息,轉換為中文提示

Oracle Forms 提供兩個觸發器:

  • ON-ERROR:顯示系統錯誤訊息時觸發
  • ON-MESSAGE:顯示通知訊息(狀態/上下文資訊)時觸發

在觸發器中撰寫 PL/SQL 替換英文提示。範例:

BEGIN
  IF :SYSTEM.ERROR_CODE = 40202 AND :SYSTEM.ERROR_TYPE = 'FRM' THEN
    MESSAGE('欄位值必須鍵入!');
    BELL;
  END IF;
END;

當發生 FRM-40202 錯誤,原英文 "field must be entered" 即被替換為中文 "欄位值必須鍵入!",用戶無需為陌生提示煩惱。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved