子模块和GL之间关联的变化

12i在功能模块上的变化很多,比如,基本每个模块都启用了MOAC特性,新增加了子帐模块,税模块等等很多新的模 块,OPM库存和离散库存集成了。不过这些变化中,大部分不是我们需要重点关注的,不过有一个东西需要重点关注那就是子帐模块。子帐模块功能非常强大,现 在所有的子模块会计分录都可以使用特定的公式配置出来。但是对技术而言,我们不太关心如何配置生成会计分录,我们只关心子模块的会计分录和GL的会计分路 之间的关联性,以方便我们做子模块和GL的对应报表。然而,现在如果你要做对应报表,你就必须要了解子帐。因此,在这里重点只介绍子帐。

子帐的概念——SLA(SubledgerAccounting)

概念

子帐是子分类帐会计的简称,字面上的含义就是子分类帐会计分录,但是这东西到底用来干吗的呢?!

通俗的说:

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

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

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

子帐架构

解释:

1、 子分类帐的产生有两种方式,一种方式是直接从子模块的事物处理会计,一种是直接从子模块的事物处理上取得。

2、 子模块的事物处理会计和子分类帐会计是两个不同的东西,一定要区别对待,传送到GL的是子分类帐会计,并非事物处理会计。

3、 由于子分类帐会计的来源可能是事物处理,也可能是事物处理会计,因此很可能存在差异,这是SLA目前的缺陷。

子分类帐带来的益处

1、 灵活的定义会计分录的产生规则,包括摘要,借方和贷方

2、 一个事物处理可以过帐到多个ledger(就是11i的帐簿),这给跨国集团管理多个帐簿带来   很大的好处

3、 统一了子模块会计分录的存放和产生规则,也就是说,各个子模块都可以根据自身的情   况设置会计规则,但是这些规则产生的会计分录都回存放在SLA的表中。

4、 利于扩展,ORACLE委托外包的子模块产生的会计分录更容易集成到EBS

SLA的几个重要关键词

SLA 的关键词有很多,不过和我们写程序密切相关的应该是下面几个关键词。这几个关键词是我们弄清楚子模块和GL之间的关键。如果理解了这几关键词在SLA中的 具体位置以及作用,加上SLA的的架构图,很容易的就理解了SLA作为子模块和GL的桥梁作用,对过帐程序具有深刻的理解,便于我们以后编写追溯程序以及 追溯报表。

会计事件(accountevent)

会计事件,就是一个事物处理的不同事件类型产生的记录,它结合了主要分类帐,事件类型,事件分类。一个事物处理可能会有多个会计时间,因为一个事物处理可能发生多种动作,而每个动作都需要产生相应的会计凭证。因此,我们可以把一个会计事 件看成是一张完整的凭证,我们把这张凭证录入到子模块的会计分录表里就形成了完整的会计分录。所以,我对会计事件的理解通俗归纳为以下几点:

1、 会计事件就相当于一张凭证,录入到GL就是一对会计分录

2、 同一个事物处理,比如收款可能会对应多个会计事件,因为收款创建会产生会计事件,收款核销也是一个会计事件。

查看路径:子模块超级用户/查询/会计事件

主要分类帐(leadger)

分类帐的概念在12i中表示的是帐簿,也就是11i的SOB,主要分类帐决定了过帐到哪个SOB

事件实体(EVENTENTITY)

事件实体决定了会计分录来源,以应收为例子,事件实体决定了到底是从 “应收事物处理”过来的还是从“收款”过来的。存放在表:xla_entity_types_vl中,会计分录和事物处理关联的表是是xla_transaction_entities ,事件实体同时定义了关联的标识是哪个字段,存放在xla_entity_id_mappings,下面我会详细介绍怎么做关联。

设置路径路径:子模块超级用户/设置/会计/子分类帐会计/事件/事件模型

事件分类(EVENTCLASS)

事件分类是根据事件实体进一步区分会计分录的方法。比如,收款分为“收款”和“杂项收款”,事件分类的表为:xla_event_classes_v,属于xla_transaction_entities的子表。

设置路径路径:子模块超级用户/设置/会计/子分类帐会计/事件/事件模型

事件类型(EVENTTYPE)

事件类型是比事件分类更小的事件划分方法,每个事件分类会细分成多个事件类型。比如:收款会分成:收款已核销,收款未核销,收款已更新等等类型。存放在表:xla_event_types_vl中。

设置路径路径:子模块超级用户/设置/会计/子分类帐会计/事件/事件模型

SLA&GL关系模型

关联模型中,实际参与的表很多,我们只拿最重要的表来描述,以便大家入门,不至于摸不着头脑,力求简单。

基础事件关系图

xla_entity_types_vl(事件实体)

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

|――xla_event_classes_v(事件分类)

|――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->子模块追溯

伪代码

begin

--根据GL信息找到相关的ae_header_id,ae_line_num,je_source

--特别注意,这里可能存在一对多关系

--一对多在业务上表现为汇总过帐

select xal.ae_header_id,xal.ae_line_num,jh.je_source

from gl_je_lines jl,

gl_je_headers jh,

gl_import_references gir,

xla_ae_lines xal

where jl.je_header_id=gir.je_header_id

and jh.je_header_id=jl.je_header_id

and jl.je_line_num=gir.je_line_num

andgir.gl_sl_link_id=xal.gl_sl_link_id

andgir.gl_sl_link_table=xal.gl_sl_link_table

and jl.je_header_id=:1

and jl.je_line_num=:2

--根据je_header_id找到相应的会计实体,主要是需要实体代码和几个source_id

--通过source_id....和entity_code的组合判断,可以准确的追溯到具体的事物处理

select xte.entity_code

,xte.source_id_int_1

,......

,xte.source_id_char_1

,......

,xte.security_id_int_1

,xte.security_id_int_2

......

from xla.xla_transaction_entities xte,

xla_ae_headers xah

where xah.ae_header_id=:1

and xte.entity_id=xah.entity_id

andxte.application_id=xah.application_id

--根据日记帐来源查询xla_subledgers表获得drilldown的程序

--由于这部分是写死的,因此,对程序员来说,只能做参考

--至于怎么写的灵活和通用,还需要参考琢磨写成一个通用的动态SQL

select xs.drilldown_procedure_name

from xla.xla_subledgers xs

where xs.je_source_name=:je_source_name

and xs.application_id=:application_id

--上面的信息查询出来后,组合成一个动态SQL,返回一个准确的结果集

--当然,通常情况下,我们都没有考虑写成通用程序,因此可以写死是

--哪些会计事件,会计实体代码

END;

一个简单的列子(收款和总帐凭证对应报表,简单写死事件实体)

SELECT CR.CASH_RECEIPT_ID    CASH_RECEIPT_ID,

CR.DOCUMENT_NUMBER          GATHER_NUM,

JH.DOC_SEQUENCE_VALUE    DOC_SEQUENCE_VALUE,

CR.CUSTOMER_NAME                CUSTOMER_NAME,

CR.REMIT_BANK_BRANCH        BANK_NAME,

CR.REMIT_BANK_ACCOUNT     BANK_ACCOUNT,

CR.RECEIPT_NUMBER                RECEIPT_NUMBER,

CR.AMOUNT                                    AMOUNT,

CR.STATE_DSP                              STATE_DSP,

H.EVENT_TYPE_CODE                EVENT_TYPE_CODE

FROM   XLA_AE_LINES                                L,

XLA_AE_HEADERS                        H,

XLA.XLA_TRANSACTION_ENTITIES TE,

GL_IMPORT_REFERENCES         IR,

GL_JE_HEADERS                          JH,

AR_CASH_RECEIPTS_V              CR

WHERE CR.CASH_RECEIPT_ID = TE.SOURCE_ID_INT_1(+)

AND  CR.CURRENCY_CODE = P_CURRENCY

AND  TE.ENTITY_CODE(+) = 'RECEIPTS'

AND  TE.ENTITY_ID = H.ENTITY_ID(+)

AND  TE.APPLICATION_ID = H.APPLICATION_ID(+)

AND  H.AE_HEADER_ID = L.AE_HEADER_ID(+)

AND  H.APPLICATION_ID = L.APPLICATION_ID(+)

AND  L.GL_SL_LINK_TABLE = IR.GL_SL_LINK_TABLE(+)

AND  L.GL_SL_LINK_ID = IR.GL_SL_LINK_ID(+)

AND  IR.JE_HEADER_ID = JH.JE_HEADER_ID(+)

AND  L.AE_LINE_NUM(+) = 1

AND  H.ACCOUNTING_ENTRY_STATUS_CODE(+) = 'F'

AND  H.ACCOUNTING_DATE BETWEEN TRUNC(P_START_DATE) AND(TRUNC(P_END_DATE) + 86399 / 86400)

SLA总结

通过上面的介绍,我们现在应该至少了解到了如下知识点:

1、SLA的简单架构,在12i中SLA扮演什么角色?

2、SLA的几个关键词,并且知道如何从界面上找到他们?

3、SLA几个表的关系模型,以及和GL的关系模型?怎样从子模块找到GL的凭证,怎样从GL追溯到子模块?

由于SLA非常复杂,因此在这里这点篇幅不能全部介绍完,我只是站在技术的角度来看SLA,看我们到底要做些什么变化。

oracle+中子分类账,Oracle EBS R12 总帐和子分类账关系详解[转载]相关推荐

  1. oracle+中子分类账,【勇猛精进】Oracle EBS R12 总帐和子分类账关系详解

    子模块和GL之间关联的变化 12i在功能模块上的变化很多,比如,基本每个模块都启用了MOAC特性,新增加了子帐模块,税模块等等很多新的模 块,OPM库存和离散库存集成了.不过这些变化中,大部分不是我们 ...

  2. oracle分类账设置,Oracle EBS R12 总帐和子分类账关系详解[转载]

    子模块和GL之间关联的变化 12i在功能模块上的变化很多,比如,基本每个模块都启用了MOAC特性,新增加了子帐模块,税模块等等很多新的模 块,OPM库存和离散库存集成了.不过这些变化中,大部分不是我们 ...

  3. oracle分类账设置,Oracle EBS R12 总帐和子分类账关系详解

    子模块和GL之间关联的变化 12i在功能模块上的变化很多,比如,基本每个模块都启用了MOAC特性,新增加了子帐模块,税模块等等很多新的模块,OPM库存和离散库存集成了.不过这些变化中,大部分不是我们需 ...

  4. oracle 总账 gl,oracle EBS R12 总帐设置手册 BR100GL.pdf

    I AIM BR.100 APPLICATION SETUP DOCUMENTS 应用设置文档 总帐管理模块(GL ) 文档作者: 顾问 创建日期: 更新日期: 文档编码: 当前版本: 审批签字: 用 ...

  5. oracle r12 税,Oracle EBS R12 总账和子分类帐关系详解

    子模块和GL 之间关联的变化 12i 在功能模块上的变化不少,好比,基本每一个模块都启用了MOAC 特性,新增长了子账模块,税模块等等不少新的模 块,OPM 库存和离散库存集成了.不过这些变化中,大部 ...

  6. 妖怪手帐获取服务器信息失败,妖怪手帐妖怪全获取途径详解分享

    妖怪手帐妖怪怎么获得?游戏中小伙伴们需要操控妖怪来完成副本等操作,妖怪是小伙伴们的伙伴.那么如何获得妖怪呢?有哪些获取的方法途径?下面是小编带来的攻略解析,一起来关注下哦! 主要妖怪来源途径: 分为玉 ...

  7. ebs gl 总帐 设置步骤

    GL 详细定义步骤:  1-> GL:  定义会计期间类型  2->定义会计日历   DEFINE CALENDAR 3->定义货币   DEFINE CURRENCY 4-> ...

  8. SAP 物料分类账CKM3详解(转载)

    原文地址:物料分类账 CKM3详解_SAP小白kenny的博客-CSDN博客_ckm3 业务背景 物料分类账的主要作用在于将实际成本和标准成本的差异分摊到库存和销售成本中,从而实现差异在实际的使用者中 ...

  9. 《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一1.1 生成执行计划

    1.1 生成执行计划 在Oracle中,任何一条语句在解析过程中都会生成一个唯一的数值标识,即SQL_ID.而同一条语句,在解析过程中,可能会因为执行环境的改变(例如某些优化参数被改变)而生成多个版本 ...

最新文章

  1. duilib 子窗口位置_duilib绝对定位与相对定位
  2. 重拾CCNA,学习笔记持续更新ing......(4)
  3. bat脚本监控tomcat并启动_Windows server利用批处理脚本判断端口启动tomcat的方法
  4. 探索 Linux 内存模型--转
  5. Interview:算法岗位面试—上海某公司算法岗位(偏机器学习,互联网金融行业)技术面试考点之数据结构相关考察点—斐波那契数列、八皇后问题、两种LCS问题
  6. 浮动div 内部元素 垂直居中
  7. Android HandlerThread 源码分析
  8. python对分组进行排序_如何按排序顺序将列表中的项目分组?
  9. java script 对象
  10. jpa级联添加_JPA中的一对多双向关联与级联操作
  11. svn基本常见操作设置
  12. nginx配置文件注释说明
  13. MySQL导出表结构
  14. matlab2014b linux,matlab 2014b linux 肿么安装
  15. 人工智能如何被用于造福人类?
  16. Confluence使用教程 用户手册
  17. opencv 将视频流转换成帧图像(支持asf,mp4,avi)
  18. 清华王牌专业建系70年,撑起中国半导体半壁江山,王兴李健都是系友
  19. Flutter36,资深Android面试题
  20. POJ3666 线性dp+维度优化

热门文章

  1. Res-Net(Pytorch)
  2. android:exported =true,什么是具有相同用户ID的Android应用程序
  3. 关于MQTT协议与QT的结合【保姆级的操作手册二】
  4. 方格路径问题升级之路
  5. 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。
  6. 【Python打包成exe】快速将多个py文件及其他文件打包为exe可执行文件
  7. 全国计算机等级考试在线报名,全国计算机等级考试报名入口
  8. 原创:sqlite数据库转换为mysql数据库
  9. New Test :: Houdini Simulation Particles FumeFX Simultion Fluid..
  10. Linux文本处理自定义,Linux中文本处理命令sed的使用示例分享