EBS技术之XLA_GLT表的清理

心已入冬 提交于 2019-12-03 00:22:38

一、Xla_glt*在出现在日记账导入中的阶段

 

与R11使用gl_interface表不同,R12中大部分情况下使用的是XLA_GLT_<groupId>表;子帐传送到总账的过程中,会动态生成GLschemaxla_glt_<groupId>表,这些表设计时是为了方便传送总帐异常时的问题追踪,因为他们在期间未关闭时不会被自动删除,一直保留到该期间完全关闭。

 

二、Xla_glt_<groupId>GL_interface的区别

R12中两种接口表是并存的,在特定情况下使用其中某种方式。

例如

对于应付发票和应收事务处理,如果我们在发票界面使用ONLINE MODE创建会计科目,并选择最终过账,这里的日记账导入操作使用的就是GL_INTERFACE

当我们通过提交创建会计科目请求,参数传送到总账Y或者提交将日记账分录传动到GL请求,日记账导入使用的是XLA_GLT_<group_Id>

 

三、Xla_glt_<groupId>的清理

查看系统中所有xla_glt

SELECT dbj.object_name,

       dbj.owner,

       dbj.created

  FROM dba_objects dbj

 WHERE dbj.object_name LIKE 'XLA_GLT_%'

   AND dbj.object_type = 'TABLE'

   AND trunc(dbj.created) <= SYSDATE

 ORDER BY trunc(dbj.created) ASC

查看表占用空间

SELECT --segment_name,
       SUM(bytes) / 1024 / 1024 mbytese
  FROM dba_segments
 WHERE segment_type = 'TABLE'
   AND segment_name LIKE 'XLA_GLT_%'
 --GROUP BY segment_name;

清理程序:清除由 Oracle Subledger Accounting 创建的临时日记帐导入接口表

请求参数中终止日期的说明:

运行请求的时候会输入一个终止日期DATE1,请求日志中还会看到一个日期DATE2

 

这两个日期之间的关系是:截至到DATE1,最后一个已关闭期间的结束日期为DATE2

SELECT gps.end_date  DATE2
  FROM gl_period_statuses gps
 WHERE gps.ledger_id = 2047
   AND gps.application_id = 101
   AND gps.effective_period_num =
       (SELECT MAX(effective_period_num)
          FROM gl_period_statuses gps
         WHERE gps.ledger_id = 2047
           AND gps.application_id = 101
           AND gps.closing_status = 'C'
           AND gps.end_date <= to_date(DATE1, 'yyyy-mm-dd'))

可能出现的情况:

运行完清理请求,xla_glt*还有很多表没有清理,这是我们需要获取这些表所对应的帐套、期间是否已经关闭,只要表中存在未关闭的期间,那么没清理干净就属于正常现象。

获取所有xla_glt表帐套、期间状态的sqlplus脚本:

 

set heading off feedback off pagesize 999

spool purg.sql

SELECT 'select DISTINCT ''' || dbj.object_name ||

        '''|| '','' || t.ledger_id || '','' || gps.period_name || '','' || gps.closing_status from ' ||

        dbj.owner || '.' || dbj.object_name || '  t,gl_period_statuses gps

WHERE t.ledger_id = gps.ledger_id

  AND gps.period_name = t.period_name

  AND gps.application_id = 101;'

  FROM dba_objects dbj

 WHERE dbj.object_name LIKE 'XLA_GLT_%'

   AND dbj.object_type = 'TABLE'

   AND trunc(dbj.created) <= SYSDATE;

spool off

 

生成所有xla_gltsql之后,再用相同办法,生成统计信息

set heading off feedback off pagesize 999
spool xla_glt统计.csv
@purg.sql
spool off

如果存在虽然期间已经关闭,但是运行完请求并没有被清理的话,依据metalink

bug 16706664 - rew:purge temporary journal import interface tables created by subledger account ,检查是否已经打了该patch,如果已经打了,则最好求助oracle服务。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!