2011年11月22日 星期二

Oracle ERP R12. Mass Closs of Purchasing Documents(大量Close PO)

因為有些公司的採購人員未能有效的針對PO進行關結動作,導致長時間下來累積了大量的未結PO,此時就會需要進行大量PO的Close動作。但是若由Puchase Order Summary來執行Close動作則需要一筆一筆的關。該狀況下就會用到以下Concurrent Request了 (Ps : 據說是R12以後版本才提供的)

路徑 : PO模組
程式名稱 : Mass Closs of Purchasing Documents

Oracle ERP R12. (PAC成本制)PO收貨匯率與立帳匯率差異對於成本的影響

<情境設定>
PO : USD1$
PO匯率型態 : User Rate ==> 27
User Rate Vs. 三旬匯率

<分析>

 立帳,收料日同月份說明Rate立帳,收料日同月份跨月才立帳說明
收料Dr 待驗存貨   TWD$27
   Cr應付暫估 TWD$27
匯率固定不會變,
同PO
28RATE DATE :28
Dr 待驗存貨   TWD$28->29
   Cr應付暫估 TWD$28
   Cr IPV           TWD$1
(PAC3支程式後才會改29)
上月
Dr 待驗存貨   TWD$28
   Cr應付暫估 TWD$28
Rate Date預設為收料當天,可自行修改,但不會自動與變更後的收料日同步
入庫Dr 存貨           TWD$27
   Cr待驗存貨  TWD$27
  Dr 存貨           TWD$28->29
   Cr待驗存貨  TWD$28->29
上月或本月
Dr 存貨           TWD$28
   Cr待驗存貨  TWD$28
待驗存貨跟著收料跑,跨月存貨成本將不含匯差這麼說比較恰當: 收料時待驗存貨立帳多少, 入庫時的存貨科目就轉多少。
AP立帳Dr應付暫估 TWD$27
Dr 未實現匯兌差TWD$2
  Cr AP應付帳款 TWD$29
可變更匯率型態29Dr應付暫估 TWD$28
Dr 未實現匯兌差TWD$1
  Cr AP應付帳款 TWD$29
Dr應付暫估 TWD$28
Dr 未實現匯兌差TWD$1
  Cr AP應付帳款 TWD$29
可變更匯率型態,同收料匯率.為避免未實現匯兌差,
可修改立帳時的Rate Date,或用User指定匯率.

R12 PAC對於AP立帳與收貨之間匯率差異造成的價差,記在IPV科目,會造成AP是'未實現匯兌損益' 但 PAC是IPV科目而無法對沖。
但, 一般發票與採購單價差異, 收貨與立帳同月份的情況下, AP與PAC都是做IPV科目,在總帳可以Netting對沖掉。
付款Dr AP應付帳款  TWD$29
Dr 已實現匯兌差TWD$1
  Cr 現金or銀存 TWD$30
 30Dr AP應付帳款  TWD$29
Dr 已實現匯兌差TWD$1
  Cr 現金or銀存 TWD$30
Dr AP應付帳款  TWD$29
Dr 已實現匯兌差TWD$1
  Cr 現金or銀存 TWD$30
 

2011年11月20日 星期日

Oracle ERP R12. Check EBS timeout - SQL

分享由SQL來查詢各SESSION TIMEOUT的SQL :

SELECT A.DISABLED_FLAG,
       USER_NAME,
       SESSION_ID,
       LIMIT_CONNECTS,
       COUNTER,
       ROUND((SYSDATE - LAST_CONNECT) * 24 * 60) MINS_IDLE,
       TO_CHAR(FIRST_CONNECT, 'YYYY/MM/DD HH24:MI:SS') START_TIME,
       TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') CURRENT_TIME,      
       FND_PROFILE.VALUE_SPECIFIC('ICX_SESSION_TIMEOUT',
                                  A.USER_ID,
                                  A.RESPONSIBILITY_ID,
                                  A.RESPONSIBILITY_APPLICATION_ID,
                                  A.ORG_ID,
                                  NULL) TIMEOUT_MINS,
       LAST_CONNECT,
       TO_CHAR(LAST_CONNECT +
       (FND_PROFILE.VALUE_SPECIFIC('ICX_SESSION_TIMEOUT',
                                  A.USER_ID,
                                  A.RESPONSIBILITY_ID,
                                  A.RESPONSIBILITY_APPLICATION_ID,
                                  A.ORG_ID,
                                  NULL)/(24*60)),'YYYY/MM/DD HH24:MI:SS') TIMEOUT_TIME
  FROM ICX_SESSIONS A, FND_USER B
 WHERE A.USER_ID = B.USER_ID
   AND B.USER_NAME NOT IN ('GUEST','SYS','SYSTEM','SYSADMIN')
   AND SYSDATE > (LAST_CONNECT +
       (FND_PROFILE.VALUE_SPECIFIC('ICX_SESSION_TIMEOUT',
                                  A.USER_ID,
                                  A.RESPONSIBILITY_ID,
                                  A.RESPONSIBILITY_APPLICATION_ID,
                                  A.ORG_ID,
                                  NULL)/(24*60)))
   AND A.LAST_CONNECT > SYSDATE - 1
   AND A.DISABLED_FLAG = 'N';

2011年11月17日 星期四

Oracle ERP R12. <文章分享>Pending Transaction處理

有鑑於諸多pending transaction可能無法直接在畫面上re-submit,而需直接更新資料庫(Data fix)。其Oracle white paper有詳盡說明,個人認為此份文件寫得不錯,提供各位參考。
"Resolving Period Close Pending Transaction.pdf"

2011年11月16日 星期三

Oracle ERP R12. 如何於View Output將資料導向Excel

在之前的一篇文章"Oracle ERP R12. - 設定Viewe Output可以輸出至Excel" 中有提到,如何設定Report output可以由那些應用程式來開啟. 今天就運用同樣的道理來將Oracle 標準的Text報表導至Excel內.

主要原因有如下:
1. 若直接將Text File由Excel打開,則其每行資料會視同同一資料欄,其仍需要user手動做"資料剖析"的動作.(將資料分欄).
2. 若有些Oracle Standard Report是可以直接拿來用的,但是user又希望直接導至Excel後自行整理分析. (標準的View output==>Copy files會由Browser打開,則user要另存文字檔再轉Excel)
3. 不想使用Discoverer 或 用XML Templete (BI)的情況

原理:
1. 將Oracle Standard Report的Output format由Text改成XML. (將資料予以正規化)
例 : Journal Entry Reserve Ledger Report ==> 改為XML輸出 ==> 建議另存一個Program


2. 設定Viewer Options ==> 加入XML可以用Excel來開啟 (透過Excel來自動剖析資料成表格型態)

實際執行報表看結果
(記得選用Excel來開啟)



請選XML表格
結果呈現




Ps : 其它的應用就看各位先進如何利用現有的應用程式功能來開啟檔案了~~


2011年11月13日 星期日

Oracle ERP R12. 如何複製Periodic Average Cost至Standard Cost

【資料結構差異】
1.      標準成本類的Cost Type(Ex: PendingFrozen…)都是By Organization;但PACLegal Entity層級可以跨Organizations的成本類別。
2.      標準成本類的Cost Type可以記錄Cost Elements(ex: MaterialResourceOverheadOutside Processing)Sub-Element(ex: );但PAC只記錄Cost Element,沒有Sub-Elements
Setup
1          設定「彙總的」Sub-Elements
1.1.  區分Organization+Cost Elements設定
1.2.  一次性設定
1.3.  設定一命名為『Material』的Sub-Element(Material) . Ps : 一般早都有設定好了
1.4.  Resource彙總Sub-Element (Outsite process & Normal)

1.6.  Overhead彙總Sub-Element



【設定標準成本類的Cost Type】

複製PAC至標準成本類Cost Type
  執行「Copy Item Period Cost
  路徑:Cost Managementè Periodic Costing è Copy Periodic Costs
  報表參數內容如下。




2011年11月6日 星期日

Oracle ERP R12. 自訂專屬的Concurrent Manager

最近因為開發服務單位的自動出貨的程式,常常不知明的原因造成執行失敗,但又找不出資料面的問題,剛好又遇到最近USER在反應有些重要報表Pending跑不出來,經顧問診斷後發現是Create accounting時Oracle 會呼叫多個sub-request,而系統的Standard Manager的process數又不足以應付,導致大量的Request處於waiting狀態。 剛好我就試著將一些較重要的interface import程式獨立出來。結果就正常了@@,故初步判斷OM的API程式背後會呼叫一些Concurrent來作業,所以要確保被呼叫起來的concurrent是可以較快被服務(不然就可能會發生疑似Timeout的狀況,導致程式異常)。

以下就設定專屬Concurrent Manager的方式做一簡單說明 :
1. 路徑 : System Administrator / Concurrent / Manager / Define
2. 輸入 Manager 名稱 / Short Name / Application Name  設定快速通道名稱
3. Type 請選 Concurrent Manager
4. Program Library 請選FNDLIBR

5. 點Specialization Rules來進行程式的指定(即VIP程式)

6. 接著點選WorkShifts , 設定該快速通道的開放時間及Process數/偵測間隔


至上述步驟後,就可以至路徑 : System Administrator / Concurrent / Manager / Administer
檢查是否有專屬的Concurrent Manager開始服務

2011年11月1日 星期二

Oracle ERP R12. Auto Receiving To AP Interface (Oracle Standard Function : AutoInvoice)

因為目前服務的單位並沒有啟用AutoInvoice的機制,但後來有一些自動化過帳的客製需求,其要求PO收料後必需自動至AP做立帳動作,故就需要Oracle 該Standard Function來節省客製時間.
經同事及顧問的指導後,發現只要Supplier 及PO設定正確認,就可讓該PO於收料後自動轉抛AP INVOICE INTERFACE.再執行一Concurrent來進行import動作

1. Supplier設定 Pay On 及其後面三欄


<2011/11/03補充 : Payment Method Code亦要維護完整,建立header & site level皆維護>
2. PO設定 , 確認Pay On欄是否有設定


3. 收料後,執行"Pay On Receipt AutoInvoice"

4. "Pay On Receipt AutoInvoice"會再自動帶出"Payables Open Interface Import"
最後再至AP ,By RT 查就應該看的到了