Siebel异常(SBL-DAT-00421)

这周系统的一个功能抛出了异常,一些数据没有按照既定逻辑处理。检查日志,显示:An invalid assignment error has occurred. Please try again or ask your systems administrator to check your application configuration if the problem persists.(SBL-DAT-00421)。
之前没有遇到过这个错误代码,网上能查到的资料也不多,查了半天才弄明白怎么回事。

查到资料中出现SBL-DAT-00421的原因都是输入的日期数据与系统设定的日期数据格式不对,所以数据写不进去,从而抛出异常。
在Oracle Community里看到一个解答,写得挺到位:SBL-DAT-00421 occurs when the values passed in to the web service call do not match the validation restrictions on the fields.中文大意是说通过Web Service传输的数据不符合要写入字段的验证规则。

受到Error when setting Due Date based on UserValue这个问答的启发,我们很快找到了问题所在:我们的系统里,有一个字段表示“一个月后的时间”,我们以前是这样写的:

            var endDate = new Date();
            sWaEDtime = ((endDate.getMonth() + 2) + "/" 
                       + (endDate.getDate()+1) + "/"
                       + endDate.getFullYear() + " "
                       + endDate.getHours() + ":" 
                       + endDate.getMinutes() + ":" 
                       + endDate.getSeconds());

很明显,当时间来到12月1日0点时,sWaEDtime 的值将是 13/1/2015 00:00:00,而几个月之前开发人员在写这段代码时忘了考虑年末的情况。
这是个相对容易解决的问题,只需将代码稍微修改如下:

            var endDate = new Date();
            endDate.setMonth(endDate.getMonth() + 1);
            sWaEDtime = ((endDate.getMonth() + 2) + "/" 
                       + (endDate.getDate()+1) + "/"
                       + endDate.getFullYear() + " "
                       + endDate.getHours() + ":" 
                       + endDate.getMinutes() + ":" 
                       + endDate.getSeconds());

这里用到了SetMonth()方法设置日期对象的月份,当月份超出12个月的范围时将月份自动向后递推,并自动将年份递推。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,129评论 6赞 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,198评论 19赞 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,279评论 18赞 399
  • 写在前面: 这其实是三月八号写在公众号的文章,可为什么现在才要po在平台呢? 哭晕。 ~~~~~~~~~~~~~~...
    柯南君说阅读 439评论 0赞 0
  • 当你作为公司的运营猫,突然领导让你负责一下公司的百度竞价账户,但是你从来没有经手过,那要怎么操作呢~ 让我来和你讲...
    撑伞的姑娘阅读 903评论 0赞 0

友情链接更多精彩内容