Previous Topic: OverviewNext Topic: IMBSPL1 Interface Macro


Transparency Support For DBOMP PL/I Commands

The transparency's support of DBOMP PL/I commands parallels that of DBOMP Assembler macros. The following table shows DBOMP PL/I commands and their interpretation by the CA IDMS DBOMP Transparency.

Note: See IBM DBOMP documentation for the syntax for these commands.

DBOMP PL/I command

CA IDMS DBOMP Transparency interpretation of command

OP$EN

The first call to OP$EN causes IMBSBRDG to open the entire CA IDMS/DB database and prepare it for processing: BINDs are issued for the run unit and all record types described in the subschema, and database areas are READYed. The transparency returns the file control record for the file for which RACN has been specified in IMBSTAB. Subsequent calls to OP$EN are ignored once the database has been opened.

CLO$E

The first call to CLO$E causes IMBSBRDG to close all areas in the CA IDMS/DB database by issuing a FINISH command. Subsequent calls to CLO$E are ignored once the database has been closed. If any command other than CLO$E is issued after the first CLO$E, the transparency automatically reopens the CA IDMS/DB database and processes the command; a subsequent CLOSE causes the transparency to close the database again.

CA$LL

The work area prefix for the named file is passed to IMBSBRDG, which interprets the process indicator contained in the work area prefix and performs the requested function. See Chapter 3, "The Transparency Environment" for those process indicators supported by the transparency.

GE$T

IMBSBRDG retrieves the first record in the named file and returns it to the work area. Subsequent calls to GE$T using the same file cause IMBSBRDG to retrieve records in logical sequential order from that point if the record type is not indexed. When an end-of-file condition is detected, control is passed to the routine specified for the file in the EO$F command (discussed below).

EO$F

IMBSBRDG handles EO$F in the same manner as does DBOMP, but obtains the necessary file information from the module generated by the IMBSPL1 interface macro (see below) rather than from the module generated by the DBOMP PL$BM macro. A call to EO$F must specify the end-of-file routines in the same sequence as the corresponding files are entered in the IMBSPL1 macro.

ST$KY

IMBSBRDG retrieves a record by the key specified in the work area prefix for the named file and returns the record to the work area. The currency for the file is set at the retrieved record. Subsequent GE$T commands for the file retrieve records in logical sequential order from that point if the record type is not indexed. Note that the transparency support of logical sequential processing assumes the use of an index.

ST$DA

IMBSBRDG retrieves a record by the disk address specified in the work area prefix for the named file and returns the record to the work area. The currency for the file is set at the retrieved record. Subsequent GE$T commands for the file retrieve records in logical sequential order from that point if the record type is indexed, or in physical sequential order from that point if the record type is not indexed. Note that the transparency's support of logical sequential processing assumes the use of indexing.

PU$T

IMBSBRDG writes back to the CA IDMS/DB database the last record retrieved by a GE$T command. Chain address fields (pointers) are not updated or written back to the database.

CHASE

The transparency supports this command unconditionally. Programs that request only the CHASE function need not be modified before interfacing with the bridge, and should be linked with the PL$CH macro as indicated in IBM DBOMP documentation.

BM$OFAD

The transparency does not support this command. If a call to BM$OFAD is encountered by the bridge, no action takes place and control returns to the calling program.

BM$FO

The transparency does not support this command. If a BM$FO command is encountered, an unresolved external reference results in the link edit map.

BM$RACN

The transparency does not support this command. If a BM$RACN command is encountered, no action takes place and control returns to the calling program. The transparency's maintenance of RACN in PL/I programs is the same as for Assembler programs.