分类目录归档:AP模块

供应商维护错误(请求的页包含过时数据)

    有时候在维护供应商信息的时候,会出现如下图所示的错误,错误数据为:
    请求的页包含过时数据。此错误可能是因为使用浏览器的定位按钮(例如浏览器的“后退”按钮)所引起。视图对象 ExtBankAccountsAM.ExtBankBranchesVO1 不包含记录。显示的记录可能已被删除,或者未正确初始化视图对象的当前记录。要继续进行,请选择位于应用产品页顶部的主页链接以返回主菜单。然后,使用应用产品的定位控件(菜单、链接等),而不是浏览器的定位控件(如返回、转发)访问此页。
    实际上在维护数据的时候并没有按照像描述所说的那样操作,且按照描述的解决方法也不继续正常维护。这个时候,需要去后台查询相应的数据,比如截图的数据是在维护供应商银行账号的时候出现,这个时候,通过SQL取查询供应商银行分行信息,在分行的id列会出现错误的数据,比如:branch_id=-1或者其他数字(也遇到过-3的数字)。
    可通过命令:select t.branch_id ,t.* from iby.IBY_EXT_BANK_ACCOUNTS t order by t.branch_id desc;
查询错误数据。此时已经没有办法再从前台再去正常维护分行数据,有两种选择:

    1. 直接将此分行数据信息删除(备份错误数据),重新从界面上维护分行数据;

    2. 查询出需要维护的分行的id,然后直接update进去。

个人建议是直接删除数据,这样不会因为update错误数据而导致其他错误,毕竟从前台页面维护比从后台更新更准确。

pass_data

批量付款发现付款金额为零(折扣金额)

    刚刚处理一个客户批量付款的问题,客户描述说她批量支付的时候,有两笔预付款应付金额为零,但是此批量付款是已经付款完成才发现的问题。要我马上找原因,汗……
    于是赶紧上楼到财务部门,让客户找出那两笔发票,第一眼没有看出是那方面的原因,于是马上在测试环境中测试,也没有出现类似的错误,结果再次对比数据,发现这两笔数据中都有一个折扣金额(如图1),虽然身为技术人员,不太明白折扣金额的含义,但是这明细与其他发票不同,于是再次测试,发现在计划付款中确实录入了折扣日期和折扣金额就会出现这样的问题(如图2)。客户打电话给我的时候,这两笔款在批量付款后,一直没有做任何操作,然后我建议客户将计划付款中的折扣日期去掉(金额自动消失),然后再次去付款,这样就能正常往下进行。

图1: discount

 

图2: batch_payment

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;

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

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

ap

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