----------------------------------------------------------------------------- 处理应付**不能创建会计分录例子一: 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 )); 运行<<创建会计科目>>请求 ----------------------------------------------------------------------------- 处理应付**不能创建会计分录例子二: **号200803005(已取消) 部分创建会计分录,付款号1102000006 不能创建会计分录 因为先有**再有付款,所以思路 1.先试图创建**的会计分录 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记录没有创建会计分录的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 运行<<创建会计科目>>请求 2.再试图创建付款的会计分录 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) 运行<<创建会计科目>>请求 ----------------------------------------------------------------------------- 处理应付**不能创建会计分录例子三 ET1104应付 **号8000480849/859/862没有创建会计分录的原因是: 该**行1和 **行2 已放弃.
临时处理方法: 直接在表中删除了放弃行的**分配行和**行 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) 直接在**界面创建会计分录
最终处理方法:建议用户提tar由oracle官方解决 ----------------------------------------------------------------------------- 处理应付**不能创建会计分录例子四: 这张**2008030888.不能创建会计分录的原因是 没有录入**的分配信息 ----------------------------------------------------------------------------- 处理应付**不能创建会计分录例子五: 标准**核销预付款**后,部分会计分录不能创建。已入帐显示:部分 措施: 先在**界面上验证相关**,然后在**界面上创建会计分录 ----------------------------------------------------------------------------- 处理应付**不能创建会计分录例子六: 骆勇平员工由于EBS bug,再导入费用报表后,产生两个骆勇平供应商,经过删除其中一个供应商和供应商地点后 产生的出来会计分录信息居然还有被删除供应商的ID,供应商地点ID 措施: 找到了xla_ae_lines.party_id(这里找到有些会计分录的创建是根据以前会计分录记录来创建的,比如ref_event_id,ref_ae_header_id) 于是将xla_ae_lines.party_id,xla_ae_lines.party_site_id统统改成了现在的骆勇平供应商ID和供应商地点ID 运行cux_fix_invoice_accounting_pkg.fix_invoices程序,修正数据 运行<<创建会计科目>>请求 ---------------------------------------------------------------------------- 修正数据的程序包cux_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; / --============================================================================= 处理应收事务处理不能创建会计分录例子: 贷项通知单11040000002921不能创建会计分录
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
2.将AE.EVENT_STATUS_CODE,ae.process_status_code都改回'U', 检查 xla_ae_headers,xla_ae_lines是否有数据, SELECT * FROM xla_ae_headers--no row WHERE event_id IN (162517,162518) SELECT * FROM xla_ae_lines--no row 在界面上将11040000002801创建会计分录成功