应收、应付、库存、采购(接收)等模块的各种事务处理都会通过子分类账生成相应的总帐账务信息,我们可以通过总帐日记账行的追溯功能查看相应的事务处理操作和界面,那么他们是如果关联的呢?
总帐与各个模块间的关联,主要是通过子分类账来进行关联的
下面的SQL 描述了他们的关联关系:
SELECT *
FROM GL_JE_LINES GJL, --日记账行
GL_JE_HEADERS GJH, --日记账头
GL_JE_SOURCES_TL GJST, --日记账来源
GL_JE_CATEGORIES_TL GJCT, --日记账类别
GL_CODE_COMBINATIONS_KFV GCC, --账户组合
GL_IMPORT_REFERENCES GIR, --总账导入参考信息(GL和XLA之间的关联)
XLA.XLA_AE_LINES XAL, --子分类账行
XLA.XLA_AE_HEADERS XAH, --子分类账头
XLA.XLA_TRANSACTION_ENTITIES XTE --子分类账事务处理实体信息
WHERE GJL.JE_HEADER_ID = GJH.JE_HEADER_ID
AND GJL.CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID
AND GJL.JE_HEADER_ID = GIR.JE_HEADER_ID
AND GJH.JE_SOURCE = GJST.JE_SOURCE_NAME
AND GJH.JE_CATEGORY = GJCT.JE_CATEGORY_NAME
AND GJL.JE_LINE_NUM = GIR.JE_LINE_NUM
AND XAL.GL_SL_LINK_TABLE = GIR.GL_SL_LINK_TABLE
AND XAL.GL_SL_LINK_ID = GIR.GL_SL_LINK_ID
AND XAH.AE_HEADER_ID = XAL.AE_HEADER_ID
AND XAH.ENTITY_ID = XTE.ENTITY_ID
AND XAH.LEDGER_ID = XTE.LEDGER_ID
AND XAH.APPLICATION_ID = XTE.APPLICATION_ID
AND GJST.LANGUAGE = 'ZHS'
AND GJCT.LANGUAGE = 'ZHS'
AND XTE.SOURCE_ID_INT_1 = :1
AND XTE.ENTITY_CODE = :2
以上的SQL 是总帐日记账与子分类账之间的链接关系sql 那么各个模块是如何进行关联的呢?
例如应付模块 首先我们知道 来源于应付发票的entity_code 应该是:AP_INVOICES
我们可以通过 xla_entity_id_mappings 表查询到 AP_INVOICES 对应的 TRANSACTION_ID_COL_NAME_1 字段为INVOICE_ID
所以:1参数应该为AP_INVOICES_ALL 表的INVOICE_ID 字段,:2参数应该为‘AP_INVOICES’
----------------------------------------------
以此类推:对于采购(接收)
:1参数 为 RCV_TRANSACTIONS 表的 TRANSACTION_ID
:2参数 为RCV_ACCOUNTING_EVENTS
对于库存
:1参数 为MTL_MATERIAL_TRANSACTIONS表的 TRANSACTION_ID
:2参数 为MTL_ACCOUNTING_EVENTS
注意:
通过上面的SQL,可能查询出重复的代码,这主要是因为在xla_ae_lines行里,可能有一些废弃的行。如何判断xla_ae_lines里的行是否被废弃了呢:在xla_ae_lines表里有一个字段:displayed_line_number,如果这个值小于0,那么就说明这个行被废弃了。所以在使用上面的SQL时,最好添加上条件:xla.displayed_line_number > 0。
在表xla_ae_headers里有一个字段gl_transfer_status_code,如果这个字段的值为Y,那说明这个子分类帐已经过账,当需要判断是否过账的时候,可以判断这个字段的值。
---------------------
本文来自 迭戈加油 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/sept915/article/details/21229577?utm_source=copy