原本只知道 NVL 這個 Function, 可是當我有三個欄位需要判斷時就會很麻煩

NVL ( NVL ( A, B ), C )

上網 Google 了一下, 找到了 Coalesce

Coalesce ( A, B, C )

http://www.1keydata.com/sql/sql-coalesce.html

Aloz 發表在 痞客邦 留言(1) 人氣()

當 User 打一張 RMA 類型的訂單時, Return Reason 欄位是必填的,

但, 裡面的內容不夠要怎麼增加呢?

Path : OM Superuser > Setup > QuickCodes > Receivables

Type : CREDIT_MEMO_REASON

Aloz 發表在 痞客邦 留言(2) 人氣()

每個使用者都可以自定自己喜歡的日期呈現格式, 可使用 FND_PROFILE.VALUE ( 'ICX_DATE_FORMAT_MASK' ) 去抓取設定.

時間格式都是使用 HH24:MI:SS, 所以不用另外抓取設定

Example:

TO_CHAR(SYSDATE, FND_PROFILE.VALUE ( 'ICX_DATE_FORMAT_MASK' ) || ' ' || 'HH24:MI:SS'))

Aloz 發表在 痞客邦 留言(0) 人氣()

當需要使用 Personalize 控制 Datetime 欄位值的時候, 必須要將值轉成 CHAR 型態 (TO_CHAR), 如果直接使用 DATE 型態 (TO_DATE), 就算給的資料有時間, 寫入時仍然只有日期, 然後時間部份都會呈現 00:00:00

Aloz 發表在 痞客邦 留言(0) 人氣()

最近突然發現, Oracle 標準 Report 中的 Credit Exposure Report, 有客戶的 Exposure 沒有正確的計算出來, 而跑到 Unchecked Exposure 這個欄位裡面, 去 Metalink 查詢後才發現問題出在 Customer Credit Profile 的設定

Oracle Metalink 上找到的答案


While creating usage rule, you may have certain currencies to be excluded from the rule set.

(N) OM -> Setup -> Credit -> Define Usage Rules

Define Credit Usage Rules

The rule set can be assigned to ct/site/profile.

(N) OM -> Setup -> Credit -> Assign Usage Rules

Assign Credit Usage Rules

Transactions on this currencies will be excluded while calculating exposure. If the exclude flag is set for any currency the exposure for the same is displayed as unchecked exposure.

Unchecked Exposure displays exposure, that was not accounted by any credit profile. The calculation is same as normal exposre calculation. The only difference is excluded currencies will be passed to the procedure get_exposure.

Exposure is calculated based on the credit check rule where the ct can specify what all values should be included in calculating the exposure. How
credit check rule is used, is mentioned in Oracle Implementation guide. This exposure will be based on currencies as per credit usage rule.

If the credit usage rule is saying to exclude some currencies, the exposure for the same will appear as Unchecked Exposure.

Aloz 發表在 痞客邦 留言(0) 人氣()

Blanket Sales Agreements (BSA) 在 Oracle OM 中蠻特殊的功能, 因為好像很少人在用

我們是有用到, 不過是代替 Quote 來使用, 因為 BSA 可以連接到價目表 (Price List), 在特定的條件下還蠻好用的

◎ 我認為的優點

1. 可連接價目表 (Price List): 若訂單是屬於量產品, 這會是不錯的功能

2. 代替 Quote 使用: 一樣, 若價格固定的訂單, 可以直接使用 BSA 來產生很多張訂單

3. 在畫面上即可統計該 BSA 產生的 Amount

4. 指定單價的維度可以有: All Items / Item Category /  Customer Item / Internal Item, 其中, All Items 需要另外指定到 UOM

◎ 我認為的缺點

1. 不是每個商業模式都能適用: 如果單價是浮動, 或著不是 Item Base 的訂單, 就會很難使用到 BSA, 或著只是取個號碼當成 Quote 單號

2. (不是缺點的缺點) BSA 的生效期間是與 Sales Order Header 的 Order Date 與 Sales Order Line 的 Request Date 有關

先前有一篇文章是與上面這點有關的 Patch, 可一起參考 http://aloz0101.pixnet.net/blog/trackback/f0af3fdfad/11594719


再補充一下我們這邊的應用:

如前面所說, 我們是把 BSA 當成 Quote 使用, 所以, 當 Quote 要產生之前, 使用者就會來 BSA 取號, 也就是先建立單頭. 然後等內容確定之後, 再將內容補上, 所謂的內容就是那個 Item 要賣多少錢等等. 全部的資料建立完並且確認無誤之後, 使用者就會按下 Submit Draft, 此 BSA 就會正式生效, 使用者也無法再針對內容做修改 (P1). 這樣的預期效果是, 如果使用者在建立訂單後, 單價與 BSA 不符合, 就很容易的判斷出來 (P2), 以達到稽核的功效.

P1. 可以透過利用 Profile 來做設定

P2. 因為公司產業特性問題, 我們是允許使用者修改訂單預設單價的

Aloz 發表在 痞客邦 留言(0) 人氣()

在 WSH_NEW_DELIVERIES  中的 ULTIMATE_DROPOFF_LOCATION_ID, 會等於 RA_ADDRESSES_ALL 的 PARTY_LOCATION_ID

Aloz 發表在 痞客邦 留言(0) 人氣()

在 Oracle 標準的 Shipping Transaction 中, 按下 Ship Confirm 按鈕後, 有一個 Ship Options 的選項 : Backorder All

Confirm Delivery

主要是用在, 當 Delivery Detail 產生揀貨事實 (Pick) 後, 因為揀錯貨 or Lot 錯等等問題, 要將 Reserved 的量 Release 出來

但是, 這個功能也只有把 On-Hand 量 Release 出來而已, 貨還是停留在出貨倉, 並不會回到揀貨來源 (Pick From)

補充: 因為我們對倉儲的控管比較嚴格, 所以我們不允許直接對出貨倉做揀貨動作

這樣的情況對於揀貨人員是一個不小的困擾, 量小還可以人為操作 (Move Order), 量一大出錯的機率就大增


目前發現, 如果同一條訂單 Line 原先 Pick 了一個以上的 Lot Number, Delivery Detail 會被拆開. 之後再做 Backorder, 系統會把這些 Delivery Detail 做合併的動作, 合併的方式如下 :

1. Delivery Detail ID 最小 : Pick Status => 'B'

2. 其他 Delivery Detail ID : 先將 Pick 數量寫入變數, 再 Delete Line (WSH_DELIVERY_DETAILS)

3. 將被 Delete 的 Line 的 Pick 數量加到第一條的 Detail 裡面

所以, 目前先埋 DB Trigger 到 WSH_DELIVERY_DETAILS, 針對 Pick Status 轉為 'B' 與 Delete 的情況, 將所需要的資料抄寫到 Temp Table 中, 如果沒有其他例外, 應該就可以往下寫了.....

(待續....)

Aloz 發表在 痞客邦 留言(0) 人氣()

User希望可以寫一個客製Form, 然後用個按鈕就可以Submit Report

1. 一般報表

:result := fnd_request.submit_request(application    varchar2 --模組
                                      ,program        varchar2 --應用程式簡稱
                                      ,description    varchar2 --請求說明(非必填)
                                      ,start_time    varchar2 --RUN 時間(非必填)
                                      ,sub_request    boolean     --立刻提交請求 (FALSE)
                                      ,argument1    varchar2 --參數1
                                      ,argument2    varchar2 --參數2
                                      ,argument3    varchar2 --參數3
                                      ,argument4    varchar2 --參數4
                                      ,argument5    varchar2 --參數5
                                      .......
                                      ,argument100    varchar2);

2. PDF報表

除了使用fnd_request.submit_request來Submit Report之外,

在前面還需要增加一行:

XML_LAYOUT := FND_REQUEST.ADD_LAYOUT(application    varchar2 --模組
                                    ,program        varchar2 --應用程式簡稱
                                    ,file language    varchar2 --語言縮寫(ISO Value): 'en'
                                    ,file territory    varchar2 --語系縮寫(ISO Value): 'US'
                                    ,output format    varchar2 --輸出格式: 'PDF');

 

3. 最後, 還需要加一段 DO_KEY('COMMIT_FORM'); 喔~~

Aloz 發表在 痞客邦 留言(9) 人氣()

最近在研究 OAF 與 Oracle Workflow 的整合作法, 沒有心得, 只能寫些小東西....

今天突然發現, 我平時很常用的 View : RA_CUSTOMERS 有個問題, Customer Name 被截斷

原始的 Table : HZ_PARTIES, PARTY_NAME 是有 360 Bytes, 可是這個 View 卻用了 Substr 把 Customer Name (Party Name) 截斷成 50 Bytes,

完全不明白為什麼, 只好自己產生客製 View, 然後改所有的程式..........

Aloz 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼