作者:Vipul Khullar&Aayus Chawla
简介
SAP中的货币主要通过货币功能以及TCURC和TCURX表进行广泛处理。然而,我们时不时会遇到一个需求,我们需要扩展它以适应其他需求。
在这个博客中,淘客机器人,返利机器人哪个好用,我们想分享我们在我们的项目中遇到的一个需求的经验,在这个需求中,货币的小数位数需要增加,以达到更高的精度。
这个需求对于这种扩展通常是当用户需要更精确的计算量的基础上。这可以是每单位数量的收费率,这个费率(小数位较高)乘以一个大的总数量,最终导致净金额的巨大差异(与美元/日元等正常货币相比)
因此,为了满足这一要求,我们为用户提供了一个选项,物联网传感器,可以将小数位动态设置为运行时,不更改标准ISO货币的货币。
问题陈述:
假设客户要求对所有货币的"汇率"字段使用最多5位小数位,而不考虑TCURC和TCURX表中允许的货币小数位总数。
用户可以选择基于场景的货币小数位数,该场景的所有后续计算将基于选定的小数位数进行。
此处的挑战是"汇率"字段始终与结构/表格中的参考"货币"字段相关联。此参考文件严格检查特定货币允许的小数位数。此数字来自TCURX和TCURC表,客户必须在所有情况下使用相同的货币小数位数。
虽然有一种标准方法可以使用TCURC和TCURX表维护相同货币的不同小数位数,但使用标准方法,用户必须对所有情况都这样做正在使用的货币。如果我们需要使用20种货币,小数点最多为5位,用户必须在两个表中保留100个条目。
此外,使用标准方法,我们会看到不同的货币,例如小数点不同的USDN。尽管该USDN反过来与ISO货币(本例中为USD)挂钩,用户将在UI上看到USDN而不是USD,这并不总是可取的。
解决方法:
我们的解决方法(如下所述)旨在减少手动维护TCURC和TCURCX表中不同货币的多个记录的工作量。此外,最终用户总是在UI上看到一致的货币,不管小数位数是多少。(没有细微差别,如"USDN"等)。
假设数据库表/结构包含两个字段"RATE"和"currency"(作为"RATE"字段的参考货币字段)
必须对数据库进行以下更改表:
2。添加CURRENCY字段作为"RATE"字段的参考字段。
3.在所有相关结构中执行引用CURRENCY字段和添加CURRENCY\u EXT字段的相同过程。
4.我们现在将使用虚拟货币填充CURRENCY字段,这些货币根据我们的定义具有十进制值要求。
这些虚拟货币可以根据小数位数从定制中提取,云服务器好还是,如果需要固定小数位数,消防物联网,则可以直接填写。
这些虚拟货币必须由客户在TCURX和TCURC表格中维护。相同的过程如下所述。
方法GET\ CURRENCY\ U DECIMALS用于通过读取我们维护的自定义项,然后从TCURX和TCURC表中获取详细信息来获取货币。注:我们检查TCURX表只是为了确保在定制中维护的货币也在标准货币表中维护。
示例:
2位小数
3位小数
5位小数
结论:
可以处理ABAP中货币小数位数的更改在标准TCURC和TCURX表格的帮助下,
但是,当需要对小数点位置不同的货币提供一致的用户体验时,上述方法非常有用。此外,这种方法还减少了手工维护TCURC和TCURX表中不同小数位的不同货币记录的工作量。
需要注意的几点:
我们必须在所有结构中引用CURRENCY\u INT字段,而不仅仅是在UI结构中。这是为了确保计算以正确的小数位进行。
对于货币换算计算,我们仍将使用货币字段,因为它包含最终用户维护的ISO货币。