欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SAP Fiori globalization实现原理之Amount显示的截断原理 SAPSAP云平台SAP Cloud PlatformCloudABAP 

程序员文章站 2022-06-13 17:28:09
...

You have observed the following behavior: the sales volume is displayed in detail view with1880 USD, while in master list, it is displayed as 2K for short. Why?

 

SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP 

 

The truncation behavior in master list is implemented by Fiori application to fulfill the product standard of Globalization requirement. The exact value for SalesVolume is 1880.00,

 

SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP 

 

And for the field in master list, there is a formatter to return the volume in short format:

 

SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP 

 

And in order to understand the implementation detail of framework API “FormatAmountShort”, we have to understand the definition of CLDR – Unicode Common Locale Data Repository. The Unicode CLDR provides key building blocks for software to support the world’s languages, with the largest and most extensive standard repository of locale data available. This data is used by a wide spectrum of companies for their software internationalization and localization, adapting software to the conventions of different languages for such common software tasks. See one part of CLDR definition below from cldr.unicode.org/transl :

 

SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP 

 

The first call of FormatAmountShort will trigger the load of CLDR file in the runtime.

 

SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP 

 

The English version of CLDR content defined in the web page cldr.unicode.org/ is packed and stored in JSON file en.json by SAP and is now loaded:

 

SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP 

 

And here below is the code how “1880” is transformed to “2k” by framework code:

 

SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP 

 

The reason why English version of CLDR file is loaded is the language setting of the browser.

UI5 runtime will use the first Language configured in browser as primary language for all subsequent language-specific configuration stuff load mechanism, as illustrated in line 67 below:

 

SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP 

 

Finally the English version of CLDR file is loaded in line 718:

 

SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP 

 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

SAP Fiori globalization实现原理之Amount显示的截断原理
            
    
    
        SAPSAP云平台SAP Cloud PlatformCloudABAP