点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
当我调用BAPI_PR_CHANGE传递项目时使用的货币类型为COP且其值的倒数第二位为0(例如:12305)时,我得到一个转储,其说明"异常条件ERROR_CHECK_LIMIT已触发"。
标准代码调用FM CURRENCY_CONVERTING_FACTOR,对于货币类型COP获得一个因子100。
此代码将其除以该因子(例如:12305/100 = 123.05)。
接下来,它检查获得的[value-floor(value)= 0.05]是否在0.01到0.09之间。 如果是这样,那么它将引发异常。 它在类CL_LIMIT_MMSRV的方法CHECK_CURRENCY_DECIMALS中执行此操作。
有人知道为什么这样做吗? 我有什么建议可以避免这种情况?
谢谢,
沙特。
您好,沙特
检查SAP注释'2277140-如果货币的小数位数为零,则PR在BAPI_PR_CREATE中创建失败'
注意
Hi 沙特!
限制(0,01-0,09)是硬编码的还是从某些定制表中读取的?
您是否检查是否有要安装BAPI的OSS注释?
您(或依据)是否使用关键字" CL_LIMIT_MMSRV"对系统中可用的OSS注释执行了一些搜索
否则,您应该
嗨西蒙妮,
使用CHECK_CURRENCY_DECIMALS方法计算极限(0,01-0,09)。 这就是发生的地方-
这成功了! 谢谢! :)
感谢您的建议雷蒙德。
OY04的货币定义中COP的小数位数为0(与TCURX表中一样)。
此问题适用于日元等所有0个十进制货币。
转储屏幕截图-
一周热门 更多>