Upgrading / New features of Genero BDL |
This topic lists features added for the 2.40 release of the Genero Business Development Language.
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 Using 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 Using the built-in find. |
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 Understanding the built-in seek. |
It is now possible to 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 type. |
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(). |
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 and 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. |
You can now use the terminfo database for text terminal mode (FGLGUI=0) by setting INFORMIXTERM=terminfo. | |
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. |
Support for the ROWVERSION data type of SQL Server (2008 and +) has been added. | See SQL Server ROWVERSION data type. |
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 setFeature() method of your web service to enable SOAP 1.2 support. 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 SoapModuleURI option to the WebServiceEngine setOption() method in order to identify the headers the SOAP engine has to understand. |
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 com.WebService.createStatefulWebService() with a simple 4GL variable or a dedicated W3CEndpointReference record to handle the service state. 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 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 4GL variables that will be thrown as SOAP faults to a web service client using the SOAP 1.1 or SOAP 1.2 protocol. The fglwsdl tool has also been enhanced to generate client and server stubs according to the SOAP fault described in the WSDL.
|
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 migration note). |
See Change 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 security configuration in FGLPROFILE for
HTTPS communication. You can now define the SSL certificate and private key to be used for all secured connections with the following entries and still use a dedicated SSL configuration if needed for a particular server.
|
See FGLPROFILE: Web Services configuration. |
A universal unique identifier function, CreateUUIDString(), has been added to the COM library. This funciton generates a universal unique identifier in 4GL. | See com.Util.CreateUUIDString. |
The Genero Web services library has been enhanced
with two new serializers:
|
See xml.Serializer.DomToStax and xml.Serializer.StaxToDom. |