CA IDMS DLI Transparency Concepts and Facilities
CA IDMS DLI Transparency is an Interface to CA IDMS/DB
CA IDMS DLI Transparency serves as an interface between DL/I application programs and CA IDMS/DB databases. The DL/I applications can be written in COBOL, Assembler, or PL/I.
What CA IDMS DLI Transparency Does at Run Time
At program run time, CA IDMS DLI Transparency intercepts DL/I retrieval and update requests and translates them into CA IDMS/DB requests. The CA IDMS/DB requests are then processed by the CA IDMS/DB database management system (DBMS) for retrieval or database update.
For data retrieval, CA IDMS/DB returns requested data and/or status information, including updated program control block (PCB) information, to CA IDMS DLI Transparency. CA IDMS DLI Transparency places the data in a DL/I segment format expected by the application. For updates, CA IDMS DLI Transparency places the updates in CA IDMS/DB record format and transmits them to CA IDMS/DB to apply to the database. CA IDMS/DB, in turn, sends the resulting status information to CA IDMS DLI Transparency for communication to the application.
CA IDMS DLI Transparency Components
CA IDMS DLI Transparency consists of the following major components:
- The CA IDMS DLI Transparency syntax generator
- The interface program specification block (IPSB) compiler
- The CA IDMS DLI Transparency run-time interface
- The CA IDMS DLI Transparency load utility
Each component is described briefly below and in detail in section B, 'CA IDMS DLI Transparency Software Components.'
The CA IDMS DLI Transparency Syntax Generator
What is the CA IDMS DLI Transparency Syntax Generator
The CA IDMS DLI Transparency syntax generator helps to automate the conversion process on the database definition level. It accepts as input control blocks (load modules) for the program specification blocks (PSBs) and database definitions (DBDs). These are used by the DL/I application against the existing DL/I database(s).
The Syntax Generator Produces Source Statements
For output, the syntax generator produces the source statements necessary to create the interface program specification block (IPSB). It also produces source definitions needed to create an appropriate schema, DMCL, and subschema. Collectively, the schema, DMCL, and subschema definitions represent the database definitions for the new CA IDMS/DB database.
After producing the sets of source statements, you can check them and modify them (particularly the DMCL), to address capacity planning and performance and tuning concerns.You can then input the source statements to the CA IDMS/DB compilers and the IPSB compiler, respectively.
Figure 1. CA IDMS DLI Transparency syntax generator
The IPSB Compiler
What is the IPSB Compiler
The interface program specification block (IPSB) compiler establishes the correspondences between the CA IDMS/DB database and the DL/I databases, as expected by the DL/I application.
The IPSB Compiler Accepts Source Statements
The compiler accepts as input the source statements produced by the CA IDMS DLI Transparency syntax generator, after you have verified and modified these statements as necessary. The compiler also uses the associated subschema load module.
The IPSB Compiler Produces IPSB Load Module
For output, the compiler produces IPSB load modules used by the CA IDMS DLI Transparency run-time interface. The IPSB load modules provide the information required to convert the application's DL/I database requests to CA IDMS/DB database requests. They also provide the control information required to update the application's DL/I program communication blocks (PCBs). The updated PCBs are used at run time to pass status information to the application program.
Figure 2. Role of the IPSB compiler in CA IDMS DLI Transparency
What the Run-Time Interface Does
The CA IDMS DLI Transparency run-time interface accepts database calls from a DL/I application program, issues corresponding CA IDMS/DB calls, and returns data and/or status information to the DL/I application program. Note that a single DL/I call can result in several CA IDMS/DB requests. More specifically, CA IDMS DLI Transparency processing is divided between the interface's front-end and back-end processors.
The front-end processor intercepts DL/I requests from the application program, reformats the requests, and passes them to the back-end processor. When the back-end processor finishes with a request, it passes the results (data retrieved from the database and/or status information) back to the front-end processor. It also passes back PCB status information. The front-end processor then returns the status information to the DL/I application program.
Upon receiving a DL/I request from the front-end processor, the back-end processor accesses the IPSB load module to formulate the corresponding CA IDMS/DB requests. The back-end processor then passes the request to CA IDMS/DB. When CA IDMS/DB performs the requested operation(s), the back-end processor accepts the results from CA IDMS/DB and passes them, along with the PCB status information, to the front-end processor.
Figure 3. CA IDMS DLI Transparency runtime environment
The CA IDMS DLI Transparency Load Utility
What the Load Utility Does
The CA IDMS DLI Transparency load utility populates a CA IDMS/DB database with data unloaded from the existing DL/I database(s) used by the DL/I application.
Before You Run the Load Utility
Before you can run the load utility, you must have:
- An already created and initialized CA IDMS/DB database in which to receive the DL/I data. To do this, you must have created subschema and DMCL load modules for the database. These load modules are created by the appropriate CA IDMS/DB compilers when you input the schema, subschema, and DMCL source definitions produced by the CA IDMS DLI Transparency syntax generator.
- An IPSB load module for the CA IDMS/DB database. This load module is created by the IPSB compiler using the source statements produced by the CA IDMS DLI Transparency syntax generator.
- The unloaded DL/I database data, as formatted by the DL/I HD unload utility.
For output, the load utility stores the DL/I data in the CA IDMS/DB database in accordance with the supplied schema, subschema, DMCL, and IPSB load modules.
Figure 4. CA IDMS DLI Transparency load utility