不能創(chuàng)建會計(jì)分錄

轉(zhuǎn)自:http://blog.csdn.net/yy5512/article/details/4404772

不能創(chuàng)建會計(jì)分錄   
--------------------------------------------------------------------------------
打補(bǔ)丁:6826219和6901404

處理原理:
如果創(chuàng)建會計(jì)分錄失敗,只要把xla_events.event_status_code和xla_events.process_status_code都改成'U',
然后提交<<創(chuàng)建會計(jì)科目>>請求或者直接在**界面創(chuàng)建會計(jì)分錄,
創(chuàng)建會計(jì)分錄程序不管xla_ae_headers和xla_ae_lines是否有與xla_events相應(yīng)記錄,
都會重新創(chuàng)建xla_ae_headers和xla_ae_lines記錄

-----------------------------------------------------------------------------
處理應(yīng)付**不能創(chuàng)建會計(jì)分錄例子一:
create table xla_events_bkp
as select * from xla_events
where event_id in (select event_id  from xla_events e
                  where e.application_id = 200
                  and e.event_status_code ='P'
                and not exists ( select 1 from xla_ae_headers h
                                where e.event_id = h.event_id ));
UPDATE xla_events
SET event_status_code = 'U',
  process_status_code = 'U'
WHERE event_id IN (select event_id  from xla_events e
                  where e.application_id = 200
                  and e.event_status_code ='P'
                  and not exists ( select 1 from xla_ae_headers h
                                    where e.event_id = h.event_id ));
運(yùn)行<<創(chuàng)建會計(jì)科目>>請求
-----------------------------------------------------------------------------
處理應(yīng)付**不能創(chuàng)建會計(jì)分錄例子二:
**號200803005(已取消) 部分創(chuàng)建會計(jì)分錄,付款號1102000006 不能創(chuàng)建會計(jì)分錄
因?yàn)橄扔?*再有付款,所以思路
1.先試圖創(chuàng)建**的會計(jì)分錄
SELECT invoice_num,invoice_id,doc_sequence_id,doc_sequence_value FROM ap_invoices_all
WHERE invoice_num = '200803005'

select event_id,ae_header_id,a.* from xla_ae_headers a
WHERE doc_sequence_id = 130
AND doc_sequence_value = '210401983'

SELECT event_id,a.* FROM xla_ae_headers a
WHERE event_id IN (70300,80395)
找到那條xla_ae_headers記錄沒有創(chuàng)建會計(jì)分錄的event_id=70300,ae_header_id=57016

DELETE FROM xla_ae_lines
WHERE ae_header_id = 57016

DELETE FROM xla_ae_headers
WHERE ae_header_id = 57016

UPDATE xla_events
SET event_status_code = 'U',
  process_status_code = 'U'
WHERE event_id =  70300
運(yùn)行<<創(chuàng)建會計(jì)科目>>請求
2.再試圖創(chuàng)建付款的會計(jì)分錄
SELECT * FROM xla_ae_headers
WHERE DESCRIPTION LIKE '%1102000006%'
  AND je_category_name = 'Payments'

DELETE xla_ae_lines
WHERE ae_header_id IN (101270,101271)

DELETE xla_ae_headers
WHERE ae_header_id IN (101270,101271)

UPDATE xla_events
SET event_status_code = 'U',
  process_status_code = 'U'
WHERE event_id IN (70302,80394)
運(yùn)行<<創(chuàng)建會計(jì)科目>>請求
-----------------------------------------------------------------------------
處理應(yīng)付**不能創(chuàng)建會計(jì)分錄例子三
ET1104應(yīng)付 **號8000480849/859/862沒有創(chuàng)建會計(jì)分錄的原因是:
該**行1和 **行2 已放棄.

損益行中的帳戶無效。如果您已定義損益日記帳行類型,請?jiān)谌沼泿ば卸x中檢查附加至該類型的帳戶推導(dǎo)規(guī)則。否則,請檢查映射至?xí)?jì)屬性“匯兌收益帳戶”和“匯兌損失帳戶”
的來源值。
無法創(chuàng)建帳戶,因?yàn)?&OWNER 擁有的帳戶推導(dǎo)規(guī)則 &COMPONENT_NAME 的所有條件均不滿足。請更新 &COMPONENT_NAME 的條件,或分配其它帳戶推導(dǎo)規(guī)則至 &PAD_OWNER 擁有的
應(yīng)用產(chǎn)品會計(jì)定義 &PAD_NAME.
子分類帳會計(jì)無法使用 &OWNER 擁有的帳戶推導(dǎo)規(guī)則 &COMPONENT_NAME 導(dǎo)出會計(jì)科目代碼組合。請復(fù)核帳戶推導(dǎo)規(guī)則,并確保對于為此事務(wù)處理傳送的來源值,此規(guī)則可以導(dǎo)出
有效的會計(jì)科目彈性域組合。

請根據(jù)以上錯誤信息,檢查 當(dāng)**行被放棄時(shí),匯兌損益 相關(guān)的帳戶推導(dǎo)規(guī)則 ,映射至?xí)?jì)屬性“匯兌收益帳戶”和“匯兌損失帳戶”的來源值,

但是顧問沒有檢查出來設(shè)置是否有問題。這也許是oracle的一個bug.

臨時(shí)處理方法:
直接在表中刪除了放棄行的**分配行和**行
CREATE TABLE AP_INVOICE_DISTRIBUTIONS_0427
AS SELECT * FROM AP_INVOICE_DISTRIBUTIONS_all
WHERE invoice_id = 15761 and invoice_line_number IN (1,2) 

SELECT * FROM AP_INVOICE_DISTRIBUTIONS_0427

CREATE TABLE AP_INVOICE_LINES_0427 as
SELECT * FROM AP_INVOICE_LINES_all
WHERE invoice_id = 15761
  AND line_number IN (1,2)
  
SELECT * FROM AP_INVOICE_LINES_0427
  
DELETE FROM AP_INVOICE_DISTRIBUTIONS_all
WHERE invoice_id = 15761 and invoice_line_number IN (1,2) 

DELETE FROM AP_INVOICE_LINES_all
WHERE invoice_id = 15761
  AND line_number IN (1,2)
直接在**界面創(chuàng)建會計(jì)分錄

最終處理方法:建議用戶提t(yī)ar由oracle官方解決
-----------------------------------------------------------------------------
處理應(yīng)付**不能創(chuàng)建會計(jì)分錄例子四:
這張**2008030888.不能創(chuàng)建會計(jì)分錄的原因是 沒有錄入**的分配信息
-----------------------------------------------------------------------------
處理應(yīng)付**不能創(chuàng)建會計(jì)分錄例子五:
標(biāo)準(zhǔn)**核銷預(yù)付款**后,部分會計(jì)分錄不能創(chuàng)建。已入帳顯示:部分
措施:
先在**界面上驗(yàn)證相關(guān)**,然后在**界面上創(chuàng)建會計(jì)分錄
-----------------------------------------------------------------------------
處理應(yīng)付**不能創(chuàng)建會計(jì)分錄例子六:
駱勇平員工由于EBS bug,再導(dǎo)入費(fèi)用報(bào)表后,產(chǎn)生兩個駱勇平供應(yīng)商,經(jīng)過刪除其中一個供應(yīng)商和供應(yīng)商地點(diǎn)后
產(chǎn)生的出來會計(jì)分錄信息居然還有被刪除供應(yīng)商的ID,供應(yīng)商地點(diǎn)ID
措施:
找到了xla_ae_lines.party_id(這里找到有些會計(jì)分錄的創(chuàng)建是根據(jù)以前會計(jì)分錄記錄來創(chuàng)建的,比如ref_event_id,ref_ae_header_id)
于是將xla_ae_lines.party_id,xla_ae_lines.party_site_id統(tǒng)統(tǒng)改成了現(xiàn)在的駱勇平供應(yīng)商ID和供應(yīng)商地點(diǎn)ID
運(yùn)行cux_fix_invoice_accounting_pkg.fix_invoices程序,修正數(shù)據(jù)
運(yùn)行<<創(chuàng)建會計(jì)科目>>請求
----------------------------------------------------------------------------
修正數(shù)據(jù)的程序包c(diǎn)ux_fix_invoice_accounting_pkg:
CREATE OR REPLACE PACKAGE cux_fix_invoice_accounting_pkg IS
  PROCEDURE fix_invoices(p_invoice_id IN NUMBER);
  PROCEDURE fix_payments(p_payment_num IN VARCHAR2);
END;
/
CREATE OR REPLACE PACKAGE BODY cux_fix_invoice_accounting_pkg IS
  PROCEDURE fix_invoices(p_invoice_id IN NUMBER) IS
    CURSOR cur_invoice(i_cur_invoice_id IN NUMBER) IS
      SELECT doc_sequence_id,doc_sequence_value FROM ap_invoices_all
        WHERE invoice_id = i_cur_invoice_id;
    CURSOR cur_xla_ae_headers(i_cur_doc_sequence_id IN NUMBER,i_cur_doc_sequence_value IN NUMBER) IS
      SELECT event_id,ae_header_id from xla_ae_headers
       WHERE doc_sequence_id = i_cur_doc_sequence_id
         AND doc_sequence_value = i_cur_doc_sequence_value;
  BEGIN
    FOR rec_invoice IN cur_invoice(p_invoice_id) LOOP
      FOR rec_xla_ae_headers IN cur_xla_ae_headers(rec_invoice.doc_sequence_id,rec_invoice.doc_sequence_value) LOOP
        INSERT  INTO xla_ae_lines080421
          SELECT * FROM xla_ae_lines
            WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
        INSERT INTO xla_ae_headers080421
          SELECT * FROM xla_ae_headers
          WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
        DELETE xla_ae_lines
          WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
        DELETE xla_ae_headers
          WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
      END LOOP;
    END LOOP;
    
    UPDATE xla_events
    SET event_status_code = 'U',process_status_code = 'U'
    WHERE event_id IN (SELECT event_id  FROM xla_events e
                         WHERE e.application_id = 200
                           AND e.event_status_code ='P'
                           AND NOT EXISTS (SELECT 1 FROM xla_ae_headers h
                                             WHERE e.event_id = h.event_id ));
    COMMIT;
  END;
  
  PROCEDURE fix_payments(p_payment_num IN VARCHAR2) IS
    CURSOR cur_xla_ae_headers(i_cur_payment_num IN NUMBER) IS
      SELECT event_id,ae_header_id from xla_ae_headers
       WHERE description LIKE '%'||i_cur_payment_num||'%'
         AND je_category_name = 'Payments';
  BEGIN
    FOR rec_xla_ae_headers IN cur_xla_ae_headers(p_payment_num) LOOP
      INSERT  INTO xla_ae_lines080421
        SELECT * FROM xla_ae_lines
          WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
      INSERT INTO xla_ae_headers080421
        SELECT * FROM xla_ae_headers
        WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
      DELETE xla_ae_lines
        WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
      DELETE xla_ae_headers
        WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
    END LOOP;
    
    UPDATE xla_events
    SET event_status_code = 'U',process_status_code = 'U'
    WHERE event_id IN (SELECT event_id  FROM xla_events e
                         WHERE e.application_id = 200
                           AND e.event_status_code ='P'
                           AND NOT EXISTS (SELECT 1 FROM xla_ae_headers h
                                             WHERE e.event_id = h.event_id ));
    COMMIT;
  END;
END;
/
--=============================================================================
處理應(yīng)收事務(wù)處理不能創(chuàng)建會計(jì)分錄例子:
貸項(xiàng)通知單11040000002921不能創(chuàng)建會計(jì)分錄

通過界面找到貸項(xiàng)通知單11040000002921對應(yīng)的原始**11040000002801,
發(fā)現(xiàn)11040000002801沒有創(chuàng)建會計(jì)分錄,在界面上將11040000002801創(chuàng)建會計(jì)分錄成功。

貸項(xiàng)通知單11040000002921按完成按鈕后,發(fā)現(xiàn)不能保存,做跟蹤約束值,
發(fā)現(xiàn)跟蹤文件的最后幾句
*******************************************************************************

SELECT AE.EVENT_ID , AE.EVENT_DATE , AE.EVENT_STATUS_CODE, AE.EVENT_TYPE_CODE 
FROM
XLA_EVENTS AE, XLA_TRANSACTION_ENTITIES_UPG XT, RA_CUSTOMER_TRX_ALL TRX 
  WHERE TRX.CUSTOMER_TRX_ID = :B3 AND NVL(XT.SOURCE_ID_INT_1,-99) = 
  TRX.CUSTOMER_TRX_ID AND XT.ENTITY_CODE = 'TRANSACTIONS' AND XT.LEDGER_ID = 
  TRX.SET_OF_BOOKS_ID AND XT.ENTITY_ID = AE.ENTITY_ID AND XT.APPLICATION_ID = 
  222 AND AE.APPLICATION_ID = 222 AND NVL(AE.EVENT_DATE, TO_DATE('01-01-1900',
  'DD-MM-YYYY')) = :B2 AND AE.EVENT_STATUS_CODE <> 'P' AND :B1 = 
  AE.EVENT_TYPE_CODE 


call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0         11          2           1
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        3      0.00       0.00          0         11          2           1

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 44     (recursive depth: 1)
*******************************************************************************

SELECT MESSAGE_TEXT, MESSAGE_NUMBER, TYPE, FND_LOG_SEVERITY, CATEGORY, 
  SEVERITY 
FROM
FND_NEW_MESSAGES M, FND_APPLICATION A WHERE :B3 = M.MESSAGE_NAME AND :B2 = 
  M.LANGUAGE_CODE AND :B1 = A.APPLICATION_SHORT_NAME AND M.APPLICATION_ID = 
  A.APPLICATION_ID


call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        0      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        2      0.00       0.00          0          0          0           0

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 44     (recursive depth: 1)
********************************************************************************

ROLLBACK TO AR_PAYMENT_SCHEDULE

SELECT AE.EVENT_ID , AE.EVENT_DATE , AE.EVENT_STATUS_CODE, AE.EVENT_TYPE_CODE FROM XLA_EVENTS AE, XLA_TRANSACTION_ENTITIES_UPG XT, RA_CUSTOMER_TRX_ALL TRX WHERE TRX.CUSTOMER_TRX_ID = :B3 AND NVL(XT.SOURCE_ID_INT_1,-99) = TRX.CUSTOMER_TRX_ID AND XT.ENTITY_CODE = 'TRANSACTIONS' AND XT.LEDGER_ID = TRX.SET_OF_BOOKS_ID AND XT.ENTITY_ID = AE.ENTITY_ID AND XT.APPLICATION_ID = 222 AND AE.APPLICATION_ID = 222 AND NVL(AE.EVENT_DATE, TO_DATE('01-01-1900','DD-MM-YYYY')) = :B2 AND AE.EVENT_STATUS_CODE <> 'P' AND :B1 = AE.EVENT_TYPE_CODE 
END OF STMT
PARSE #358:c=0,e=53,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,tim=4237611529714
BINDS #358:
kkscoacd
Bind#0
  oacdty=02 mxl=22(21) mxlc=00 mal=00 scl=00 pre=00
  oacflg=13 fl2=206001 frm=00 csi=00 siz=24 off=0
  kxsbbbfp=110ad52a0  bln=22  avl=04  flg=09
  value=22716
Bind#1
  oacdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00
  oacflg=13 fl2=206001 frm=00 csi=00 siz=8 off=0
  kxsbbbfp=110ad52d0  bln=07  avl=07  flg=09
  value="5/23/2008 0:0:0"
Bind#2
  oacdty=01 mxl=32(09) mxlc=00 mal=00 scl=00 pre=00
  oacflg=13 fl2=206001 frm=01 csi=871 siz=32 off=0
  kxsbbbfp=110ad4a60  bln=32  avl=09  flg=09
  value="CM_CREATE"
將具體參數(shù)值代入sql語句,得到:
SELECT AE.EVENT_ID, AE.EVENT_DATE, AE.EVENT_STATUS_CODE, AE.EVENT_TYPE_CODE
  FROM XLA_EVENTS                   AE,
       XLA_TRANSACTION_ENTITIES_UPG XT,
       RA_CUSTOMER_TRX_ALL          TRX
WHERE TRX.CUSTOMER_TRX_ID = 22716
   AND NVL(XT.SOURCE_ID_INT_1, -99) = TRX.CUSTOMER_TRX_ID
   AND XT.ENTITY_CODE = 'TRANSACTIONS'
   AND XT.LEDGER_ID = TRX.SET_OF_BOOKS_ID
   AND XT.ENTITY_ID = AE.ENTITY_ID
   AND XT.APPLICATION_ID = 222
   AND AE.APPLICATION_ID = 222
   AND NVL(AE.EVENT_DATE, TO_DATE('01-01-1900', 'DD-MM-YYYY')) = to_date('2008-05-23 00:00:00','YYYY-MM-DD HH24:MI:SS')
   AND AE.EVENT_STATUS_CODE <> 'P'
   AND 'CM_CREATE'= AE.EVENT_TYPE_CODE
也就是說在按完成按鈕是不應(yīng)該出現(xiàn)以上SQL語句有值,即XLA_EVENTS.EVENT_STATUS_CODE <> 'P'的記錄應(yīng)該不存在

措施:
1.AE.EVENT_STATUS_CODE,ae.process_status_code暫時(shí)都改為'P', 
然后再按完成按鈕,這次保存成功。

2.將AE.EVENT_STATUS_CODE,ae.process_status_code都改回'U',
檢查 xla_ae_headers,xla_ae_lines是否有數(shù)據(jù),
SELECT * FROM xla_ae_headers--no row
WHERE event_id IN (162517,162518)
SELECT * FROM xla_ae_lines--no row
在界面上將11040000002801創(chuàng)建會計(jì)分錄成功

當(dāng)前文章:不能創(chuàng)建會計(jì)分錄
文章源于:http://bm7419.com/article16/gighgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)公司外貿(mào)建站、網(wǎng)站策劃、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)