Main Features |
Virtual Machine |
The main features of the PROIV interface to SQL database systems are as follows.
The interface is designed to be 'generic' so that:
- PROIV Functions built for one SQL environment will run effectively unchanged in another supported SQL environment. However, a regen is required.
- PROIV Functions built for SQL environments will run effectively unchanged in non-SQL environments, provided no SQL-specific facilities are used (in particular explicit SQL statements must not be used).
- The interface encompasses the Data Manipulation Language (DML) component of an SQL database by means of both implicit and explicit SQL commands under your control.
- Tables are defined as normal PROIV external files, and are referenced in the normal way. There are no special limitations as to function components (paging screens, SEL-xxx statements etc.).
- Applications can, but need not, include explicit SQL statements in PROIV logic for both Data Definition Language (DDL) and DML operations. The text of these statements may be coded directly in PROIV logic, or may be built and executed wholly at run-time.
- The interface can support access to multiple databases by through usage of logical databases. (See Logical Database Name Mapping for details and examples.)
The extent to which this functionality is supported, varies between Relational Database Management Systems (RDBMSs).
PROIV relies completely on the facilities of the host SQL DBMS for all syntax checking and statement processing. Thus any improvements to that environment are immediately available to the PROIV programmer, without upgrading PROIV.
Certain parameters of the SQL interface can be adjusted by the use of a set of environment variables. These are set before PROIV is started using suitable operating system commands.
Some RDBMSs supports Referential Integrity where you can maintain database integrity across multiple tables. PROIV's SQL interface does not specifically make use of this feature, but it can apply if the RDBMS is set up appropriately. Referential Integrity is supported by the use of foreign key constraints.
Topic ID: 720139