http://www.cnblogs.com/bruce_zhao/p/3809886.html

Oracle Ebs R12 SLA与GL关系变化

SLA概念:SLA(Subledger Accounting) 子帐是子分类帐会计的简称,字面上的含义就是子分类帐会计分录

SLA&GL关系:

   R12功能模块上面都启用了MOAC特性,新增了子模块和税模块,OPM和离散库存也集成了,所有的子模块会计分录都可以使用特定的公司配置出来;之间的关系分位三种:

1、子分类帐会计其实就是连接子模块会计和GL凭证之间的桥梁。就是子模块和GL之间的桥梁。所有子模块(包括FA)产生的会计分录都是使用SLA产生的,存放在SLA的表中,然后通过过帐程序过帐到GL。有点类gl_interface表的功能。

 2、子分类帐会计的第二层意思:在各个子模块都有一套独立的会计分录,看起来跟GL其实没太大区别,这就意味着在子模块其实就可以计算科目余额了。只是可惜,到目前为止我还没有类似gl_balance的表来存放科目余额。

3、各子模块目前还是可以有自己的分配帐户(就是以前查看会计科目看到的东西),分别存放在自己的分配表中,比如,AP还是存放在ap_invoices_distributions中,引入SLA后,把这个功能称为“事物处理会计”,和子分类帐会计的不同点在于,事物处理会计是通过自动会计或分配产生,而子分类帐会计是根据定义会计事件等公式产生的,分别存于不同的地方。

 

SLA&GL关系模型 关联模型,

1、 子分类帐的产生有两种方式,一种方式是直接从子模块的事物处理会计,一种是直接从子模块的事物处理上取得。
2、 子模块的事物处理会计和子分类帐会计是两个不同的东西,一定要区别对待,传送到GL的是子分类帐会计,并非事物处理会计。
3、 由于子分类帐会计的来源可能是事物处理,也可能是事物处理会计,因此很可能存在差异,这是SLA目前的缺陷。

SLA带来的益处

1、 灵活的定义会计分录的产生规则,包括摘要,借方和贷方
2、 一个事物处理可以过帐到多个ledger(就是11i的帐簿),这给跨国集团管理多个帐簿带来很大的好处
3、 统一了子模块会计分录的存放和产生规则,也就是说,各个子模块都可以根据自身的情况设置会计规则,但是这些规则产生的会计分录都回存放在SLA的表中。
4、 利于扩展,ORACLE委托外包的子模块产生的会计分录更容易集成到EBS SLA的几个重要关键词
基础事件关系图

SLA中的关键词

会计事件(account event) 会计事件,就是一个事物处理的不同事件类型产生的记录,它结合了主要分类帐,事件类型,事件分类。一个事物处理可能会有多个会计时间,因为一个事物处理可能发生多种动作,而每个动作都需要产生相应的会计凭证。因此,我们可以把一个会计事件看成是一张完整的凭证,我们把这张凭证录入到子模块的会计分录表里就形成了完整的会计分录。所以,我对会计事件的理解通俗归纳为以下几点:
1、 会计事件就相当于一张凭证,录入到GL就是一对会计分录
2、 同一个事物处理,比如收款可能会对应多个会计事件,因为收款创建会产生会计事件,收款核销也是一个会计事件。
查看路径:子模块超级用户/查询/会计事件

主要分类帐(leadger) 分类帐的概念在12i中表示的是帐簿,也就是11i的SOB,主要分类帐决定了过帐到哪个SOB
事件实体(EVENT ENTITY) 事件实体决定了会计分录来源,以应收为例子,事件实体决定了到底是从 “应收事物处理”过来的还是从“收款”过来的。存放在表:xla_entity_types_vl中,会计分录和事物处理关联的表是是xla_transaction_entities ,事件实体同时定义了关联的标识是哪个字段,存放在xla_entity_id_mappings,下面我会详细介绍怎么做关联。
设置路径路径:子模块超级用户/设置/会计/子分类帐会计/事件/事件模型
事件分类(EVENT CLASS) 事件分类是根据事件实体进一步区分会计分录的方法。比如,收款分为“收款”和“杂项收款”,事件分类的表为:xla_event_classes_v,属于xla_transaction_entities的子表。
设置路径路径:子模块超级用户/设置/会计/子分类帐会计/事件/事件模型
事件类型(EVENT TYPE) 事件类型是比事件分类更小的事件划分方法,每个事件分类会细分成多个事件类型。比如:收款会分成:收款已核销,收款未核销,收款已更新等等类型。存放在表:xla_event_types_vl 中。
设置路径路径:子模块超级用户/设置/会计/子分类帐会计/事件/事件模型

基础事件关系图

xla_entity_types_vl(事件实体)

|――xla_entity_id_mappings(实体ID对应表)

|――xla_event_classes_vl(事件分类)

|――xla_event_types_vl(事件类型)

子分类帐关系图

xla_transaction_entities(会计事物处理实体)

|――xla_events(会计事件)

|――xla_ae_headers(子帐头)

|――xla_ae_lines(子帐行)

|――xla_distribution_links(关联事物处理信息)

子模块和GL关系图

gl_import_references(总帐参考)

|(gl_sl_link_id,gl_sl_link_table)

xla_ae_lines(子帐行)

说明:GL和子模块之间的关联是通过gl_import_reference实现的,关键字段是gl_sl_link_id,gl_sl_link_table。

GL->子模块追溯

前面的都是业务方面的,现在进行技术简析,更多的内容还在整理中。
    在SLA中技术方面最常用的就是日记帐来源追溯,在追溯的过程中从GL到SLA和11i差别不大,
使通过gl_import_references表来进行,该表的je_batch_id,je_header_id,je_line_num
是和GL关联,该表字段gl_sl_link_id是和SLA中的行表(XLA_AE_LINES)关联,
     在SLA中重要的几张表如下:

xla_transaction_entities:The table XLA_ENTITIES contains information about 
sub-ledger document or transactions.
    XLA_EVENTS:The XLA_EVENTS  table record all information related to a specific
event. This table is created as a type XLA_ARRAY_EVENT_TYPE.
    XLA_AE_HEADERS:The XLA_AE_HEADERS table stores subledger journal entries.

There is a one-to-many relationship between accounting events and journal entry headers.
    XLA_AE_LINES:The XLA_AE_LINES table stores the subledger journal entry lines. 
There is a one-to-many relationship between subledger journal entry headers and subledger
journal entry lines
    XLA_DISTRIBUTION_LINKS:The XLA_DISTRIBUTION_LINKS table stores the link between 
transactions and subledger journal entry lines.
    在一个系统PKG中有如下结构的插值语句,从而可以清楚的得出几个表之间的联系:

Insert All When
(Line_Id = 1) Then
Into Xla_Transaction_Entities
(Upg_Batch_Id ,
Entity_Id,
……)
Values
(……) Into Xla_Events
(Upg_Batch_Id, Entity_Id, Event_Id, ……)
Values
(……)
Into Xla_Ae_Headers
(Upg_Batch_Id,
Entity_Idnt_Id ,
Ae_Header_Id ,
……)
Values
(……) When
(1 = 1) Then Into Xla_Ae_Lines
(Upg_Batch_Id, Ae_Header_Id, Ae_Line_Num, ……)
Values
(……)
Into Xla_Distribution_Links
(Upg_Batch_Id ,
Event_Id,
Ae_Header_Id,
Ae_Line_Num ,
……)
Values
(……)
Select …… From ……;

上面提到的gl_import_references.gl_sl_link_id字段就是和xla_ae_lines.gl_sl_link_id字段关联,在这些表中和子模块关联的字段在xla_transaction_entities中,该表中有如下形式的字段
源表关联字段
source_id_int_num 对应的源ID 例如:ap_invoices_all
source_id_char_num
这两个字段是用来和源模块关联,该字段的设置是在各个子模块:
路径是:设置->会计科目设置->子分类帐会计设置->会计方法生成器->事件->事件模型
界面如下:该界面的实体代码就是对应xla_transaction_entities表中的ENTITY_CODE字段,每个来源就标示了该子分类帐是哪个模块产生的。

点击[标示]进入如下界面:该界面中的实体表列字段时子模块相关源表的字段,标示列就是SLA中

xla_transaction_entities表的列,SLA和字模块的联系就是通过该界面的设置来完成的。

安全性控制字段
security_id_char_num
security_id_int_num
这两个字段是用来进行安全验证,数据屏蔽使用

xla_transaction_entities是有VDP验证的表,各个模块使用的策略函数是

通过设置>>会计科目设置>>子分类帐会计设置>>子分类帐应用产品  来设置的,

如AP模块使用的是:XLA_SECURITY_POLICY_PKG.MO_POLICY,在该方法中有一句很重要

 

一般的MOAC
VPD使用的字段时ORG_ID该处是将ORG_ID替换为security_id_int_1,很明显了
现在分析了GL和SLA以及 SLA和字模块之间联系,在加上上面的那段插值代码中对应的表关系,就很容易整理
出常见的追溯关系了,可能也有特殊情况没有涉及到。

下面是一个实例 :

首先看**这边的分配,该分配是对应于SLA中的表xla_distribution_links

在该情况下可以查询出每个会计帐户的明细来历,这是AP**的分配

Select Aid.Invoice_Id ,
Aid.Invoice_Distribution_Id 分配ID ,
Aid.Invoice_Line_Number 行号,
Distribution_Line_Number 分配行号,
Aid.Rcv_Transaction_Id 接收事务id,
Aid.Amount 金额
From Ap_Invoice_Distributions Aid, Ap_Invoices Api
Where Api.Invoice_Id = Aid.Invoice_Id
-- And Aid.Invoice_Id = 35357
Order By Aid.Invoice_Line_Number, Distribution_Line_Number; Begin
mo_global.init('M');
End;

  -- And Xal.Ae_Header_Id = 14012
And Xdl.Application_Id = 200
Order By Xdl.Source_Distribution_Id_Num_1; Begin
mo_global.init('M');
End;

分析:应付分配中的账户,在SLA中会产生两行数据,并且这两行数据借贷相反 金额相同。

从GL查行数据,在GL的一个header下的行有可能是经过合并后的行,因此GL的行并不能准确的表示出帐户源的帐户信息,在GL的同一个帐户行可能对应着AP这边很多张**的帐户信息,但会计行中的子分类帐日记帐分录行的每一行则一定对应着同一张**。

如下代码是整理的追溯一般代码

Select '_^_' Key,
Gir.Je_Batch_Id ,
--======xla_transaction_entities=========--------
Xte.Application_Id 应用,
Xte.Entity_Id,
Xte.Ledger_Id 分类帐sob,
Xte.Entity_Code,
Xett.Name 事务实体类型,
Le.Name 法人主体,
Le.Legal_Entity_Identifier 人主体所得税纳税登记 ,--legal_entity_tax ------------------------------
/* --AP_INVOICES
Ap ** Invoice_Id --AP_PAYMENTS
Ap付款 Check_Id --RECEIPTS
收款 Cash_Receipt_Id --TRANSACTIONS 事务处理
销售 ** Customer_Trx_Id
,
Xte.Source_Id_Int_1 事务源对应ID ,
------------------------------
/*--下面两个字段折旧的时候会有值
,xte.source_id_int_2
,xte.source_id_int_3*/
Xte.Security_Id_Int_1 Org_Id,
Xte.Source_Application_Id 源对应应用,
--======xla_event=========--------
Xe.Event_Type_Code, --Event type code
Xent.Name 事件类型,
Xe.Event_Status_Code, --Event status code
Xe.Process_Status_Code, --Processing status code
/*This flag indicates whether the event is on hold or not. possible values: (Y)--yes, (N)--No*/
Xe.On_Hold_Flag,
--==============xla_ae_headers=======-----
Xah.Ledger_Id Sob,
Xah.Je_Category_Name, --General Ledger category name
Xah.Accounting_Date,
Xah.Period_Name 期间, /* ,xah.balance_type_code --Balance type (Actual, Budget, or Encumbrance)
,xah.gl_transfer_date
,xah.accounting_entry_status_code
,xah.accounting_entry_type_code
,xah.zero_amount_flag*/
--==============xla_ae_line=======----- Xal.Ae_Line_Num 行号,
Xal.Code_Combination_Id 账户id,
Gjl.Code_Combination_Id 日记帐gcc,
/* ,xal.gl_transfer_mode_code
,xal.accounting_class_code "会计分类"*/
Xlp.Meaning 会计分类,
Xal.Accounted_Dr 入账借项本位币,
Xal.Accounted_Cr 入账贷项本位币,
Xal.Currency_Code 币种,
Xal.Entered_Dr 账户原币借项,
Xal.Entered_Cr 账户原币贷项,
Gir.Je_Line_Num 日记帐行号,
Xte.Entity_Id,
Xte.Application_Id,
Xe.Event_Id,
Xah.Ae_Header_Id,
Xal.Ae_Line_Num
From Xla_Transaction_Entities Xte,
Xla_Entity_Types_Tl Xett,
Xle_Entity_Profiles Le,
Xla_Events Xe,
Xla_Event_Types_Tl Xent,
Xla_Ae_Headers Xah,
Xla_Ae_Lines Xal,
Xla_Lookups Xlp,
Gl_Import_References Gir,
Gl_Je_Lines Gjl
Where 1 = 1
And Xte.Entity_Id = Xe.Entity_Id
And Xte.Application_Id = Xe.Application_Id
And Xte.Legal_Entity_Id = Le.Legal_Entity_Id(+)
And Xah.Event_Id = Xe.Event_Id
And Xah.Application_Id = Xe.Application_Id
And Xent.Event_Type_Code = Xe.Event_Type_Code
And Xent.Application_Id = Xe.Application_Id
And Xent.Language = 'ZHS'
And Xah.Ae_Header_Id = Xal.Ae_Header_Id
And Xah.Application_Id = Xal.Application_Id
And Xlp.Lookup_Type(+) = 'XLA_ACCOUNTING_CLASS'
And Xlp.Lookup_Code(+) = Xal.Accounting_Class_Code
And 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
And Xett.Entity_Code = Xte.Entity_Code
And Xett.Application_Id = Xte.Application_Id
And Xett.Language = 'ZHS'
And Gir.Je_Batch_Id = 5511
;

Oracle Ebs R12 SLA与GL关系变化的更多相关文章

  1. Oracle EBS R12文件系统结构(学习汇总网上资料)

    Oracle EBS R12在服务器端文件结构如下: 顶层目录下面分为 1)inst --–跟ebs整个实例(instance)相关的配置信息以及其他信息 2)  db   ---主要存储DB层的信息 ...

  2. Oracle EBS R12经验谈(二)

    作者: jianping.ni    时间: 2009-2-13 12:52     标题: Oracle EBS R12经验谈(二) OAF页面:银行帐户开户人LOV值列表无值    在输入 应付超 ...

  3. Oracle EBS R12多组织(多OU)访问架构

    Oracle EBS R12多组织访问架构 多组织架构实现了经营单位(OU)的数据安全性,在底层数据表中有一列ORG_ID来记录数据所属的经营单一,所有多OU的基表都是以"_ALL" ...

  4. Oracle EBS R12 客户表结构

    参考链接: Oracle EBS R12 客户表结构 Oracle EBS中的“客户”."客户地点".‘订单’之间的关系 Oracle EBS中的“客户”."客户地点&q ...

  5. Oracle EBS R12 (12.1.3) Installation Linux(64 bit)

    Oracle EBS R12 (12.1.3) Installation Linux(64 bit) Contents Objective. 3 1 Download & Unzip. 3 D ...

  6. 处理Oracle EBS R12登录首页跳转出现unexpected error问题(转)

    原文地址: 处理Oracle EBS R12登录首页跳转出现unexpected error问题 经上网搜索,造成此问题的问题有很多,如内存不足.系统参数配置不当.程序代码.系统表空间不足等原因.查询 ...

  7. ORACLE EBS R12 FOR LINUX 开机后如何启动数据库、应用脚本[Z]

    在Linux中安裝EBS  R12後, EBS關閉與啟動的程序為: 1. 關閉EBS - 先關閉Applications Server $ cd /d01/oracle/VIS/inst/apps/V ...

  8. Oracle EBS R12 WIP Component Issue&Return Process

    oracleassemblytransactionscomponentsjobsreference 目录(?)[-] 定义BOM 定义Routing 定义WIP Discrete Job 发料 Mat ...

  9. Oracle EBS R12 XML数据表格的Excel脚本报表

    http://www.cnblogs.com/quanweiru/archive/2012/07/28/2612680.html 一.概述 在EBS系统中,报表是一个非常重要的客户化开发内容,也是系统 ...

随机推荐

  1. <meta http-equiv="refresh" content="0; url=">是什么意思?

    页面定期刷新,如果加url的,则会重新定向到指定的网页,content后面跟的是时间(单位秒),把这句话加到指定网页的<head></head>里一般也用在实时性很强的应用中, ...

  2. SQLite数据库文件格式

    数据库命名约定 sqlite3_open()API用到数据库的文件名,可以是相对当前工作目录的相对路径名,也可以是从系统根文件树开始的完整路径名.任何被本地文件系统接受的正规文件名都是好的. 如果文件 ...

  3. The prefix "context" for element "context:component-scan" is not bound.

    在beans里面加上下面信息: xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLo ...

  4. windows7下安装python3的scrapy框架

    强大的Anaconda和Spyder.不过如何在这个平台上安装Scrapy呢. 打开MS-DOS(win+R输入cmd回车) 然后输入: conda install -c scrapinghub sc ...

  5. django中自定义标签和过滤器

    想要实现自定义标签和过滤器需要进行准备工作: 准备(必需)工作: 1  在某个app下创建一个名为templatetags(必需,且包名不可变)的包.假设我们在名为polls的app下创建了一个tem ...

  6. 初识Memcached

    一,什么是memcached? Memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载..它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱 ...

  7. HTML <!DOCTYPE> Declaration

    <!DOCTYPE html><html><head><title>Title of the document</title></he ...

  8. notepad++ 右键

    在网上搜索建立reg 后运行, 虽然右键菜单出现了建立的右键项目名,但与软件不关联 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\ ...

  9. Principal Component Analysis(PCA) algorithm summary

    Principal Component Analysis(PCA) algorithm summary mean normalization(ensure every feature has sero ...

  10. Towers of Hanoi

    Your mission is to move the stack from the left peg to the right peg. The rules are well known: Only ...