Oracle Ebs R12 SLA与GL关系变化

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

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
   ;

时间: 2024-11-04 17:39:17

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

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

Oracle EBS R12在服务器端文件结构如下: 顶层目录下面分为 1)inst --–跟ebs整个实例(instance)相关的配置信息以及其他信息 2)  db   ---主要存储DB层的信息 3)  apps ---主要是应用层的信息 1)首先来看 INST_TOP的情况 2) 再来看 数据库的内容的情况 3) 最后是apps的内容 上图文件夹的说明如下: apps_st/appl ----按照product分开(hr,pay,gl等),每个product都有一个单独的文件夹.比方说a

Oracle EBS R12 - 怎样更改SYSADMIN的password

SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production PL/SQL Release 11.1.0.7.0 - Production CORE    11.1.0.7

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 Download. 3 Unzip. 3 MD5 Checksums. 4 2 Pre-Install Task. 5 Disk Space. 5 Specific Software Requirements. 5 RPM... 6 JDK. 8 OS User & Group. 11 3 Instal

Oracle EBS R12 客户表结构

R12 客户表结构 客户表/联系人/PARTY关联 HZ_PARTIES 客户账户表 HZ_CUST_ACCOUNTS 例子: SELECT hp.party_number --客户注册标识 , hp.party_name --组织名/客户 , hp.known_as --别名 , hp.organization_name_phonetic --名称拼音 , acc.account_number --帐号 , flv_sale.meaning sales_channel_code --销售渠道

Oracle EBS R12.2创建客户化模块

以下步骤描述EBS R12.2中如何注册客户化模块,参考Oracle support Creating a CustomApplication in Oracle E-Business Suite Release 12.2 (文档 ID 1577707.1) 1.下载补丁3636980,拷贝3636980\izu\admin目录下3个.txt文件到/tmp目录下进行修改 如:izuprod.txt改名为cuxhdprod.txt izuterr.txt改名为cuxhdterr.txt 2.修改n

【转】oracle EBS R12和11i的主要区别

简单的说1.架构变了,原来的SOB现在叫Ledger 2.客户.供应商.税提升了一个级别3.客户.供应商.银行改为web界面的4.AR.AP可以支持在一个职责下跨OU查询和录入.5.引入SLA架构,数据逻辑更清晰.另外从子模块到总账的数据形式和生成的摘要都可编辑.简化了开发的工作量. 一.在原来的应收/应付/项目/CST和GL之间增加了一个层次SLA(SUBLEDGER ACCOUNT 子分类帐),通过这个层次来进一步支持全球财务解决方案,如银行.税务引擎.公司间业务等:即银行帐号的定义是法人共

Oracle EBS R12财务月结基础(转)

一.月结概述 1.什么叫月结:从字面含义上,即为月底结帐. 2.月结的目的 1)会计分期 2)财务报告 3.什么叫对帐:即将两套帐核对.在Oracle中,主要指将子模块的帐与总帐核对. 4.为什么要对帐:总帐接收到的财务信息与子模块业务必须保持一致,才能保证整个系统的帐务是正确的,所以要进行对帐.在日常事务处理中,存在录入或系统异常等导致的错误,通过对帐及时发现并解决. 5.月结与对帐之间的关系: 对帐是月结过程中的一个重要事项. 2.子模块与总帐之间的关系 n总帐模块处于财务核算的核心地位,它

ORACLE EBS R12 - 寄售功能知多少

材料以寄售方式供应,是制造业实现零库存管理的一种方式.东西放在我这里,不用的时候,东西还是供应商的,用的时候,按"装机"数量进行付款.这种业务模式,对于竞争日趋白热化的家电行业,非常重要.库存量为零,库存占用资金为零,库存周转率百分之百,企业的现金可以流动得更快,这应该是所有企业的心愿.    公司创立于92年,98年正式使用Oracle 10.7版ERP系统,当时公司规模尚小,没有寄售业务,也没有供应商愿意搞寄售,对于供方来说,材料发货了,就希望收到货款,谁也不愿意承担资金被占而货款

Oracle EBS R12 - 以Excel查看输出格式为“文本”的请求时乱码

重现的前提条件: 输出格式为"文本"的并发程序:有效责任和用户. 如何在查看输出时出现Excel选项:系统管理员>安装>浏览器选项>添加一行"文件格式"为"文本"的记录,"MIME 类型"和"说明"选"文件格式"是"Excel"的那行一样. EBS需要已安装好简体中文语言,这样"有效责任和用户"里面才会有中文. 提交"有