When is the extension of an SAP standard app no longer release safe? SAP has recently provided us with a checklist for this.
SAP recommends the following points:
- Follow the general Best Practices for Developers.
- Only access controls with stable IDs, never rely on the order of controls in the aggregations or parent-child chain.
- Always check that a control you are accessing exists and that it is of an expected control type before calling any further methods of the control.This applies also for controls added via adaptation project, which might have been added by Add Fragments to an Aggregation or Extension Point changes or via controller coding.
- Don’t call or override any private or protected methods of SAPUI5 app coding.
- Don’t use any deprecated SAPUI5 artifacts (controls, properties, methods, or other).
- Value helps are not part of the SAP internal stability contract (for example, they might change after an upgrade). Do not use value help entity sets in the controller coding and for data binding of controls in XML fragments.
- For SAP Fiori elements-based applications, follow the guide Extending Delivered Apps Using Adaptation Extension.
- Reuse components might change, always write resilient coding when accessing any functionality of a reuse component to handle unexpected errors and failures gracefully.
- The OData metadata can change during the app upgrade, so don’t hard code against any property values.
Source: Upgrade Safe Compatibility Rules