分类目录归档:FA模块

Oracle EBS R12.2.6系统资产模块折旧账务未传总账问题处理

背景:

某客户在10月8号运行9月折旧后,创建会计发现请求报黄(但是能把9月的折旧数据正常传过去),于是看创建会计科目输出报表(或者看资产模块“子分类帐期间关闭例外报表”),可以发现里面有大量7月31号的数据,都是很明确的提示如下所示内容,无效期间:

原因探索:

此类问题原因很多,本人遇到过以下几种情况,以频率排序:
1、资产传总账时未正常传至GL模块(总账期间正常打开,此种情况可根据例外报表的提示处理,再次传总账即可);

2、资产传总账时未正常传至GL模块(总账期间关闭);

3、交叉验证规则导致生成账务问题(这种情况很少,一般在新机构建立时可能有)。

具体到本次问题,经过追溯,发现用户在7月31号晚上5点03分提交了运行折旧的请求,但是在请求未完成时,立即提交了创建会计科目到总账模块(默认会将资产相关账务处理传总账)。导致7月新增资产数据科目和中转科目都正常到了总账模块(用户检查时检查了中转科目为0,未再做深入核实,8月折旧也出问题,用户未察觉)。

方案1:打开7月期间正常传至7月总账模块,由于用户反馈7、8月份报表已经出具(金融行业),不同意再开7月期间。

方案2:后台修复数据至当期(9月),具体执行命令不再赘述,见以下脚本(根据自身情况限制条件)

–1、备份三个表的问题数据(具体条件根据自身问题限制)
select t.*
from xla_ae_headers t
where 1 = 1
and to_char(t.accounting_date, ‘yyyy-mm-dd’) = ‘2019-07-31’
and t.gl_transfer_status_code = ‘N’;

select *
from xla_ae_lines t
where 1 = 1
and to_char(t.accounting_date, ‘yyyy-mm-dd’) = ‘2019-07-31’
and t.ae_header_id in
(select t.ae_header_id
from xla_ae_headers t
where 1 = 1
and to_char(t.accounting_date, ‘yyyy-mm-dd’) = ‘2019-07-31’
and t.gl_transfer_status_code = ‘N’);

select *
from xla.xla_events# t
where t.event_type_code = ‘DEPRECIATION’
and to_char(t.event_date, ‘yyyy-mm-dd’) = ‘2019-07-31’
order by t.transaction_date desc;

–2、更新三张表,按顺序以免后续无法关联,更新的时候最好看一下条数是否正确
update xla_ae_lines t
set t.accounting_date = to_date(‘2019-09-30’, ‘yyyy-mm-dd’)
where 1 = 1
and to_char(t.accounting_date, ‘yyyy-mm-dd’) = ‘2019-07-31’
and t.ae_header_id in
(select t.ae_header_id
from xla_ae_headers t
where 1 = 1
AND to_char(t.accounting_date, ‘yyyy-mm-dd’) = ‘2019-07-31’
and t.gl_transfer_status_code = ‘N’);

update xla_ae_headers t
set t.accounting_date = to_date(‘2019-09-30’, ‘yyyy-mm-dd’),
t.period_name = ‘2019-09’
where 1 = 1
and to_char(t.accounting_date, ‘yyyy-mm-dd’) = ‘2019-07-31’
and t.gl_transfer_status_code = ‘N’;

update xla_events t
set t.transaction_date = to_date(‘2019-09-30’, ‘yyyy-mm-dd’),
t.event_date = to_date(‘2019-09-30’, ‘yyyy-mm-dd’),
t.event_status_code = ‘P’,
t.process_status_code = ‘P’
where t.event_type_code = ‘DEPRECIATION’
and to_char(t.event_date, ‘yyyy-mm-dd’) = ‘2019-07-31′;

扩展:

LOOKUP_TYPE LANGUAGE LOOKUP_CODE MEANING DESCRIPTION
XLA_EVENT_PROCESS_STATUS US D Draft Draft
XLA_EVENT_PROCESS_STATUS US E Error Error
XLA_EVENT_PROCESS_STATUS US I Invalid Invalid
XLA_EVENT_PROCESS_STATUS US P Processed Processed
XLA_EVENT_PROCESS_STATUS US R Related Event In Error Related Event In Error
XLA_EVENT_PROCESS_STATUS US U Unprocessed Unprocessed

LOOKUP_TYPE LANGUAGE LOOKUP_CODE MEANING DESCRIPTION
XLA_EVENT_STATUS US I Incomplete Incomplete
XLA_EVENT_STATUS US N No Action No Action
XLA_EVENT_STATUS US P Processed Processed
XLA_EVENT_STATUS US U Unprocessed Unprocessed

SELECT * FROM APPS.FND_LOOKUP_VALUES WHERE LOOKUP_TYPE =’XLA_EVENT_PROCESS_STATUS’ ;

SELECT * FROM APPS.FND_LOOKUP_VALUES WHERE LOOKUP_TYPE =’XLA_EVENT_STATUS’ ;

日期无论改到哪天都会在期间的最后一天。

Oracle EBS资产卡片初始化数据

对于需要筹备期数据导入财务系统时,特别是有资产卡片需要导入,可有以下几种方式:

1. 对于固定资产,比如台式机,可忽略目前已经使用的年限,即忽略折旧,在生产环境上线的时候作为新资产录入(比较暴力,但是省事);

2. 安装购入资产的发票信息进行资产卡片的录入,这就要求系统在初始化参数的时候,做必要的配套性工作,比如当前是2018年4月;你想导入2015年8月份的期间资产卡片,这个时候,你在资产系统控制的时候,首先得从2015年开始,同时在折旧和报废的管理里面录入2015年8月至当前的数据,否则在资产卡片导入的时候会报错,提示如下:

3. 如果不幸运,你在初始化参数的时候没有设置那么早期间的数据,这个时候,可参考如下处理方式:

   按照最早的可导入的资产期间进行整理,将不能直接导入系统的数据做一个分类处理,比如系统设置的最早可导入期为2017-01,整理出有4条数据是2016-03的数据,这个时候按照正常的折旧应该折旧9个月的数据(3年使用期),你就需要算出这九个月的折旧额,在导入资产的时候把这个折旧额录入系统。同时原值依然输入当时购入的原值金额即可。同时需要将折旧9个月的数据在总账进行手工录入处理。

4. 如果不想折腾,可以选择将资产到总账的费用及折旧数据进行冲销,然后再手工补录相应的凭证(无法在后续找到FA与凭证间关系)。

年底Fa折旧错误(未定义下年资产年度)

     在运行2015年12月折旧并关闭12月资产期间的时候,出现如下图所示的错误:

折旧错误-1

 

折旧错误-2

+---------------------------------------------------------------------------+
资产: Version : 12.0.0

Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.

FADEPR module: 折旧运行
+---------------------------------------------------------------------------+

当前的系统时间为 07-01-2016 16:07:59

+---------------------------------------------------------------------------+

折旧程序例外报告
APP-FND-01564: fadgbi 中存在 ORACLE 错误 1403

原因:由于 ORA-01403: 未找到任何数据
                                      导致 fadgbi 失败。

错误发生时正在执行的 SQL 语句是 , 并且它是从  文件执行的。
APP-OFA-47131: 错误:无法获得当前会计年度
         原因:        未定义当前或下一会计年度。
         措施:        在“会计年度”表单中定义当前和下一会计年度日历。

APP-OFA-47715: 错误:功能 fadgbi 出错返回(从 FADEPR 调出)
+---------------------------------------------------------------------------+
FND_FILE 中日志消息开始
+---------------------------------------------------------------------------+
+---------------------------------------------------------------------------+
FND_FILE 中日志消息结束
+---------------------------------------------------------------------------+


+---------------------------------------------------------------------------+
正在执行请求完成选项...


已完成执行请求完成选项。
并发程序毫无理由地失败返回。

+---------------------------------------------------------------------------+
已完成并发请求
当前的系统时间为 07-01-2016 16:07:59

+---------------------------------------------------------------------------+

解决方法如下:

运行每年最后一个月份的资产折旧(关闭期间)时,必须要打开下一年度的资产会计年度。

资产管理员–设置–资产系统–会计年度(增加即可),如下图所示:

增加资产会计年度

资产折旧运行错误(未定义当前或下一会计年度)

    昨天客户在运行1月份资产折旧的时候,报错,错误信息如下图:

        折旧运行错误

    根据错误信息,去检查资产会计年度的信息,发现确实未定义2016年资产会计年度,于是新增2016年资产会计年度信息如下图(资产管理员–设置–资产系统–会计年度),重新运行折旧请求,正常(但本人不太清楚为何运行2015年的折旧会要求定义2016年度的信息,疑惑中!)

        增加资产会计年度