@script.sql 執行失敗,但複製到 SQL Worksheet 卻能跑通。EXECUTE_QUERY 前必須 GO_BLOCK('block_name'),但 GO_BLOCK 為受限程序,不一定成功。BEGIN
fnd_client_info.set_org_context('83'); -- 設定 ORG_ID
END;
PL/SQL Developer 無環境變數,查詢多組織 View 前必須先跑此初始化。
HIDE_VIEW:僅移至最底層 (Z-order),若上層畫布未完全覆蓋,使用者仍可看見。SHOW_VIEW:移至最上層。VISIBLE 屬性或移動座標至可視區外。% (如 %keyword) 可模糊比對所有欄位。EXECUTE_QUERY 時自動帶入查詢條件;CREATE_RECORD 時自動初始化且不改變記錄狀態。PRE-QUERY 中將該項目設為 NULL。ENFORCE_KEY 屬性唯讀,由 Master-Detail 精靈自動建立/移除。app_query.reset('block_name');
-- 首次呼叫:備份當前 DEFAULT_WHERE
-- 後續呼叫:恢復首次備份的 DEFAULT_WHERE
| 場景 | 順序 |
|---|---|
| Commit 週期 | PRE-COMMIT → 各區塊 PRE-INSERT/ON-INSERT/POST-INSERT → POST-FORMS-COMMIT |
| List 驗證 | WHEN-LIST-CHANGED → WHEN-VALIDATE-ITEM (離開項目時才觸發) |
| 記錄建立 | PRE-FORM → WHEN-CREATE-RECORD → PRE-BLOCK → WHEN-NEW-FORM-INSTANCE → WHEN-VALIDATE-RECORD → ON-INSERT → POST-FORMS |
定位至 Master 新記錄 (未存檔) 時,Child 的 WHEN-CREATE-RECORD 讀取 Master 欄位會拿到「上一筆獲得焦點的記錄」值,而非當前新記錄。解法:在 Master POST-CHANGE 或 WHEN-VALIDATE-RECORD 以 Global 變數暫存,Child 端讀 Global。
項目 Initial Value 設 :SEQUENCE.NEXTVAL,使用者反覆 Focus 新/舊記錄會導致 Sequence 持續遞增浪費號碼。建議在 PRE-INSERT 觸發器中賦值。
ORDER BY NVL(col, CHR(0)) 讓 NULL 排在最前 (或用 CHR(255) 排最後),符合實務期望。