最近接连几个身边的项目都遇到了类似这样的问题,请求(客制化和标准的都是如此)很慢。由于生产环境是RAC,DBA建议去查看RAC环境中的各台服务器的系统时间,看是否一致。结果一查发现几台服务器都存在1-2分钟的差异。于是进行过一次时间服务的同步操作(如果是RAC需要关闭RAC再同步,否则DBA说容易出现后续RAC启动失败的风险)后,各请求果真速度提高数倍。其中的原理大家可以去了解了解,本人也只是说明这样一个现象及可能的解决方法。
发票批量付款版本Bug(付款日期提前一天)
HTML报表中空白行的处理
前段时间在项目上做一个HTML版的凭证打印,空白行的问题找了不少资料,最后终于在一个同事的帮助下完成了。
比如:一个凭证有4行,此凭证固定行数为8行,如果不做处理,就会出现没有数据的行出现连续空白的情况,最后,定义了
一个常量,可能现在想很简单,但是当时就没有想到这样做。
l_cell_null CONSTANT varchar2(10) := chr(38) || 'nbsp;';
在可能出现空白行的地方,在最后加上如下代码所示的样子:
nvl(substr((Get_Segment_Desc(c2.list_account,
'segment3',
l_sob_id) || ' ' ||
Get_Segment_Desc(c2.segment4,
'segment4',
l_sob_id)),
1,
40),
l_cell_null) || l_cell_null
最后终于解决了此问题,现在项目上对凭证的格式要求很严格,之前用的是PDF版本的,但是空白页有时候不好把握,最终客户提需求开发了这个HTML班的报表。
Form开发复选框应该注意事项
今天就写说一个form开发的时候,大家可能不太注意的地方,前几天,我做完一个开发功能,部署到测试环境中去,测试过几次,完全没有问题,就在第二天准备上生产的时候,问题出现了,数据无缘无故丢失了,事情是这样的:
做财务的可能都会遇到这样的问题,税费计提的功能,大量重复性繁杂的工作量,没有技术性,纯属体力劳动,因此客户提出需求需要用系统帮忙解决此问题,于是,业务顾问谈好需求后,自己作为技术顾问就开始安装功能需求文档做设计,做开发,当然这个本来也不是什么大的开发,就是需要对不同机构,不同产品进行税费计算,然后生成日记账入账即可,于是,form开发,逻辑代码书写都完成了,部署测试环境,内部测试完成,无误,提交客户测试,问题出现了,比如有一个产品A,税率是0.00013,然后需要生成公司间往来,这样,一个税种就会生成总公司本部和分支机构两条日记账,但是结果两条数据都没有出现,由于form界面是开发的,里面的数据是人工维护进去的,如图:
这两者的差别就是:未选中的时候,此ITEM的值,在数据库里面存储可能是空,可能是N,如果选中不允许,结果就只会在数据库中存储为N,提出这点主要是因为,最近在一个form的开发中遇到这样的问题,我根据此字段去作为判断条件的时候,发现有时候数据正确有时候数据错误,数据库,“有时候”这个问题就很麻烦,做技术的就最怕这个了,于是我仔细核对FORM,才发现这个问题,其实如果对于复选框还好,毕竟只有三种结果,Y,N,NULL,这样的话,我可以根据Y和<>'Y'来,但是遇到其他的,就得注意了,且要记得赋初始值,否则FORM编译会报错,记下以此警醒自己。
今天就写这样一个小知识点,谢谢。(此文是本人之前发布在ERP100上的,链接 http://bbs.erp100.com/forum.php?mod=viewthread&tid=266572&extra=)
PO最终关闭失败
之前做最终关闭PO单,释放保留款的时候,出现图所示错误,查了metalink上,方法如下:
1. Go into the responsibility: General Ledger.
2. Navigate to the GL Accounts form:
Nav: Setup -> Accounts -> Combinations.
3. Query the accounts used on the affected PO and ensure that Allow Posting and Allow Budgeting flags are checked.
4. Retest the issue.
5. Migrate the solution as appropriate to other environments.
但是没有效果……
最后发现是更改某标准的功能后,需要重新验证一下应用产品。(错误如图),需运行请求名:验证应用产品会计定义,参数
根据各自的需求选择即可。