Previous Topic: Writing a Navigational DML ProgramNext Topic: Common Considerations


Navigational Data Manipulation Language (DML)

Application programs initiate CA IDMS functions by transferring control to the Database Management System (DBMS) to execute the function. The transfer of control is accomplished using the CALL mechanism available in most high-level languages. CA IDMS provides a data manipulation language (DML) statement for each CA IDMS function so that users do not have to code detailed host language calling sequences.

DML allows users to code statements patterned after the COBOL, PL/I, or Assembler programming language of the program in which the DML is embedded. Prior to compilation, the program is preprocessed through a language-specific precompiler to convert the DML statements into appropriate calling sequences. DML is also supported in the Advantage CA-ADS application development environment for which no preprocessing is necessary.

For example, to store a SCHEDULE record the COBOL programmer codes the following statement:

STORE SCHEDULE
The COBOL precompiler, IDMSDMLC, converts this statement into the following calling sequence:
CALL 'IDMS' USING SUBSCHEMA-CTRL
                  IDBMSCOM (42)
                  SR1007

In addition to converting DML statements into calling sequences, the DML precompiler also checks the syntax and logic of the statements, issues diagnostics, and copies source code and data descriptions from the CA IDMS Integrated Data Dictionary (IDD).

The following figure illustrates the compilation of an application using a precompiler to convert DML statements into calling sequences. The IDD supplies descriptions of the records and sets being accessed by the program and common routines associated with CA IDMS processing. The precompiler can also copy file definitions, map descriptors for interfacing with 3270 screens, non-IDMS record definitions, and source routines that have been stored in the IDD.