R12 中子模块的帐是如何产生的
1)在FORM:ARXRWMAI 的按钮 SLACEXEC.OK_BP 触发器中有提交创建的代码:
arp_sla_submit.which_case;
2)包 arp_sla_submit在 pll文件 ARSLAOLS.pll 中。
3)在arp_sla_submit.whichcase 中执行以下过程,将FORM 界面上的信息传大过程
submit_xla_accounting
4) submit_xla_accounting 过程调用以下数据库 package 创建会计科目
XLA_ACCOUNTING_PUB_PKG.accounting_program_document
5)在XLA_ACCOUNTING_PUB_PKG 中根据p_offline_flag 的取值,分别调用
xla_accounting_pkg.accounting_program_document
或者调用创建会计科目的请求
6)在xla_accounting_pkg中调用下面过程
xla_accounting_pkg.accounting_program_events
7)在events_processor在调用handle_accounting_hook调根据application_id分别调用
CASE
WHEN p_application id = 200 THEN
xla_ap_acct_hooks_pkg.main
WHEN p_application_id = 222 THEN
xla_ar_acct_hooks_pkg.main
WHEN p_application id = 140 THEN
xla_fa_acct_hooks_pkg.main
WHEN p_application_id = 260 THEN
xla_ce_acct_hooks_pkg.main
WHEN p_application_id = 555 THEN
xla_gmf_acct_hooks_pkg.main
WHEN p_application id = 801 THEN
xla_pay_acct_hooks_pkg.main
ELSE
END CASE;
其中event_name 为extract。然后调用 arp_xla_extract_main_pkg.extract 来取子模块
的分配。其主要作用是将来自子模块的分配。AR的发票、调整、收款、核销等子模块
的帐的分配插入 ar_xla_lines_extract 临时表,在这个 package中可以看到xla是如何
从业务模块数据取数的。
---刘轶鹤转