- the record in question is a column definition
- the state defined by the app is a shorter column than what is in the current system
- the column contains data longer than the newly defined length
For further information, see KB0594807, "Write Audit landing page."
Steps to Reproduce
Install a store app.
Edit a script include or another sys_metadata record installed by the store app.
Go to the script include's table and right-click the script include that you edited.
Click Revert to store app.
Expected result: Column is shorter and still contains data
Actual result: Column is shorter and data is lost. In some circumstances, the column has been renamed to u_columnname
We have implemented an Instance Analyzer script for the Fuji family of releases that blocks the most common scenarios that can cause data loss.
For instances on which the Instance Analyzer script has not been run
To prevent data loss, avoid use of the Revert to Store App feature until you are able to upgrade to a fixed version listed in the Fixed In section below. If you must execute a Revert to Store App before the instance can be upgraded, try the following two recommendations:
- Perform the Revert to Store App on a sub-production instance and validate the results.
By validating on a sub-production instance, any issues can be uncovered before customers are affected.
- Review the difference between the store app version and the current version to ensure the current version did not increase the max_length or internal_type of the column.
For instances on which the Instance Analyzer script has been run
To prevent inadvertent data loss, we have limited the following features in all Fuji releases except FP13. When a user clicks on either of the following UI actions, we analyze the Update Set:
- Back Out and Revert are refused for only Dictionary records on the following actions:
- Local Changes - Back Out (KB0594820)
- Update Version - Revert to this version (KB0594798)
- Application Metadata - Revert to store app (KB0594819)
- Update Comparison - Revert (KB0594817)
- Upgrade Details - Back Out (KB0594816)
- Upgrade Details - Revert to Out-of-box (KB0594818)
- Upgrade Details - Reapply Changes (KB0594822)
- Push or Pull Version - Use Pulled Version (KB0594812)
If Revert to Store App is run on a Dictionary record, no action is taken and a message is displayed referencing this article.
If you are presented with this UI notification, you can perform the following workaround:
If you know what needs to be done, perform the equivalent action in the Dictionary module. If you prefer to revert, you can use this procedure for each update you want to back out:
- Navigate to Dictionary module, search for, and open the Dictionary record in the list to open its form.
- On the form for the column in question, click the context menu ( icon) and choose Show File Properties.
- Ensure that the Versions related list is sorted by the Created column, with the most recent version at the top.
- In the Versions related list, locate the version you are attempting to back out to.
This is the most recent version whose Source's name starts with System Upgrades
- Right-click on that version and choose Compare to Current.
- If the comparison window displays changes to max_length, perform the operation on a sub-production instance and validate the results first. Data loss is likely.
- If the comparison window displays changes to internal_type, perform the operation on a sub-production instance and validate the results first. Data loss is possible.
- If the comparison window displays no changes to max_length and no changes to internal_type, click the Revert to this Version button to roll back the change.
Warning: If you see a message like the one that is circled, you will lose data. Click the Cancel button to avoid the change.
Related Problem: PRB678241