This section explains all the changes and improvements done in GeneXus 9.0 Development Environment.|
We have classified all the improvements in the following groups:
In some cases you may find links to other documents with more detailed information.
If you will convert your Knowledge Base to Genexus 9.0, check the Compatibility section and the Propierties section For detailed information about the Development Environment improvements click here Check the requirements and activation of the version.
The following changes were done to the specification report diagram:
- The Check specification option now checks for used SDT changes.
- SAC# 18995 Code optimization when only one record is retrieved (Select Top).
- SAC# 18908 The specification process of subtype group has been improved, specifying only those groups where the related tables changed.
- SAC# 17866 Avoid inferred conditions in nested For Eachs.
- SAC# 16434 It is possible to define a Subtype (Primary) in several groups.
- New subtype group controls: spc0118 Subtype group %1 overlaps %2. You should consider joining them into %1. The following attribute(s) may be reported as not instantiated when referenced: %3.
- spc087:%1 language statements are used in this object. This warning is added when an object is using language specific code like dBase, Java, VB, etc.
- The implicit For eachs associated to Grids are not shown. in Previous versions (up to GeneXus 8.0) was not clear if a For each was implicit or there was a For each in the Load event. Now, this navigation is shown under the title Event Load in the associated report.
- Whenever the The Load method or command is used, the report details if it was added automatically by GeneXus
- It details when a grid is associated to a Collection.
- SAC # 18996 Better Parameter Control when using Extended Data Types, BC or SDT.
- SAC # 14647 Better Parameter Control when using UDP function.
- SAC# 17915 How to change the button fonts?
- SAC# 14470 Support of the IN operator with enumerated domains, for instance: &var IN ( Domain.A , Domain.B, Domain.C)
Now, it is possible to call a Web Object from a Procedure. When using the Expand dynamic calls property, the Web object with the matching parameters associated to the Call statemant will be included.
- SAC # 17271 New approaches for filters inference in nested for eachs.
- SAC # 15740 Inferred join is not performed in nested For Eachs in some cases.
- SAC # 17404 Nested navigations with subtype and supertype in the extended table of the nested table were fixed.
An Input Method Editor (IME) allows users to enter and edit Chinese, Japanese, and Korean characters. The IME is an essential component for writing Chinese, Japanese, and Korean scripts.
New Data Area Web is now available for Web panels styles and Web transactions styles.
To be able to translate the applications to different languages, the Language Object has been created. It contains all the GeneXus predefined texts plus the ones which are needed to be translated.
- New methods are available for attributes and variables. More information...
- Function Char(<numeric>) is declared as standard function.
- Method Sort() is declared as standard function.
- New Function/Method RoundToEven()
- The CDOW() and CMonth() functions support the second parameter (Idiom) variable.
- Function MOD() is declared as standard function.
- The NoCheck Transaction Rule is declared deprecated.
- Function UDF() is declared deprecated.
- SAC# 17825 New ByteCount function to count bytes instead of characters in a string.
- New Methods for data types
- The JSEvent method now applies to Edit controls in Grids and Bitmap variables.
- The RefMsg Rule now supports an expression as a parameter.
- Function to create character expression with parameters markers.
The behaviour of the Form creation (Create Default option in the Edit Menu) has been modified when using attributes configured as Dynamic ComboList boxes. Now, when the attribute is Primary key, it is generated as an Edit Control, not taking into account it's Control Info definition. It is used when the attribute is not part of the Transaction's Primary Key.
- The and Directory have been implemented to handle the machine's File System.
- LDAP is a new GeneXus data type that allows connecting to LDAP servers. It can be used to authenticate users or retrieve attributes under a specified context.
Automatic rules are generated for Date and Datetime attributes accepted in a Transaction to disable the possibility of inserting invalid values. The following error message is displayed: Field <Att_Date> is out of range
- This dialog added the option to filter by Business Component
- The Add Callers button is added (when specifying and distributing) to retrieve the objects that directly call those included in the current list.
For instance, in SQL Server the date cannot be less than 01/01/1753.
SAC # 17684 A new [BC] environment attribute has been added to group specific Business Components sections. It can be used in rules, events and subroutines.
- SDT elements can be used in Web forms. More information...
- SAC# 18111 SDT elements definition, inheritance and based on attribute.
- SAC# 17864 The default name of controls associated to SDT items was changed.
- Multilanguaje Help More Information...
- Object, Attribute and Variable support help for each language.
- You can select the language to edit the help by the language combo in the GeneXus Toolbar
- The Tools options of the GeneXus Development Environment menu bar added the following options to export and import translations. More Information...
- Export Translation File.
- Import Translation File.
The Wizard for creating models added the National Language Support property when using Japanese or Chinese KB languages.
- New Empty as null attribute control property Empty as null
- SAC# 17863 Disable Warnings property at Object level.
- The Disabled warning Model property added the value spc0096 as default.
- The InternalName property is declared as standard property for Grids and Free Style Grids.
The Tools options of the GeneXus Development Environment menu bar changed the Data View Generator tool for the new Database Reverse Engineering one. More Infofmation...
The GeneXus Tools Menu adds a link to GeneXus Patterns
- SAC# 18945 Error message related to GeneXus grammar has been improved, adding context information.
- SAC# 17398 Better control of conflicts in expressions.
The Select Attribute dialog added the "Subtype group" Type option in the associated Combo Box to enable the selection of attributes of a specific subtype group, for instante *None.
- The Select Model dialog shows the Model's Id, is resizable and can be sorted by columns.
- The Select Control dialog of Web Forms (Edit/Select Control or Ctrl-L) is resizable and can be sorted by columns.
- The Insert Variable dialog added the description column.
- The Execution dialog added the refresh column.
- The Specify dialog is resizable, can be sorted by columns and added the icon of each object type.
- The Select variable dialog is resizable and can be sorted by columns.
- The Select event dialog in transactions is resizable.
- The Define Variable and Attribute dialog now does an incremental search to select it's data type.
Now, when listing attributes the "pattern" applies to the attribute name and description.
Until now, this report only appeared in the first specification after an update to the database structure or in the Impact Analysis Report, provided there existed a warning in group definition. Now it is possible to call this report at any time from the Build/Subtype Group Analysis menu option, or by right-clicking the Subtype Group folder.
- Subtype group analysis report.
If an attributes cannot be infered in Transaction now it is noticed by an spc0043 warning message.
- Not infered attribute's control in Transactions.
CustomerCod* subtype of PerCod
CustomerName subtype of PerName
CustomerName //CustomerCod is not present in the Invoice structure.
In previous versions you could see, in both examples, that the attribute CustomerName was not infered by reading the Invoice navigation. Now this report shows the spc0043: CustomerName is not instantiated warning message.
The maximum quantity of attributes in a Primary Key definition changed from 20 to 32.
For more information click here.
Each transaction's level can be named. This names will be used by Business Components Patterns (GX 9.0) and GXquery. More Information...
A Transaction can have a DescriptionAttribute This attribute is used in PatternsWorkWith and GXplorer.
If you want to delete many objects at once now it is possible if all selected objects are only called from others included in that list.
Compare the incoming distribution file before actually consolidating it using the new Comparison Tool
The Update Rule allows editing/updating attributes that are not stored in any of the base tables of a transaction.
The function After(Attribute) has been replaced by the dependencies clause
In order to define explicitly the table when inserting a record, use this new clause
It is possible to make reference an array/matrix variable without parenthesis.
For example, in previous versions you must use it as follows, otherwise, this error appeared:
Error: '&array' invalid array expression, expecting parameter expression after array name.
For &Var in &array()
Now, you can avoid the parenthesis:
The rule Noaccept() and Color() allows: SDTs BCs and Arrays.
For &Var in &array
New options in the contextual menu to define variables in a easy way while is writing the code: "Define..." and "Defined based on". The last one appears when the variable name finish with the name of a domain or is the same as attribute name. If the variable is already created, the option "Edit..." appears in the contextual menu as a shortcut to edit the variable.
An insert event option (Ctrl E) is added in Transaction rules, to insert events such as AfterXXX and BeforeXXX.
New Contextual Menu options have been added:
Important improvements in the generation of Dynamic Combo Boxes have been achieved, click here for more information.
- Define... enables you to define a variable while coding.
- Define Based On is shown when a variable ends with a Domain name or matches an attribute.
- Edit. for existing variables.
- SAC# 18824 Multiple sessions of GeneXus can be open from the same PC, using the same network license.
- SAC# 18835 It is possible to get the Development environment license from one PC and the generators license from another.
- SAC# 18031 The license expiration reminder windows now closes automatically after some seconds and does not interrupt the generation process.