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 |
|
Copyright © 2014 CA.
All rights reserved.
|
|