Message Schemas for Stored Procedures, Functions, and PL/SQL APIs
The Microsoft BizTalk Adapter for Oracle E-Business Suitesurfaces the underlying Oracle database stored procedures, functions, and PL/SQL APIs (stored procedures and functions within a package) as operations. This section describes the message structure and actions used to invoke stored procedures, functions, and PL/SQL APIs.
Message Structure of Stored Procedures, Functions, and PL/SQL APIs
The operations surfaced for functions and stored procedures follow a request-response message exchange pattern. The following table shows the structure of these request and response messages.
Note
See entity descriptions after the table.
Operation | XML Message | Description |
---|---|---|
Stored Procedure Request | <[SP_NAME] xmlns="[VERSION]/Procedures/[SCHEMA]"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]> |
Supports Oracle IN and IN OUT parameters in the message body |
Stored Procedure Response | <[SP_NAME]Response xmlns="[VERSION]/Procedures/[SCHEMA]"> <[PRM1_NAME]>value1<[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]Response> |
Supports Oracle OUT and IN OUT parameters in the message body |
Function Request | <[FN_NAME] xmlns="[VERSION]/Functions/[SCHEMA] "> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[FN_NAME]> |
Supports Oracle IN and IN OUT parameters in the message body |
Function Response | <[FN_NAME]Response xmlns="[VERSION]/Functions/[SCHEMA]"> <[FN_NAME]Result>return_value</[FN_NAME]Result> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[FN_NAME]Response> |
Supports Oracle OUT and IN OUT parameters in the message body The function return value is returned in the <[FN_NAME]Result> element. This is the first element in the response message. It comes before any parameters. |
PL/SQL API Request | <[SP_NAME] xmlns="[VERSION]/PackageApis/[SCHEMA]/[PACKAGE_NAME/[SP_NAME]"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]> |
Same as Function or Stored Procedure |
Packaged Procedure or Function Response | <[SP_NAME]Response xmlns="[VERSION]/PackageApis/[SCHEMA]/[PACKAGE_NAME]/[SP_NAME]"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]Response> |
Same as Function or Stored Procedure |
Entity descriptions:
[VERSION] = http://schemas.microsoft.com/OracleEBS/2008/05
.
[SCHEMA] = Collection of Oracle artifacts; for example, SCOTT.
[SP_NAME] = The stored procedure to be executed; for example, SP_INSERT.
[FN_NAME] = The function to be executed; for example, FN_GETID.
[PRM1_NAME] = The name of the Oracle parameter. See the Description column for supported parameter directions for each message.
[PACKAGE_NAME] = The name of the package that contains the targeted procedure or function.
The Oracle database supports overloading for stored procedures and functions. The Oracle E-Business adapter supports this capability by appending an overload string to the target namespace for each overloaded artifact. The value of this string is "overload1" for the first overload, "overload2" for the second overload, and so on. The following example shows the message structure for two overloaded stored procedures.
Stored Procedure Overload 1:
<[SP_NAME] xmlns="[VERSION]/PackageApis/[SCHEMA]/[PACKAGE_NAME]/[SP_NAME]/overload1">
<[PRM1_NAME]>value1</[PRM1_NAME]>
<[PRM2_NAME]>value1</[PRM2_NAME]>
…
</[SP_NAME]>
Stored Procedure Overload 2:
<[SP_NAME] xmlns="[VERSION]/PackageApis/[SCHEMA]/[PACKAGE_NAME]/[SP_NAME]/overload2">
<[PRM1_NAME]>value1</I_[PRM1_NAME]>
<[PRM2_NAME]>value1</I_[PRM2_NAME]>
…
</[SP_NAME]>
Message Actions of Stored Procedures, Functions, and PL/SQL APIs
The Oracle E-Business adapter uses the following message actions for stored procedure, function, and PL/SQL API operations.
Note
See entity descriptions after the table.
Message | Action | Example |
---|---|---|
Stored Procedure Request | Procedures/[SCHEMA]/[SP_NAME] | Procedures/SCOTT/SP_INSERT |
Stored Procedure Response | Procedures/[SCHEMA]/[SP_NAME]/response | Procedures/SCOTT/SP_INSERT/response |
Function Request | Functions/[SCHEMA]/[FN_NAME] | Functions/SCOTT/FN_GETID |
Function Response | Functions/[SCHEMA]/[FN_NAME]/response | Functions/SCOTT/FN_GETID/response |
PL/SQL API Request | [SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME] | SCOTT/Package/CUSTOMER/SP_INSERT |
Packaged Stored Procedure Response | [SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME]/response | SCOTT/Package/CUSTOMER/SP_INSERT/response |
Packaged Function Request | [SCHEMA]/Package/[PACKAGE_NAME]/[FN_NAME] | SCOTT/Package/CUSTOMER/FN_GETID |
Packaged Function Response | [SCHEMA]/Package/[PACKAGE_NAME]/[FN_NAME]/response | SCOTT/Package/CUSTOMER/FN_GETID/response |
Overloaded Stored Procedure Request | [SCHEMA]/Procedure/[SP_NAME]/[OVERLOAD] | SCOTT/Procedure/SP_INSERT/overload1 |
Overloaded Stored Procedure Response | [SCHEMA]/Procedure/[SP_NAME]/[OVERLOAD]/response | SCOTT/Procedure/SP_INSERT/overload1/response |
Entity descriptions:
[SCHEMA] = Collection of Oracle artifacts; for example, SCOTT.
[SP_NAME] = The stored procedure to be executed; for example, SP_INSERT.
[FN_NAME] = The function to be executed; for example, FN_GETID.
[PACKAGE_NAME] = The name of the package that contains the targeted procedure or function.
[OVERLOAD] = The Overload parameter. The possible values are overload1, overload2, and so on.
See Also
Messages and Message Schemas for BizTalk Adapter for Oracle E-Business Suite