Loading
Prepare for Email to Become the Default Login ExperienceRead More
Set Up and Maintain Your Salesforce Organization
ICU Locale Format Migration Tests

ICU Locale Format Migration Tests

To avoid unexpected behavior after you migrate from Oracle’s Java Development Kit (JDK) locale formats to International Components for Unicode (ICU) locale formats, test the ICU locales. When you migrate from JDK to ICU, the formats for some locales change. Use functional tests to verify existing functionality, and confirm that these formats appear correctly for each affected locale used in your org. Also, verify that integration with third parties works as expected, and test your installed packages with the new formats.

Required Editions

Available in: both Salesforce Classic and Lightning Experience
Available in: all editions
User Permissions Needed
To view release updates: View Setup and Configuration
To enable or disable release updates

Manage Release Updates

OR

Customize Application

Test in a Sandbox

Because dates, times, numbers, and currencies are used throughout Salesforce, it’s important that you test thoroughly in a sandbox when you enable the ICU locale formats. Run the same tests for each locale used in your org.

Also consider asking users for each locale used in your org to verify that the formats appear as expected. Identify key workflows, reports, filters, and screens, and help the users understand the fields and functionality that uses the affected data types.

Verify That Your Installed Packages Are Ready for ICU

If you have installed packages from AppExchange, check with your package providers. Before you start testing, make sure that all your installed packages are compatible with the ICU locale formats. If your package provider indicates that a fix related to ICU is pending for one of your installed packages, factor that information into your testing and activation timeline.

Look for These Issues

When you enable the ICU locale formats, the formats for these data types change for some locales: currency, date, datetime, integer (numbers), and time. If you’re testing for a locale format change, the address and name data types can also change.

Although the specifics can vary, issues usually fall into one of these buckets.

  • Unexpected formats. In the section on functional and end-user testing, we call out specific areas to test. Most unexpected formats occur on custom pages, during custom triggered events, or are returned by custom objects when a Visualforce page, Apex class, or Apex trigger uses API version 44.0 or earlier. For more information and examples, see API Versions for Apex Classes, Apex Triggers, and Visualforce Pages.
  • Custom code exceptions and errors. Good code practices use locale-neutral methods when handling data and apply locale-specific formats after all other processing is complete. For this reason, issues with custom code aren’t common. However, some custom code can handle locale data improperly. To learn how to use locale-neutral methods in your code and review examples, see Custom Code and Locale Format Changes.

Consider End Users and Processes

When testing, consider how the new locale formats can impact your end users and processes. For example, an uninformed user can misinterpret a new date format, or a longer format can require adjustments to printed labels. When possible, we recommend that you include end users in your testing. End users can help test their workflows and help identify the potential impact of the new locale formats on your processes.

To help your end users prepare and reduce post-activation questions, notify your users before you enable the new formats in production. Provide detailed information about the changes to the locales in use in your org, and point them to any updated processes.

To determine the locales in use in your org and which users the new locale formats impact, see Determine the Locales in Use.

Functional and End-User Testing

In addition to your standard functional testing, make sure to include custom functionality that relies on currency, date, datetime, integer (numbers), and time data. For example, a workflow that runs based on the day of the month or a report that groups Opportunities by value.

Ensure that your test plan includes these areas that locale format changes can impact.

  • Filters—Filters are available in reports, formulas, validation checks, and automated workflows. Also, filters can exist in lookup relationship fields. Test filters that use dates, times, numbers, and currency values.
  • Apex Code and Lightning Components—When testing, include all custom functionality written by a developer using Apex or Lightning components. Custom code can include Lightning components and pages, Visualforce pages, custom workflows, and reports.
  • Processes That Use Third-Party Data—Receiving data from an external system is another type of integration. Identify and test processes that use incoming data from an external party. For example, if you receive leads from an external vendor. This data can be integrated into Salesforce automatically through API calls, or it can come in the form of files to be processed, such as CSV files.
  • Third-Party Apps That Use Salesforce Data—Check your existing integrations to ensure that your data is correctly parsed with the new formats. Most integrations store data in a neutral format, but some integrations specify the format of the data for input and output.

    For example, you send information about your contacts to a third party that then sends reminders based on contract dates. During your testing, verify that the third-party app receives the data with the modified locale date formats correctly. If you find an issue with a third-party app, contact the company that owns the app to remediate the issue.

  • Installed Packages—If your org has installed packages from AppExchange, verify that your data is parsed correctly with the new formats.

    For example, if an installed package provides or scrubs lead data, verify that the date, time, and currency data display as expected with the new formats. Or, if the package provides project management tools, test any date-based calculations. If you encounter an issue with a managed package, report the issue to the package provider.

  • Custom Functionality—Validate web services, email services, formula-based fields, and any complex business workflows in Salesforce that use custom code. Focus on the processing of date, time, number, and currency data, and include processes that are triggered based on this data.

Test Again in Production

Before you enable ICU in production, we highly recommend that you test the ICU locale formats in a sandbox. Ideally, your sandbox includes all the functionality of production, but there can be obvious and not so obvious differences with production. For example, does your sandbox include integration with all third-party applications? Are there data types or complexities that only exist in production? As a result, we recommend that you perform another round of testing when enabling the ICU locale formats in production.

Complete the Release Update

After you enable the ICU locale formats, complete your testing, and update your org as needed, you can complete the Enable ICU Locale Formats release update. In Setup, in the Quick Find box, enter Release Updates, and then click Release Updates. For Enable ICU Locale Formats, click Get Started. Click the Assess the impact of this release update step, and click Done. Then confirm that you completed the required steps for the update. After you complete the update, the steps can’t be changed.

 
Loading
Salesforce Help | Article