The conversion of the knowledge base from prior versions up to version 8.0 is automatic. There is no backward compatibility, once a model is opened with version 8.0, prior versions cannot be used.
In this version, GeneXus has been modified. In the Compatibility document you will find a complete list of these modifications. Below, there is a description of the main points to be taken into account:
- The distinction between Vertical and Aggregate formulas (Sum and Count) is eliminated as from version 8.0. On defining a formula, it is verified if it can be solved as Vertical. Otherwise, it is saved as Aggregate.
Important: there is an ambiguity when explicitly defining a Sum/Count formula as Aggregate and it coincides with a Vertical formula in its syntax and, at the same time, can be solved vertically. The following error message appears in these cases:
spc0026 Formula %1 cannot be evaluated in this program For further information please refer to SAC 13364
- Up to version 7.5, GeneXus enables you to define variables with names beginning with numbers. In this version, this bug was fixed. Variables names can only begin with character. As a consequence of this new behavior, if there are defined variables with this form, an error message appears when opening the object or variable definition: “Error: Invalid first character”. It is necessary to change the name of those variables to avoid the error message. For further information please refer to SAC 14617
- New controls in Subtypes
GeneXus 8.0 introduced an important change in the implementation of subtypes to allow modeling reality in a simpler as well as powerful way. Many constraints from previous versions were solved and a new editor was included to improve usability in subtype definition. Code generation was also improved to optimize performance.
Important: Although this change enables the mentioned improvements, some models from previous versions may be affected when being converted. In the following link, you will find a detailed description of how to detect these cases: Subtypes – Compatibility.
Until GeneXus 7.5 a Cartesian product was generated when the intersection between the base table of the main ‘for each’ and the base table of the nested ‘for each’ was empty.
At present, the following case is differently dealt with: if the base table of the main ‘for each’ is included in the extended table of the nested ‘for each’, the Cartesian product is no longer generated; instead, a join is made between the two tables. Thus, the navigation is improved generating a filter condition in the nested ‘for each’.
Important: Although this change has made navigations more intuitive, some models from previous versions may be affected when converting them. The following link shows the step to be taken to detect these cases: Improvements in Nested Navigations – Compatibility