壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1953|回复: 5

[财务] [分享知识 原创连载]Oracle ERP二次开发知识点汇总,相信时间会让此贴沉淀更多价值

[复制链接]
发表于 2013/7/13 16:21:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
       从上次报名参加连载活动已经过去差不多一周了,今天决定写一下“ERP二次开发知识点汇总”,内容均是自己在开发过程中遇到的,在此记录,方便自己以后查阅,同时也与大家一起分享,每次写的内容可能比较少,但是相信时间会让此贴沉淀出更多有用的东西,谢谢大家。

第一项:form复选框应该注意事项
      今天就写说一个form开发的时候,大家可能不太注意的地方,前几天,我做完一个开发功能,部署到测试环境中去,测试过几次,完全没有问题,就在第二天准备上生产的时候,问题出现了,数据无缘无故丢失了,事情是这样的:
      做财务的可能都会遇到这样的问题,税费计提的功能,大量重复性繁杂的工作量,没有技术性,纯属体力劳动,因此客户提出需求需要用系统帮忙解决此问题,于是,业务顾问谈好需求后,自己作为技术顾问就开始安装功能需求文档做设计,做开发,当然这个本来也不是什么大的开发,就是需要对不同机构,不同产品进行税费计算,然后生成日记账入账即可,于是,form开发,逻辑代码书写都完成了,部署测试环境,内部测试完成,无误,提交客户测试,问题出现了,比如有一个产品A,税率是0.00013,然后需要生成公司间往来,这样,一个税种就会生成总公司本部和分支机构两条日记账,但是结果两条数据都没有出现,由于form界面是开发的,里面的数据是人工维护进去的,如图:

1.jpg
大家可以看到图中有一个往来段的勾选,问题就此出现,在form开发的时候,如下图:
2.jpg

3.jpg
       这两者的差别就是:未选中的时候,此ITEM的值,在数据库里面存储可能是空,可能是N,如果选中不允许,结果就只会在数据库中存储为N,提出这点主要是因为,最近在一个form的开发中遇到这样的问题,我根据此字段去作为判断条件的时候,发现有时候数据正确有时候数据错误,数据库,“有时候”这个问题就很麻烦,做技术的就最怕这个了,于是我仔细核对FORM,才发现这个问题,其实如果对于复选框还好,毕竟只有三种结果,Y,N,NULL,这样的话,我可以根据Y和<>'Y'来,但是遇到其他的,就得注意了,且要记得赋初始值,否则FORM编译会报错,记下以此警醒自己。
       今天就写这样一个小知识点,谢谢。

本帖被以下淘专辑推荐:

发表于 2013/7/13 16:42:16 | 显示全部楼层

回帖奖励 +1 点努力值

个人简介:乙方ERP实施技术顾问(目前主要是Oracle EBS产品)
连载主题:ERP二次开发知识点汇总
发布计划:首次发布计划  2013年7月13日
计划发布在哪个板块::Oracle ERP(EBS),二次开发版块
更新周期:不定期
本连载的亮点是:这些小技术知识点都是自己在平时的开发工作中遇到的,常见但实用
其他要说的话:希望能通过这次活动,认识更多志同道合的朋友

纵横四海点评:潘总不但人长得帅,而且文档也写的一流,从文档中就可以看出其严谨的作风;是否介意将连载的主题改为跟着帅哥学Oracle EBS二次开发呢? EBS的开发博大精深,需要掌握的知识不少,还有很多是一些小的技巧;我想这篇连载不会像业务连载那么有趣,但知识就在那里,不管你是否留意到;一个资深的技术顾问和一个初级的顾问的区别就在于经验的积累;希望这篇连载成为技术顾问的另外一本葵花宝典;
发表于 2013/7/13 17:39:39 | 显示全部楼层
连载是写给自己的,便于自己查询和参考;用连载的方式记录可以很好的温故而知新;没事的时候拿出来翻翻,挺有意思的;
 楼主| 发表于 2013/8/7 09:30:33 | 显示全部楼层
最近加班有点严重,晚上回去一定写一下,不好意思

点评

收到;理解;  发表于 2013/8/7 09:59
 楼主| 发表于 2013/8/7 22:00:50 | 显示全部楼层
第二项: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班的报表。

(现在还在加班中,明天继续)

评分

参与人数 1努力值 +100 收起 理由
纵横四海 + 100 辛苦了

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 07:13 , Processed in 0.028655 second(s), 18 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表