You can develop the following types of foreign functions:
You can also develop foreign functions that combine both the ORACLE Precompiler interface and the OCI.
An Oracle Precompiler foreign function incorporates the Oracle Precompiler interface. This interface allows you to write a subprogram in one of the following supported host languages with embedded SQL commands:
Note: Not all operating systems support all of the Listed languages.
With embedded SQL commands, an Oracle Precompiler foreign function can access Oracle databases as well as Oracle Forms variables and items. You can access Oracle Forms variables and items by using a set of Oracle Precompiler statements that provide this capability.
Because of the capability to access both Oracle databases and Oracle Forms variables and items, most of your foreign functions will be Oracle Precompiler foreign functions.
An OCI foreign function incorporates the Oracle Call Interface. This interface allows you to write a subprogram that contains calls to Oracle databases. A foreign function that incorporates only the OCI (and not the Oracle Precompiler interface) cannot access Oracle Forms variables and items.
A non-Oracle foreign function does not incorporate either the Oracle Precompiler interface or the OCI. For example, a non-Oracle foreign function might be written entirely in the C language. A non-Oracle foreign function cannot access Oracle databases, or Oracle Forms variables and items.