SAP Fiori globalization实现原理之Number显示的格式原理
You might observe the same number value but displayed with different format if you log on the same system with different user.
The user with Decimal Notation setting ” ” will see the format “1.880,00” and setting “Y” will see “1 880,00”. What has happened under the hood?
If you monitor the network tab in Chrome development tool when Fiori launchpad is initialized for the very beginning, you can find the http request below:
The response contains the Defaults user setting stored in ABAP backend. The attribute “numberFormat” is related to the number format being displayed.
In Configuration.js, the corresponding enumeration variable is defined for each type of number format.
The main logic for number format is implemented in file NumberFormat.js. As the variable name has already given a good hint, the integer part and fraction part of 1880.00 are parsed and stored into the two variables separately.
The logic of the following code:
(1) Since a number is displayed as several groups and each group consists of THREE digits, so in code 627, the position of group is calculated by MOD operation against 3.
(2) For user setting “Y”, the group separator character is ” ” and decimal separator is “,” , stored in corresponding attribute in variable oOptions.
(3) You can debug the NumberFormat.format in the run time to have a better understanding on the logic above. Suppose you do not the exact location of NumberFormat.js, just switch to debug mode, open Chrome development tool and go to Sources tab,
press Ctrl+O and type “NumberF” and then there is auto-complete function which lists all potential results.
Click the second one ( ) and you will navigate to NumberFormat.js. Hover the mouse and you can see its absolute path in tooltip.
Now you can set breakpoint and debug.
For more tips about Chrome development tool used in my daily work, please refer to this blog.
Enjoy debugging!
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关文章
- SAP UI5 SimpleForm layout 设计的一些推荐做法
- 通过一个实际例子,理解 SAP UI5 sap.ui.model.odata.v2.ODataModel API 中 BindingContext 绑定上下文的概念和用法试读版
- SAP Fiori Belize 主题应用在 SAPGUI 里的一些要点
- ORA-06810: TLI Driver: could not set the IPX ethernet SAP at init ORACLE 报错 故障修复 远程处理
- Oracle购买SAP: 开启新数据时代(oracle收购sap)
- SAP常用函数详解编程语言
- SAP 财务替代增强详解编程语言
- Sap权限相关设置、控制及传输详解编程语言
- sap数据归档详解编程语言
- SAP STO业务详解编程语言
- SAP ABAP Debug 小技巧详解编程语言
- abap如何查找SAP示例程序详解编程语言
- 系统SAP在Linux系统上的开启之旅(sap启动linux)
- SAP在Linux系统的安装与使用(sap安装linux)
- 调用SAP接口:MSSQL实现自动化(mssql调用sap接口)
- 系统Oracle公司收购SAP系统开启新的商业时代(Oracle公司sap)
- 数据库解决方案如何使用SAP创建Redis数据库(sap怎么创建redis)
- Oracle与SAP权衡利弊比较之路(oracle与sap比较)
- Oracle和SAP技术比较优势和劣势(oracle与sap比照)
- 跨界合作新模式 Oracle与SAP实现合并(oracle与sap合并)
- Oracle与SAP金蝶谁更具竞争力(oracle sap金蝶)
- Oracle SAP系统深入探索管理系统之魅力(oracle sap系统)
- Oracle与SAP的技术潜力比较(oracle sap比较)
- Oracle 与 SAP深度对比分析(oracle sap对比)