If the program that uses Callable RDO (RDB$INTERPRET) is linked
implicitly with SYS$SHARE:RDBINTSHR (that is, allows the OpenVMS Linker
utility (LINKER) to resolve the reference using
SYS$LIBRARY:IMAGELIB.OLB) then the message vector and transaction handle
values are not returned to the caller.
However, if the program is linked explicitly with SYS$SHARE:RDBINTSHR
as the following example shows, then message vector and transaction
handle values are returned. In this case, there must be two PSECTs
declared and named RDB$TRANSACTION_HANDLE (8 bytes long) and
RDB$MESSAGE_VECTOR (20 longwords, that is, 80 bytes long) in the
caller's program.
$ LINK PROGRAM,SYS$INPUT/OPT
SYS$SHARE:RDBINTSHR.EXE/SHARE
PSECT_ATTR=RDB$MESSAGE_VECTOR,SHR
PSECT_ATTR=RDB$TRANSACTION_HANDLE,SHR
However the explicit linking against the shareable image
SYS$SHARE:RDBINTSHR is not upward compatible and the application will
need to be relinked for each new version of Oracle Rdb released.
There is no workaround for this problem.