所有由小潘发布的文章

喜欢分享的小潘.

Oracle EBS应付期间不能关闭的几种可能

1. 应付中存在发票没有验证或者验证没有通过,重新验证发票或者找出不能验证通过的原因;
2. 存在没有传送到总帐的会计分录,可以查找ap_ae_headers_all这个表,看是否存在GL_TRANSFER_FLAG='N' 的记录;
3. 可能存在传送到总帐的日记帐为空的情况,可以通过查找GL_INTERFACE表,看是否存在code_combination_id =-1。

FRM-41805:有歧义的项名 FRM-41805: Ambiguous item name

    出现此错误的原因可能是你的form里面有多个数据项,但是有歧义的项名同时出现在两个或者两个以上的数据项中,因此出现这个错误。
解决方法:
    不同数据项的项名更改为不同,这里建议设置项名是,依照格式:
    Item_block.item_name
这样完全可以避免此类错误,因为同一form中不能同时出现相同的数据项名,以此来规避此错误。

EBS做付款的时候有时候会出现FRM-40654记录已更新

问题描述:

   EBS做付款的时候有时候会出现FRM-40654记录已更新,导致无法进行下一步操作的问题。

解决方法(只是其中可能性之一,其他也可能是锁表,最后附上锁表的查询SQL):

SELECT S.TITLE,S.DESCRIPTION
  FROM FND_DESCRIPTIVE_FLEXS_VL S
 WHERE S.TITLE LIKE '%支票地址%';
检查结果是否有空格,如果有空格,将空格去掉,然后在界面上进行如下操作:
1.进入到说明性弹性域段,查出标题为“支票地址”的内容
2.去掉冻结弹性域定义的勾,然后将代码为DEFAULT的勾去掉,保存,勾上冻结弹性域定义,保存并编译即可。如下图所示:

payment

查询解锁并解锁命令:

SELECT DOB.OBJECT_NAME TABLE_NAME,
       LO.LOCKED_MODE,
       LO.SESSION_ID,
       VSS.SERIAL#,
       VPS.SPID,
       VSS.ACTION ACTION,
       VSS.OSUSER OSUSER,
       VSS.PROCESS AP_PID,
       VPS.SPID DB_PID,
       'ALTER SYSTEM KILL SESSION ' || '''' || LO.SESSION_ID || ',' ||
       VSS.SERIAL# || ''';' KILL_COMMAND
  FROM V$LOCKED_OBJECT LO, DBA_OBJECTS DOB, V$SESSION VSS, V$PROCESS VPS
 WHERE LO.OBJECT_ID = DOB.OBJECT_ID
   AND LO.SESSION_ID = VSS.SID
   AND VSS.PADDR = VPS.ADDR
 ORDER BY 2, 3, DOB.OBJECT_NAME;

RAC时间不同步造成系统并发请求奇慢

    最近接连几个身边的项目都遇到了类似这样的问题,请求(客制化和标准的都是如此)很慢。由于生产环境是RAC,DBA建议去查看RAC环境中的各台服务器的系统时间,看是否一致。结果一查发现几台服务器都存在1-2分钟的差异。于是进行过一次时间服务的同步操作(如果是RAC需要关闭RAC再同步,否则DBA说容易出现后续RAC启动失败的风险)后,各请求果真速度提高数倍。其中的原理大家可以去了解了解,本人也只是说明这样一个现象及可能的解决方法。

发票批量付款版本Bug(付款日期提前一天)

    由于客户要启用批量付款,且需要通过计划付款来分批付款。于是就把此标准功能上线。
但是最后确遇到,在批量支付界面的支付截止日默认的是当前日期,结果却把第2天的计划
付款数据抽出来。最后去选择计划付款的程序中追溯,发现如图所示的结果:

ap

最后做如图所示的修改即可。