Timestamp 的操作
1. 如果原始欄位只是 DATE 或是 DATETIME, 可手動加上時區, 變成 TIMESTAMP 後, 再轉換成其他 Timezone
Aloz 發表在 痞客邦 留言(0) 人氣(243)
今天成本結帳時, 發現有一筆 Transaction 出現在 Uncosted Material/WSM, 因為這個基本上沒出現過, 所以去了 Matelink 研究了一下
主要的原因就是, 在 Material Transaction 中, 還有 Transaction 沒有產生 Cost 交易. 可以用以下 SQL 查出
Aloz 發表在 痞客邦 留言(0) 人氣(995)
有時, 在 Toad 跑一些 SQL 要放日期的變數值的時候, 會遇到日期格式的問題.
比如, 我個人偏愛的格式是 2015-01-14, 這樣的格式在我家的系統是不行的, 所以我 SQL 寫成
DATE = '2015-01-14'
它會報錯 "ORA-01861: Literal Does Not Match Format String". 然後我就必須改寫成
Aloz 發表在 痞客邦 留言(0) 人氣(425)
這幾天在研究是否可以在客製 Table 上利用 DB Trigger 直接呼叫標準 API 來用. 雖然, 可以用 Concurrent Program 來做, 了不起就排個一分鐘一次, 可是呢, 總是覺得 "一分鐘" 還是有個時間差, 而且交易量不大, 用排程的方式會造成很大量的時間都是浪費沒有交易的, 反而變成對 Server 是一個 Loading, 所以, 如果可以在當資料進來時, "馬上" 執行對應的處理程序, 不是很好嗎 :)
寫 Trigger 不是問題, 問題是在, "有些" 標準的 API 裡面如果有加上 COMMIT 或 ROLLBACK 指令, 在 Trigger 就不能呼叫它了, 你會得到以下訊息:
Aloz 發表在 痞客邦 留言(2) 人氣(1,212)
最近研究了一下 Pick Release 的做法, 總覺得, 標準畫面上有很多設定跟功能可以選擇, 為什麼用 API 就不行呢? 原來有新的做法呢!
1. WSH_DELIVERIES_PUB.DELIVERY_ACTION
這是從 11i 用到現在的, 功能不多, 如果只是要用來產生 Move Order 然後等等再去 Transact 那 OK, 因為它連 Pick Release Rule 都沒辦法指定, 但是可以指定 Ship Confirm Rule... 還有如果你的需求是要"馬上"得到結果, 那這個 API 也不沒辦法做到, 你可以把它視為標準畫面中按下 "Concurrent".
Aloz 發表在 痞客邦 留言(0) 人氣(1,921)
最近都在做 IR/ISO Automation 的程式, 因為 Pick Release 很難去要求系統 Pick 到指定的 Lot (就目前的了解, 最多就是指定到 Subinv. 與 Locator, 如果裡面有多筆資料, 就沒辦法了), 所以就來做 Item Reservation 吧...
注意事項先寫在前面:
1. 下面看到的所有欄位都要放, 就算是給 NULL 也要放 @@ 因為 API 會一個一個檢查
Aloz 發表在 痞客邦 留言(0) 人氣(1,149)
如何查詢 DB Object 的使用情況, 也就是 Dependency
1. 進入 SQL*PLUS
2. 先設定 Server Out 為 ON : SET SERVEROUT ON
3. 再輸入
Aloz 發表在 痞客邦 留言(0) 人氣(101)
有時, 我們會需要在 PL/SQL 寫一些訊息或長字串, 但是如果用到特殊字元, 就必須要做處理 (前面加上 Escape), 如果訊息長, 特殊字元又多, 那就真的很麻煩了, 這時候就可以使用 Quote Operator 了
範例 : SELECT q'#Oracle's quote operator#' FROM DUAL
Aloz 發表在 痞客邦 留言(3) 人氣(936)

Oracle 9i 之後, 有一個功能叫做
Pipelined, 它是一個 Function, 可是用法與 Table 相同, 優點有 :
- 快速, 不需等查詢執行完畢,每一筆 row 直接回傳結果
- 執行效率好
Aloz 發表在 痞客邦 留言(0) 人氣(3,386)
如何將 Timestamp 格式資料, 轉換為一般常用的 Date 格式
CAST(SYSTIMESTAMP AS DATE)
Aloz 發表在 痞客邦 留言(0) 人氣(966)