BDL 2.40 new features
Features added in 2.40 releases of the Genero Business Development Language.
This version of Genero BDL is desupported, use a more recent version of the product.
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 2.40 upgrade guide.
Prior new features guide: BDL 2.32 new features.
Overview | Reference |
---|---|
The NVL() operator allows you to write the equivalent of an
IF expr IS NOT NULL THEN RETURN expr ELSE RETURN
default END IF statement in a single scalar expression. |
See NVL(). |
The IIF() allows you to write the equivalent of an IF
bool-expr THEN RETURN true-value ELSE RETURN
false-value END IF statement in a single scalar expression. |
See IIF(). |
A new global program option has been added, OPTIONS SHORT
CIRCUIT , to instruct the runtime system to evaluate Boolean expressions by using the
short-circuit evaluation (also called minimal evaluation) method. |
See OPTIONS (Compilation) and Controlling semantics of AND / OR operators. |
Overview | Reference |
---|---|
New ON INSERT, ON APPEND, ON UPDATE and ON DELETE interaction blocks are now allowed in DISPLAY ARRAY dialogs to implement list modification, as an alternative to the traditional INPUT ARRAY dialog. These new triggers simplify the programming of modifiable record lists. | See DISPLAY ARRAY modification triggers. |
The new find and findnext actions of DISPLAY ARRAY and INPUT ARRAY can be used by the user to search rows where a field value matches the value entered in the find dialog box. | See Finding rows matching a pattern. |
The DISPLAY ARRAY dialog now supports a built-in seek feature to quickly find rows where a field value starts with the character typed by the user. | See Keyboard seek to matching row. |
Define a summary line for TABLEs by using AGGREGATE form fields. Values can be automatically computed or can be calculated and displayed by program | See AGGREGATE item definition. |
Using the terminfo database for text terminal mode (FGLGUI=0) by setting INFORMIXTERM=terminfo. |
Overview | Reference |
---|---|
New database drivers are provided. | List of new database drivers:
|
The fglcomp compiler now supports SQL ... END SQL blocks for compliance with IBM® Informix® 4GL. | See SQL ... END SQL. |
The Static SQL syntax has been extended to allow the FIRST, LIMIT, SKIP and MIDDLE SELECT projection clause options. | See Static SQL statements. |
The CASE operator is now allowed in Static SQL statements. | See Static SQL statements. |
The syntax of DDL (Data Definition Language) statements in Static SQL now allows the IF NOT EXISTS and IF EXISTS clauses. | See Static SQL statements. |
The transaction instruction set has been completed with SAVEPOINT and ROLLBACK WORK TO SAVEPOINT. | See SAVEPOINT, ROLLBACK WORK. |
Control shadow column extraction with fgldbsch. | See fgldbsch. |
A new FGLPROFILE entry parameter has been added to control the ORACLE DATE fetch into CHAR/VARCHAR variables. | See DATE and DATETIME data types. |
Support for the ROWVERSION data type of SQL Server (2008 and +) has been added. | See SQL Server ROWVERSION data type. |
Upgrade notes for database drivers. | See Database drivers changes. |
Overview | Reference |
---|---|
The Genero Web Service engine has been enhanced to support a part of SOAP
1.2 protocol, restricted to the SOAP POST feature only. It does not support the SOAP 1.2 encoding
feature, as it is prohibited by the WS-I Basic Profile 2.0. To allow the SOAP 1.2 protocol in
your Genero Web service application, call the The same Web service can provide both the SOAP 1.1 and SOAP 1.2 protocol. You can also specify the SOAP role of your Genero application if you pass the new
|
See com.WebService.setFeature, com.WebServiceEngine.SetOption, and WebServiceEngine options. |
The Genero Web Service engine has been enhanced
to support the WS-Addressing 1.0 specification. To enable WS-Addressing
1.0 specification in your Genero Web service application, call the setFeature()
method of your web service with "TRUE " or "REQUIRED " as a
parameter. |
See com.WebService.setFeature. |
The Genero Web Service engine has been enhanced
to support stateful services. There are two kinds of stateful services:
To create a stateful web service, call You can also take a look at WS-Addressing and at the following links for additional information: JAX-WS, Oracle and Stateful based on cookies. |
See com.WebService.CreateStatefulWebService and Stateful SOAP Web services. |
The Genero Web Service engine has been enhanced
to support SOAP faults in RPC and Document style services. On the server side, you can define BDL variables that will be thrown as SOAP faults to a web service client using the SOAP 1.1 or SOAP 1.2 protocol. The
|
See The com package (com.WebService.createFault, com.WebOperation.addFault, com.WebServiceEngine.SetFaultDetail) and fglwsdl. |
The Genero fglwsdl tool generates a new Endpoint record per service in the client stub to configure the client behavior at runtime without the need to modify the generated code. This feature requires regeneration of the client stub and modification of the server location assignment if used in your application (See also Web Services changes). |
See Change WS client behavior at runtime. |
The Genero fglwsdl tool has been enhanced to
support WS-Addressing 1.0, the SOAP 1.2 protocol and to handle operation
faults in SOAP 1.1 and SOAP 1.2. The generated client and server stub will handle WS-Addressing 1.0, SOAP 1.2 protocol and manage soap faults as defined in the WSDL. The following options have been added: Options related to SOAP:
Options related to WS-Addressing:
Other options:
|
See fglwsdl. |
The XML-Signature and XML Encryption API of
the XML library have been enhanced with new built-in methods to ease
compatibility with the WS-Security specification:
|
See XML security classes. |
The XML library has been enhanced to support
XML parsing from PIPE and saving to PIPE:
|
See The xml package (xml.DomDocument.loadFromPipe, xml.DomDocument.saveToPipe, xml.StaxReader.readFromPipe, xml.StaxWriter.writeToPipe). |
The Genero Web Services service library has
been enhanced to support global SSL/TLS security configuration in FGLPROFILE for
HTTPS communication. You can now define the SSL/TLS certificate and private key to be used for all secured connections with the following entries and still use a dedicated SSL/TLS configuration if needed for a particular server.
|
See Web Services FGLPROFILE configuration. |
A universal unique identifier function, CreateUUIDString() ,
has been added to the COM library. This funciton generates a universal
unique identifier in BDL. |
This method is desupported since 3.00, use security.RandomGenerator.CreateUUIDString as replacement. |
The Genero Web services library has been enhanced
with two new serializers:
|
See xml.Serializer.DomToStax and xml.Serializer.StaxToDom. |
Upgrade notes for web services. | See Web Services changes. |