BDL 4.01 new features

Features added in 4.01 releases of the Genero Business Development Language.


This page covers only those new features introduced with the Genero BDL version specified in the page title. Check prior new features pages if you migrate from an earlier version. Make sure to also read the upgrade guide corresponding to this Genero version.

Corresponding upgrade guide: BDL 4.01 upgrade guide.

Previous new features page: BDL 4.00 new features.

Table 1. Core language
Overview Reference
The ARRAY[n], DYNAMIC ARRAY and DICTIONARY definitions accept now another array or dictionary, as type for the OF clause. See ARRAY syntax and DICTIONARY syntax.
Related upgrade notes
Table 2. User interface
Overview Reference
The KEYBOARDHINT form item attribute gets new options DECIMAL, NUMERIC, TEXT, SEARCH and NONE, for better control of the virutal keyboard on mobile devices. See KEYBOARDHINT attribute.
New rendering for ROWBOUND actions with three-dots button in TABLE, TREE and SCROLLGRID. See Actions bound to the current row, Binding action views to a table row, Binding action views to a treeview row, Binding action views to a scrollgrid row.
The standard.playSound front call gets a new "wait" option, to define if the front call must immediately return while the sound continues playing. See standard.playSound.
Related upgrade notes
Upgrade notes for presentation style. See Presentation styles changes.
Table 3. SQL databases:
Overview Reference
Support for Microsoft® ODBC driver 18 for SQL Server with dbmsnc_18 ODI driver. See Database driver specification (driver).
Related upgrade notes
Upgrade notes for database drivers. See Database drivers changes.
Table 4. Tools
Overview Reference
fglcomp -W unused option warns for PREPARE and DECLARE CURSOR statements with no corresponding usage, and for unused imported modules. See fglcomp -W option.
fglform -k / --keep-going option continues compilation of forms after error. See fglform -k option.
fglcomp -k / --keep-going option continues compilation of sources after error. See fglcomp -k option.
fglcomp -W form-field-name option to produce warnings for invalid field names in INPUT BY NAME and CONSTRUCT BY NAME dialogs. See fglcomp -W option.
Starting at 4.01.02

fglgar run --pid-file option writes fglgar process-ids to file.

See options table for fglgar run.
Related upgrade notes
Table 5. Web Services
Overview Reference
There is support for the HTTP specification allowing a message body with the HTTP verb DELETE. A message body is supported on client and server Web services using the REST low-level framework. See com.HttpRequest methods and com.HttpServiceRequest methods
For REST Web services using the high-level REST framework, the WSParam and WSQuery attributes support complex types, such as records and arrays in operation parameters. This enhancement is based on the OpenAPI specification for serialization. It supports default methods for delimiting values and handling items of arrays or records in paths and queries. See WSParam and WSQuery
The fglrestful tool has options to allow HTTP and proxy authentication when requesting OpenAPI documentation. See fglrestful
The fglwsdl -xmlname option is added to generate variables named with XMLName attributes in stubs. See fglwsdl
The REST engine WSContext variable has a RequestURL entry that you can use to get the URL (base URL, resource path, and query) from the client app. See WSContext
The REST engine WSAttachment attribute has been enhanced with an optional regular expression (regex) type value to validate the names of incoming files. See WSAttachment
Related upgrade notes
Upgrade notes for web services. See Web Services changes
Table 6. Mobile apps (GMA 4.01 and GMI 4.01)
Overview Reference
Starting at GMA-4.01.02
New gmabuildtool option to enable data collection for analytics, when using Firebase Cloud Messaging. See Controlling Firebase data collection for analytics
The standard.playSound front call supports http/https URLs. See GMA 4.01 changes topic
Related upgrade notes
Upgrade notes for GMA. See Genero Mobile for Android (GMA) 4.01 changes