GST 3.20 new features

This publication includes information about new features and changes in existing functionality.


This page covers only those new features introduced with the Genero Studio 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 version.

Corresponding upgrade guide: GST 3.20 upgrade guide.

Table 1. General
Overview Reference
Genero Studio Help provides a filtering mechanism for search results. See Genero Studio Help.
Genero Studio provides a Dark Theme. See Setting the interface theme
A new remote development architecture provides sources local to the workstation and synchronized to the server for compiling and run. This architecture provides better performance when working remotely on slow networks. See Define synchronization directories.
At build time, the new code quality tool, "gslint", enforces coding conventions, detects errors, and checks for deprecated and backward compatibility statements or functions. See Code Quality.
Remote configurations now support TUI application development, where the client configuration is set to Use Text Mode. See Configure for a TUI client.
Specify browser options to be used when starting a browser; for example, to start a browser in Incognito mode. See General Preferences and Genero Configuration Management dialog.
The menu option Tools > Specific Setup > Locate setup directory provides quick access to location of GSTSETUPDIR (the Genero Studio setup and customization directory). See GSTSETUPDIR.
Universal Rendering and Traditional Rendering can be activated using environment sets in the Genero Configuration. See Configure for a GUI client.
GBC customizations can be run and packaged using the Universal Rendering environment variables. See Configure for a GUI client.
Table 2. Project Manager
Overview Reference
The Format and Indent menu option formats and indents the selected source files. See Reformat Genero source files.
The Qualify Imports menu option adds module prefixes to all imported symbols in the selected source files. See Qualify Imports.
An External Project can be excluded from the build using the new Exclude from build property. See Exclude external projects from the build.
A directory can be excluded from a package using the new Exclude from package property. This avoids having to remove the entry. See Directory node properties.
The -filters option of the gsmake tool can filter out TODO and BUG comments from the build output. See The gsmake command.
The -env option of the gsmake tool generates the environment script for a specific project node. See The gsmake command.
The -exec option of the gsmake tool executes the application specified by the target. See The gsmake command.
Applications can keep running when you switch to another project. No additional reference.
When you create a new package, you can now choose between different targets. See Creating a package.
A new packaging rule creates ZIP files for quick delivery of set of files. See Packaging for a compressed (zip) file.
The Clean only selected nodes option allows you to clean a node without affecting its children or dependencies. See Clean a project or application.
The command line operands $(copy), $(move), and $(delete) now apply to directories, and are recursive. See Command line options for build, link, execution rules.
Table 3. File Browser
Overview Reference
The Format and Indent menu option formats and indents the selected source files. See Reformat Genero source files.
The Qualify Imports menu option adds module prefixes to all imported symbols in the selected source files. See Qualify Imports.
Table 4. Business Application Modeler
Overview Reference
A new events mechanism (as an alternative to defining custom code inline of the source code by <BLOCK> and <POINT>) isolate the custom source code in a separate file, making it less dependent on the generated code and more readable. See:
The code events mechanism supports BA entities. You can now select properties that generate functions for your code in these entities:
  • Forms
  • Report Data
  • Web services
Code events are implemented by functions that you see when you click on a code event property to add custom code. Functions are registered when the application starts and are invoked at runtime in a callback instruction. See Code events function reference
Database data events may now be used to modify the behavior of your BAM application's CRUD operations. For example, you can implement checks for table constraints in the application layer. See Database code events

New BAM templates include enhanced data modeling for reporting data with the addition of aggregates, and the ability to enter custom SQL.

Data control assistant allows custom SQL for advanced queries. See Edit the query for a business record.
Filtering is available in the structure view of the BA diagram. See The Business Application (BA) diagram.
Features have been added to Business Records that impact BAM. See Table 12.
TEXT & BYTE are supported in BAM generated code. No additional reference.
Table 5. Code Editor
Overview Reference
The Format and Indent menu option formats an open source file. See Reformat Genero source files.
The Qualify Imports menu option adds module prefixes to all imported symbols in the open source file. See Qualify Imports.
The Extra Identifiers (.4id) file now supports additional style and font settings. See Update extra identifier sets with a .4id file.
New column editing mode allows you to edit multiple lines at the same time. See Code Editor basics.
The Diff toolbar is displayed on the bottom of the editor view, if you select Show diff options in editor in the Code Editor preferences. See Code Editor preferences.
Automatic keyword case conversion can now be set to lowercase. See Language Specific preferences tab.
Configure Code Editor to highlight all occurrences of a string in a file. See Behavior & Display preferences, the Display tab.
Themes preferences replaces Color & Font preferences. Customization is now set at the language token level instead of on the language as a whole. See Themes preferences.
Table 6. Form Designer
Overview Reference
Forms with Stack layout can be edited with Form Designer. See Stack - layouting.
.per files that use stack layout can be imported using the Import text form... menu option. No additional reference.
A Form Designer form (4fd) can be exported to a Genero text form (.per). See Import and export .per files.
Select All (CTRL-A) selects only records and excludes forms. No additional reference.
Form Designer now supports Fontawesome images in FGLIMAGEPATH. No additional reference.
Form Preview now takes toolbars, topmenus, and action defaults into account. No additional reference.
You can now filter what objects appear in a form's Stucture View. See Form Structure view.
Data control assistant allows custom SQL for advanced queries. See Joins and Data order.
Table 7. Genero Report Writer
Overview Reference
Multiple inline reports can be designed in one report design document. See Sub reports.
Excel™ output has been improved to provide a better WYSIWYG rendering of the document. No additional reference.
A new "Calendar" class has been added to the RTL expression language. See The Calendar Class.
A new "Util" class, which helps determine if files and URLs can be read, has been added to the RTL expression language. See The Util Class.
Two functions (fromString and toString) have been added to the "Date" class. See The Date Class.
The gsreport command line tool is now included in the gsserver package, and is available on all platforms supported by Genero Studio server. No additional reference.
Support of "Private characters" added to a custom font. See Adding private characters to a font.
Image Boxes include support of XMP metadata attributes for orientation and resolution. See Configuring XMP metadata processing for images.
A new API function returns the total number of pages produced by the report. See fgl_report_getTotalNumberOfPages.
Viewing the report in a browser no longer requires the addition of API calls in the code to set the directories. The directories are now set automatically. The URL to launch the report viewer can be obtained by calling the new API function fgl_report_getBrowserURL(). See View report in a browser.
The rendering hint pxmlSplitDocument allows you to split large PDF, RTF, or Excel report into smaller files. See Split a report into smaller files.
You can create XML output files, such as Normalized XML or High-level PXML. See Create non-process-level XML files.
GRE distributed mode can be activated using the GRESERVER environment variable. See GRESERVER.
GRV for HTML5 is pre-set for use with Genero Application Server (GAS) No additional reference.
The functions fgl_report_setXLSHandleBorders and fgl_report_setXLSXHandleBorders allow you to enable and disable borders in Excel reports. See:
Late Addition

Features listed below were present in the initial release of the product, but were accidentally omitted from the New Features summary table.

A new API function returns the URL that launches the browser-based report viewer. See fgl_report_getBrowserURL.
Table 8. Genero Report Designer
Overview Reference
The Toolbox elements "Paragraph" and "Text" have been added. See Paragraph and Paragraph Text.
The Toolbox includes a new Break element to facilitate page breaks. See Break.
The Toolbox includes a new Rich Text element to display PXML, HTML, and XHTML files. See Rich Text Box.
The Toolbox includes a new Date Format element to display dates. See Date Format Box.
Repetitive display of a value can be suppressed, so that only the first occurrence on a page or in the report is displayed. See Hide repeated values.
When using drag-and-drop into a report, you can now only drop into a container. See Drag-and-drop objects.
Containers are now shown in the Design view. No additional reference.
Sizing handles for report objects have simplified. No longer are there two modes; an object now directly provide handles to resize either by keeping the aspect ratio or not. No additional reference.
A new table control selects the table and shows its properties. It allows the insertion of headers and footers directly from the design view. See Add headers or footers to a table.
Only one header and one footer displays in the Design view at any one time for a report header and footer, or for a table header and footer in a report. Use a combobox to choose which header and/or footer to display. See Add headers and footers to a report and Add headers or footers to a table.
The Data View includes a new column, Description. If a description is added for a data item, it displays as a tooltip for the field name in both the Data View and the Edit RTL Expression dialog. See Adding report data (the Data view).
Users can create custom generic reports. See Create a custom generic report for simple list or form list.
The Optical Mark Recognition (OMR) bar code type is supported. See OMR.
Image caching can be disabled using the pxmlCacheImages rendering hint. See Optimize the rendering process.
Table 9. Graphical Debugger
Overview Reference
Users can specify the number of rows to display for an array in the Data view with the Fetch Size combobox. See Data view.
Interrupt is available when attaching the debugger to a mobile app. No additional reference.
Table 10. Testing utilities (using GGC)
Overview Reference
Create Test has been updated to use Genero Ghost Client 2.00 See GUI Testing.
While creating a test, the location of the intermediate GUILOG file is displayed in the Output view. See Create and run a unit test.
In the Genero config, the "FGL Utilities" environment set includes the GGCTPLDIR environment variable, which can be set to override the default template set. See The testing framework.
Table 11. Meta-Schema Manager
Overview Reference
The SAP HANA® 2 database is supported for schema extraction and can be used in the Database explorer. See Provide database connection and user information.
Table 12. Business Records
Overview Reference
New ergonomics allow you to quickly add or nagivate between fields in a record. See Add a record in a Business Record diagram and Add a record field in a Business Record diagram.
Filtering is available in the Structure View and the Form Structure view for a business record. See Business records (data sets).
Records can be merged. See Merge records in the Business Record diagram.
Change the layout of a records diagram using the Layout Diagram option in the context menu. See Business records (data sets).
Provide a user-friendly alias for fields in a Business Record. See Provide user-friendly field names for reports
Specify the order that records are fetched. See Order records in the Business Records diagram.
Specify how many occurrences of a child record are printed. See Set occurrences for a record.
Data control assistant allows custom SQL for advanced queries. See Edit the query for a business record.
Table 13. Web Services
Overview Reference
Genero Studio supports REST web services. See REST Web services.
Generate a REST client stub from the OpenAPI description file provided by a REST Web service. See Creating a REST client application in Genero Studio.
Table 14. Mobile apps
Overview Reference
gmabuildtool produces Android™ App Bundle .aab packages. See Android App Bundle (.aab) packages.