4gl files are generated for each diagram entity.
When a generated program is built, the generated 4gl files are compiled and
linked with the other program files to create the executable application. The compiled binary
versions are stored in the project's /bin directory.
The generated
4gl and
XML files for each diagram entity
are shown in the
Intermediate Files folders in the project. This figure shows
two generated files for the
Program entity,
Account.4prg.
Note: The
XML file listed in the
Intermediate Files folder are temporary files that consolidate all data from
diagrams and are used to generate the
4gl code. They are not places to
customize code, but can be useful to a template developer as these
XML files
are used as input to the code that is generated. See
How code is generated.
Figure 1. Intermediate Files
The default template set is designed to generate organized and
functional code for a data-driven business application. See The default template features.
Each generated 4gl file has many functions. Each function has specific
places called POINTs and BLOCKs where you can
add your own code. Code Files and Code Link
Properties can be used to directly access generated files and specific
POINTs.
Figure 2. Generated files for the default template
Table 1. Generated files for the program (4prg)
File |
Description |
Program.4gl |
This file contains the MAIN function. It defines
global variables, connects to the data source with the CONNECT TO statement, loads
styles and action defaults files, and performs some initialization tasks for the application. |
Table 2. Generated files for the database (4dbx)
File |
Description |
Schema_dbxdata.4gl |
This file manages the database SELECT,
INSERT, UPDATE, and DELETE
statements. |
Schema_dbxconstraints.4gl |
This file manages table and column constraints. |
Table 3. Generated files for form entities (4fdm, 4fdz)
File |
Description |
Form_ui.4gl |
This file contains functions called from MAIN. It
opens the form based on the open mode, loads the Toolbar and Topmenu, launches functions to manage
application states, calls MENU or DIALOG statements for the
various states and calls functions in the Form_uidialog.4gl
to retrieve and manage subdialogs. |
Form_uidialog.4gl |
This file defines the subdialogs and modular variables. It manages the
states of actions, fields and subdialog and calls functions in the
Form_uidialogdata.4gl. |
Form_uidialogdata.4gl |
This file defines the modular variables, manages UI data (clear,
fetch, set default values), and calls functions in the
Form_uidata.4gl. |
Form_uidata.4gl |
This file includes functions to retrieve and manage the database data.
It defines the records for the database columns and tables, creates and fills a dynamic row of data,
creates and fills a dynamic row of record keys,contains the SQL statements to
SELECT, UPDATE, and DELETE rows in the database,
and handles the SQL transactions. |
Important: Reports and Web Services are not supported on mobile platforms.
Table 4. Generated files for the reports
File |
Description |
Report_report.4gl |
This file contains the report driver for the report. |
Report_reportdata.4gl |
This file contains the SQL and BDL statements to fetch the report data. |
reportdata_report.rdd |
This file is a data file is generated for use when the developer creates the report
definition file (4rp). |
Table 5. Generated files for the web services
File |
Description |
WebService_service.4gl |
This file handles business record type definition (only take public fields), defines the
module variables (input and output variable for service's CRUD operations), and sets up the service
and publishes the CRUD operations. |
WebService_uidata.4gl |
This file handles business record type definition, contains operations to insert / update /
delete rows in the database, contains ascending lookup management. |
WebServiceServer_server.4gl |
This file contains the MAIN function, sets up the web service engine,
contains the CONNECT TO BDL statement, registers services, and listens for incoming
requests. |
WebService.xml |
The XML file contains the information about the web service needed to
generate the logic in the 4gl files. |
WebServiceServer.xml |
Contains the information about the Webservice Server needed to generate the logic in the
4gl files. |
Table 6. Library files used by a generated app
File |
Description |
libdbappCore.4gl |
This file includes common functions for managing errors and strings. |
libdbappExt.4gl |
This file includes common functions for managing the interaction with mobile device
peripherals. See Add mobile device features (Photo, Gallery, Phone, Mail, SMS, Contact, Maps, Barcode) |
libdbappFormUI.4gl |
This file includes common functions related to form transitions and states. |
libdbappSQL.4gl |
This file includes common functions related to SQL transactions, errors, and database
statements. |
libdbappUI.4gl |
This file includes common functions related to the user interface such as Topmenus, Toolbars,
and front end type. |