顯示具有 錯誤資料處理 標籤的文章。 顯示所有文章
顯示具有 錯誤資料處理 標籤的文章。 顯示所有文章

2013年10月6日 星期日

週期性成本分配 計算錯誤 CSTPALPC.create_dist_entry : 40






1. 從主機端直接抓 LOG (日誌太大時, 無法從系統直接打開)
   A. 找路徑

select logfile_name from fnd_concurrent_requests
where request_id = 2668178





然後用 ftp 直接抓下來, 這是純文字檔


2. log 檔查到
CSTPAPBR.create_inv_ae_lines: 0: begin << transaction_id: 8498336
CSTPAPBR.create_inv_ae_lines: 16: l_curr_rec.pri_currency = TWD; l_curr_rec.alt_currency =
CSTPAPBR.create_inv_ae_lines: 16: l_curr_rec.currency_conv_rate = -1
Pcu_cost_txn <<
Category: 1213 has no accounts defined
30005未定義科目給分類、成本型態、成本群組及合法實體.
CSTPALPC.dyn_proc_call : Error Calling Package
30005未定義科目給分類、成本型態、成本群組及合法實體.: CSTPALPC.create_dist_entry : 40
Create_Acct_Entry >>>
CSTPDPPC.dyn_proc_call : Error Calling Package
30005未定義科目給分類、成本型態、成本群組及合法實體.: CSTPALPC.create_dist_entry : 40

3. 回到異動檔查詢 TRANSACTION_ID=8498336 的紀錄

SELECT * FROM mtl_material_transactions WHERE TRANSACTION_ID=8498336
查出資料如下


Inventory_item_id = 136589  但是 organization_id = 82 , 這是 組織 ID

用以下 SQL 查出料號

SELECT segment1 FROM MTL_SYSTEM_ITEMS_B WHERE INVENTORY_ITEM_ID=136589 and organization_id=82

4. 然後到料號補入成本分類資料 (組織要選對)。


附註:

(1) 用來檢查庫存有異動但是沒有成本分類

select MMT.TRANSACTION_ID,msi.segment1,mic.category_concat_segs ,mic.organization_id
from  mtl_material_transactions MMT,
mtl_system_items msi,
MTL_ITEM_CATEGORIES_V MIC
where mic.CATEGORY_ID = 1213  ---T B D 
and mic.category_set_id = 1100000042
and mic.INVENTORY_ITEM_ID = msi.INVENTORY_ITEM_ID
AND MMT.organization_id = MSI.ORGANIZATION_ID
AND MIC.organization_id = MSI.ORGANIZATION_ID
and MMT.INVENTORY_ITEM_ID = msi.INVENTORY_ITEM_ID

(2) 用來檢查基本資料成本分類是TBD
select msi.segment1,mic.category_concat_segs ,mic.organization_id
from mtl_system_items msi,
MTL_ITEM_CATEGORIES_V MIC
where mic.CATEGORY_ID = 1213  ---T B D 
and mic.category_set_id = 1100000042
and mic.organization_id = 82 ---  組織代號
and mic.ORGANIZATION_ID = msi.ORGANIZATION_ID
and mic.INVENTORY_ITEM_ID = msi.INVENTORY_ITEM_ID

(3) 檢查完全未設成本分類的料號
SELECT msi.inventory_item_id,msi.segment1,
msi.organization_id
FROM mtl_system_items_b msi
WHERE msi.organization_id = 86 ---  組織代號
AND MSI.INVENTORY_ITEM_ID IN (SELECT DISTINCT inventory_item_id
FROM mtl_material_transactions
WHERE organization_id =86) ---  組織代號
AND NOT EXISTS(
SELECT category_id
FROM mtl_item_categories mic
WHERE mic.inventory_item_id = msi.inventory_item_id
AND mic.organization_id = msi.organization_id
AND mic.category_set_id = 1100000042);


2013年3月3日 星期日

沖銷預留量時發生錯誤


沖銷預留量時發生錯誤
an error occurred while relieving reservations not exist

財務在結成本時,成本 >會計關帳週期 > 存貨會計期間>暫緩>暫緩原物料, 發現此暫緩資料

狀況說明:
1. 錯誤:沖銷預留量時發生錯誤
2. INV > 預留量查詢:找不到此筆訂單的預留資料
3. OM > 訂單查詢 > 訂單狀態:已結
4. OM > 出貨單  > 狀態 :已出貨,下一步:執行介面
5. OM > 出貨 > 介面 >執行 >連接運送航程停靠點 – SRS > 結果 : 警告
6. INV >原物料工作平台:查詢此料號的 Stage 庫存數量不足。

處理說明:請注意, 必須先在測試區試作, 確認沒有問題後才能到正式區執行
  1. 因訂單已結,也沒有預留量資料,無法依照正常作業處理,要正常沖銷預留量,必須(1) 產生一筆預留量資料給系統沖銷 (2) Stage倉數量必須足夠

  1. 料號 2VP116002911

SELECT INVENTORY_ITEM_ID FROM MTL_SYSTEM_ITEMS_B WHERE SEGMENT1=2VP116002911’ AND ORGANIZATION_ID=86

得到 INVENTORY_ITEM_ID=17639

  1. 訂單號碼 1300061.1\.銷貨_外銷.ORDER ENTRY

SELECT HEADER_ID FROM OE_ORDER_HEADERS_ALL WHERE ORDER_NUMBER=1300061

得到 HEADER_ID=86420

SELECT * FROM OE_ORDER_LINES_ALL WHERE HEADER_ID=86420

找到 LINE_ID=122605  >> 我們需要 這個 LINE_ID 來作業

  1. 我們要用別筆訂單預留量資料來 「改造」 成我們需要的資料:
SELECT * FROM mtl_reservations WHERE INVENTORY_ITEM_ID=17639
選定 RESERVATION_ID=125820 DEMAND_SOURCE_LINE_ID=126590,訂單號碼:1300688 來作分項處理



      相關的 TABLE 有 mtl_reservations , mtl_demand


      (1) 將選定訂單的預留量減少 , 由 5 PCS 改成 2 PCS
update mtl_reservations  set RESERVATION_QUANTITY=2,PRIMARY_RESERVATION_QUANTITY=2 WHERE RESERVATION_ID=125820
從資料庫將預留量改為 2 pcs , 這樣從系統中可以再作一筆 預留量 3pcs 的資料出來

(2) 從 INV > 庫存量、可用性 > 預留量 的作業, 針對此訂單 1300688 的同一筆訂單明細行新增一筆預留量資料,數量 3 PCS

(3) 找出新的預留資料
SELECT * FROM mtl_reservations WHERE DEMAND_SOURCE_LINE_ID=126590
新的 RESERVATION_ID =129798
SELECT * FROM mtl_demand WHERE INVENTORY_ITEM_ID=17639
新的DEMAND_ID =129800

(4) 將新的資料加工,變成我們需要的訂單明細行資料,需要調整的欄位有:
  Table  :  mtl_reservations
 Fields : RESERVATION_QUANTITY 保留數量
PRIMARY_RESERVATION_QUANTITY 保留數量
DEMAND_SOURCE_LINE_ID 訂單明細行 ID
DEMAND_SOURCE_HEADER_ID 這個ID 須要用以下方式取得
SELECT inv_salesorder.get_salesorder_for_oeheader(HEADER_ID)
                        FROM OE_ORDER_LINES_ALL  WHERE LINE_ID = 122605
以上的 122605 DEMAND_SOURCE_LINE_ID

指令
update mtl_reservations  set RESERVATION_QUANTITY=23,PRIMARY_RESERVATION_QUANTITY=23 WHERE RESERVATION_ID=129798;

update mtl_reservations  set  DEMAND_SOURCE_LINE_ID =122605 (OE LINE_ID) WHERE RESERVATION_ID =129798;

update mtl_reservations  set DEMAND_SOURCE_HEADER_ID =(SELECT inv_salesorder.get_salesorder_for_oeheader(HEADER_ID) FROM OE_ORDER_LINES_ALL WHERE LINE_ID = 122605 (OE LINE_ID) ) WHERE RESERVATION_ID =129798;

然後要將先前一開始數量由5改成2的預留資料改回原本的 5 pcs
update mtl_reservations  set RESERVATION_QUANTITY=5,PRIMARY_RESERVATION_QUANTITY=5 WHERE RESERVATION_ID=125820;


Table  :  mtl_demand
Fields : LINE_ITEM_QUANTITY 需求數量
PRIMARY_UOM_QUANTITY 需求數量量
DEMAND_SOURCE_LINE 訂單明細行 ID
DEMAND_SOURCE_HEADER_ID 這個ID 須要用以下方式取得
SELECT inv_salesorder.get_salesorder_for_oeheader(HEADER_ID)
                        FROM OE_ORDER_LINES_ALL  WHERE LINE_ID = 122605
以上的 122605 DEMAND_SOURCE_LINE

指令
update mtl_demand  set LINE_ITEM_QUANTITY=23,PRIMARY_UOM_QUANTITY=23 WHERE DEMAND_ID =129800;

update mtl_demand  set DEMAND_SOURCE_LINE =122605 (OE LINE_ID) WHERE DEMAND_ID =129800;

update mtl_demand  set DEMAND_SOURCE_HEADER_ID =(SELECT inv_salesorder.get_salesorder_for_oeheader(HEADER_ID) FROM OE_ORDER_LINES_ALL  WHERE LINE_ID = 122605 (OE LINE_ID)) WHERE DEMAND_ID =129800;

5. 由於 Stage 倉的數量不夠,必須用INV > 異動 > 倉庫移轉 將數量移轉到 Stage 倉,注意日期要與出貨日在同一個會計週期。

完成,可以進入成本 >會計關帳週期 > 存貨會計期間 > 暫緩 > 暫緩原物料 去執行提交

注意事項:這是非正規也是不得已的作法,因為 metalink 中找不到可以用的 datafix