To see compatibility issues with GeneXus 9 or prior versions please visit also GeneXus X Compatibility Section
Compatibility with GeneXus X
If you try to open with GeneXus X a Knowledge Base that has been previously opened with GeneXus X Evolution 1, the following message appears:
This Knowledge Base was opened with a newer version of GeneXus (X Evolution 1). It may contains objects (or part of them) that this version can’t handle.
Do you want to open it anyway?
If you proceed, you could get this other message opening some objects:
The object you are about to open <Transaction Name> has the part 'Form' that can't be opened with this version of GeneXus. If you save this object that part content will be lost.
Do you want to open it anyway?
For intance, the message appears for Transactions, which have Win Form part in GeneXus X evolution 1.
Workflow diagrams has change their notation to support BPMN standards.
As from this version the default value of the Tooltiptext Property is Empty. It was found out that filling it with a default in every case overkilled the application and made web pages unnecessarily heavy.
Enable National Language Support Property
The NLS property has been moved from the Data Store section in GeneXus X version to Version section in genexus x evolution 1?.
The property is not converted, set the desired value when converting to GeneXus X Evolution 1 version.
Now, the property can also be set at attribute or domain level.
Setting an environment (Model) with NLS = Yes in some datastore and another environment (Model) with NLS = No in that datastore is not more supported, you will need to create different versions in this case.
Setting in the same environment datastores with different NLS is not more supported. You will need to set an NLS value at version level and change desired values with the attribute or domain granularity.
Object Description Property
For those KB that comes from GX 9.0, if the object's Description property has not been modified (it dinamically gets the Descripton from the object's Name), the conversion will automatically set that description, in order to avoid to see the object's prefix. For instance, a Transaction named 'Customer' (Description = 'Customer'), when converting to GX X the object name will change to 'TCustomer'. In order to avoid seeing 'TCustomer' in their description, the conversion preserves the previuos value.
New definition of Initial Value Property
Initial Value property is taken into account not only in reorganization time but also in transactions, procedures, etc. It acts as a default of defaults.
When converting directly from GX 9, the value set to the property is emptied (and so no compatibility issue happens); but if a KB of GeneXus X is opened, the value persists and is now taken into account in more places than before.
See also Initial Value Property (GeneXus X)
Format Property in Variables and Attributes
In GeneXus X, the value of the Format Property of variables/attributes/domains inherits from the Version property "Default HTML Format (Textblocks only)" and that is a bug. In GeneXus X Evolution 1 it is not inherited from that version's property and therefore you may experience differences in behavoir in the variables or attributes that have a value set in the Format Property different than the one set in the "Default HTML Format (Textblocks only)" property.
The behavoir in GeneXus X Evolution 1 is compatible with the definition and with GeneXus 9.0 or prior.
Automatic Refresh of Grids
The Automatic Refresh property has been implemented since GeneXus X at Object level. Now it is also added at Version Level and Web Panels will infer this value as their default.
Grids Edition usability
Some behavoir changes have been done in order to achieve more usability when editing grids.
Inserting Rows: After the last line is inserted a new one isn't inserted automatically.
Removing Rows: A new column appears so that the user can mark/unmark a row as deleted/inserted.
New Specification Controls
In specification time, for Link functions, the amount and data type of each parameter now is checked. Therefore, some of these warning message can appears:
spc0023 Source (n): Parameter %1 linking %2 has wrong type.
spc0024 Source (n): Not enough parameters linking %1.
spc0025 Source (n): Too many parameters linking %1.
These warnings could appears in many objects generated by the Pattern in the previous version. It is solved when you convert the instances to GX X Evolution 1 version.
This control was already made to the Link Command.
Rules dependencies when SDT variables are involved
SDT variables are considered instantiated not only when the variable itself is assigned but also when some of their elements are initialized in the same Location/Triggered Event.
For instance, suppose the following Transaction's rules:
&Sdt1.Cod = Transaction1Cod on afterinsert;
&Sdt1.Nom = Transaction1Nom on afterinsert;
Procedure1.Call(&Sdt1) on afterinsert;
In previous versions, the Call rule was not included unless &Sdt1 were initialized. And if that happened, the Call was anyway executed before their members assignments, which wasn't the expected behavior.
As from this version, if some SDT members are assigned (or participates as an "output" value in any rule in the same Location), then rules which involves the &Sdt variable will considers this elements as the inputs instead of the &sdt itself.
In the example above, the Call rules considers as input variable the SDT members and therefore will be triggered after their members assignments.
Some "Rules not included" messages (spc0158) can disappears as consequence.
For more information see SAC 26762.
Parameter Type of Methods is controlled
As from this version the parameter types of the Methods are controlled.
If you programmed &ComboBox.additem(&Date,&Date) you may receive a specification warning like this:
warning: spc0023: Parameter &Date for method additem( has wrong type
Duplicate control names validation
If two controls in the form have the same name, you will not be able to save or specify it. You will get the error "error: <control> duplicate control name.".
SDT on Form
SDT elements on Transaction's web form are no longer accepted by default. If you have to enter values in these kind of variables this rule need to be defined:
Change in DP's Default Clause
In Data Provider sintaxis, the Default Clause behavior was changed. For more information see SAC 26840
As from this version it returns Boolean, it can be used like this
Uses like "If &XMLReader.EOF = 1" or "If &XMLReader.EOF = true" are not supported.
GeneXus X didn't fully support all Prompts features. As an example, Prompts generation mechanism in GeneXus X (and up to GeneXus X Evolution 1 RC1) didn't distinguish between User and Automatic Prompts; Prompts could be renamed, etc. This caused several problems. It is therefore, highly recommended to take into account the following instructions after opening you Knowledge Base with GeneXus X Evolution 1:
Save it a as a new object, change references and delete the prompt.
If you modified a prompt:
Change something (whatever) and save it again.
If you did not change anything:
Delete the prompt.