RPGLE程序问题,求帮助!
有一个程序在测试服务器上运行没有问题,但是在另外一台工作的服务器上却出现了这个问题. 谁能帮忙解答下.
The target for a numeric operation is too small to hold the result (C G D F)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
期待说明原因哦。要不程序换个平台就得重新更改程序?那AS400就没有意义了,哈哈!
还是没有说明为什么。就像楼主本帖所说,测试机上运行正常,换一台就报溢出。除非OS版本不一样,相同版本的OS下,肯定不会出现这样的现象。
应该是overflow了吧。用EVAL X = Y + Z的话,如果Y+Z的值超过了X的长度就会报这个错。
常见错误
会什么说 可能是语言有问题呢。。
已经解决了。
当加出的结果超长,比如FHS03 定义为3,2(1 位整数,2 位小数,下同)时,
再假设FHS01=10,FHS02=4。那么FHS01+FHS02 本来应该等于14,但用ADD 操作
之后,系统会自动将超长位截去,即FHS03 最后等于4;
而用EVAL 语句时,系统判断超长后,会直接报错“The target for a numeric operation
is too small to hold the result”,然后异常中断。
可能是客户端的语言有问题
谢谢,但是不知道怎么改语言...
可能是客户端的语言有问题,更改下语言试试