1 创建会计科目 方式(以AP发票为例)
1)在发票工作台对单张发票进行创建科目;
参考网址: https://www.cnblogs.com/bruce_zhao/p/3809493.html
备注:(发票工作台/活动)
a.选择“拟定”,只会在应付创建会计分录,不传送至GL,而且可以再次创建会计科目。在XLA_AE_HEADERS表中,ACCOUNTING_ENTRY_STATUS_CODE=D(Draft,拟定的意思,打了拟定标示还可再次创建会计科目),GL_TRANSFER_STATUS_CODE=N(表示尚未传送至GL);
b.选择“最终”,只会在应付创建会计科目,不传送至GL,不能再次创建会计科目。在XLA_AE_HEADERS表中,ACCOUNTING_ENTRY_STATUS_CODE=F(Final,最终的意思,打了最终的标示就不可再次创建会计科目),GL_TRANSFER_STATUS_CODE=N(表示尚未传送至GL);
c.选择“最终过帐”,即会在应付创建会计分录,也会传送至GL,而且还会过帐。
2) 提交“创建会计科目”并发请求,对所有已经验证但尚未创建会计科目的发票进行创建会计科目。
参数备注:
模式:拟定/最终
报表:汇总/明细/无报表
传送至 Oracle General Ledger :Y/N
在 Oracle General Ledger 中过账:Y/N
2 “创建会计科目”请求并发出来的子请求有
1)会计程序
2)日记账导入
3)过账:单一分类账
4)子分类帐会计余额更新
3 相关表及关联关系
1)关系图
2)关联SQL
select xte.ledger_id,
xte.entity_id,
xte.entity_code,
xe.event_id,
xe.event_number,
xe.event_status_code,
xe.process_status_code,
xah.ledger_id,
xah.group_id,
xah.je_category_name,
xah.accounting_entry_status_code, --创建会计分录标识(N:不能;F:最终)
xah.gl_transfer_status_code, --分录传GL标识(Y:已传;N:未传)
xah.event_type_code,
(select et.name
from xla_event_types_vl et
where et.application_id = xah.application_id
and et.entity_code = xte.entity_code
and et.event_type_code = xah.event_type_code) event_type,
xah.creation_date,
xal.creation_date,
xal.ae_header_id,
xal.ae_line_num,
xal.code_combination_id,
xal.entered_dr,
xal.entered_cr,
xal.accounting_date,
xal.accounting_class_code,
xal.gl_sl_link_table,
xal.gl_sl_link_id
from xla.xla_transaction_entities xte,
xla.xla_events xe,
xla.xla_ae_headers xah,
xla.xla_ae_lines xal
where 1 = 1
and xte.application_id = xe.application_id
and xte.entity_id = xe.entity_id
and xe.application_id = xah.application_id
and xe.event_id = xah.event_id
and xah.application_id = xal.application_id
and xah.ae_header_id = xal.ae_header_id
and xte.application_id = 200
and xte.entity_code = 'AP_INVOICES'
--and xah.ledger_id = 2041
--and xte.transaction_number = 'D301ZTX2017110001'
and xte.source_id_int_1 IN
(select ai.invoice_id
from ap_invoices_all ai
where ai.invoice_num = 'D301ZTX2017110001')
--传总账限制
/*and exists (select 1
from gl_import_references gir, gl_je_lines gjl
where gir.gl_sl_link_id = xal.gl_sl_link_id
and gir.gl_sl_link_table = xal.gl_sl_link_table
and gjl.je_header_id = gir.je_header_id
and gjl.je_line_num = gir.je_line_num)*/
;
4 GL接口表
注:“创建会计科目” 带出的“日记账导入”所使用的日记账接口表不是GL_INTERFACE,而是XLA_GLT_XXX,其中XXX 是 group_id,如果创建会计科目过程中有导入日记账,则会将接口表XLA_GLT_XXX中的group_id回写到xla.xla_ae_headers中的 group_id字段,
接口表查询SQL:
select t.request_id,
t.group_id,
t.ledger_id,
t.je_batch_id,
t.je_batch_id,
t.status,
sum(nvl(t.entered_dr, 0)) entered_dr,
sum(nvl(t.entered_cr, 0)) entered_cr
from XLA_GLT_1679146 t -- XLA_GLT_1659198 XLA_GLT_1659199
where 1 = 1
group by t.request_id,
t.group_id,
t.je_batch_id,
t.ledger_id,
t.je_batch_id,
t.status;
5 GL总账凭证SQL
select gjb.name,
gjh.ledger_id,
gjh.period_name,
sum(nvl(gjl.entered_dr, 0)) entered_dr,
sum(nvl(gjl.entered_cr, 0)) entered_cr
from gl_je_batches gjb, gl_je_headers gjh, gl_je_lines gjl
where 1 = 1
and gjb.je_batch_id = gjh.je_batch_id
and gjh.je_header_id = gjl.je_header_id
and gjb.je_batch_id = 2627236
-- and gjb.name in ('301 2017-12 AP 应付帐款 A 1659198 23281795')
group by gjb.name, gjh.period_name, gjh.ledger_id;