Genero BDL is used to write the code for a 4gl file that retrieves the data, often from a database, and outputs it to a report.

This BDL program contains:

  • The Report Driver, which specifies the data the report will include. If you are retrieving data from database tables, for example, a database cursor is defined to retrieve specific rows. The Report Driver stores the database values in program variables, and sends these - one record at a time - to the REPORT program block.
  • The REPORT program block, which specifies the control blocks for a report, and sends the data to the Genero Report Engine. Variables can be defined to allow calculations on the data values, which are output along with the data values.

The Genero Report Engine uses the data and the Report Design document (4rp - created using Genero Report Designer) to process and output the report, in accordance with the reporting API functions that have been called by the BDL program.

See Steps to a report for a complete outline of the reporting process.

Some Tips for Legacy Report Designers provides information about the correlation between Report Designer and traditional Genero legacy commands in reports.

The OrderReport.4gl example program included in the GRW demo Reports:

  • Retrieves the data and outputs it to the Report Engine.
  • Allows the user to select the desired report and the output settings, by displaying a form (Configuration.42f) for input.
  • Uses the Reporting API function fgl_report_loadCurrentSettings() to load the original settings from the 4rp file. (Additional optional functions can specify the changes to be made to those settings, based on the user input. )
  • Uses the Reporting API function fgl_report_commitCurrentSettings() to commit the changes this program has made.
  • The Form Design file for this form, (Configuration.4fd) is one of the files in the GRW demo project,Reports.

See the Reporting API for the specific functions that you can use to control the output of a report; some examples are in Change Report Output Options.