Previous Topic: Resetting the Error-Status IndicatorNext Topic: DBSTUB1 Invocation Method


Methods for Invoking Procedures

A database procedure is called as an extension of the database engine. A procedure can be called directly by IDMSDBMS. This is referred to as the Direct invocation method. Alternatively, a procedure can be invoked indirectly by using one of two techniques referred to as DBSTUB1 and DBSTUB2. These are described later in this section.

The methods that can be used to invoke a given procedure depend on several factors:

The following table identifies the methods that can be used for invoking procedures with differing characteristics. Where multiple invocation methods are listed as valid, the recommended method is highlighted.

Language

Comments

IDMS DML Issued by Procedure

Valid Invocation Methods

Assembler

Reentrant, DC calling conventions

Does not matter

Direct, DBSTUB1, DBSTUB2

Assembler

Non-reentrant, DC calling conventions

No

DBSTUB1

Assembler

Reentrant, IBM calling conventions

No

DBSTUB1, DBSTUB2

Assembler

Non-reentrant, IBM calling conventions

No

DBSTUB1, DBSTUB2

Assembler

Reentrant, IBM calling conventions

Yes

DBSTUB2

VS Cobol

Non-LE-compliant

No

DBSTUB1, DBSTUB2

VS Cobol

Non-LE-compliant, reentrant

Yes

DBSTUB2

VS Cobol/2

Non-LE-compliant, reentrant

Does not matter

DBSTUB2

LE-compliant Cobol

LE-compliant, reentrant

Does not matter

Direct, DBSTUB2

PL/I

Non-LE-compliant, reentrant

Does not matter

DBSTUB2

PL/I

LE-compliant, reentrant

Does not matter

Direct, DBSTUB2