callProcedure Method
The callProcedure method lets the plugin interact with Oracle Fusion Field Service Core Application without leaving the plugin's page. This method is implemented using the remote procedure call (RPC) approach.
The callProcedureResult method returns the result of running the callProcedure. As you can run multiple procedures simultaneously, it is possible that the plugin sends the next callProcedure messages to Oracle Fusion Field Service before it sends the callProcedureResult message back. These results can be associated with the procedure calls using the callId parameter. For backward compatibility, simultaneous calls of multiple openLink procedures or multiple scanBarcode procedures cause an error with the error code CODE_METHOD_UNEXPECTED.
- Open a plugin in the background (wake up) even when the device is offline.
- Define a delay for opening a plugin in the background after closing its window. You can set it as short as 10 seconds.
- Extend the period of background operation for a plugin before being required to close (sleep). You can set it between 10 seconds and 1 hour.
- Update the appearance (icon, color, text) of a plugin's button (or multiple buttons) on My Route without closing a plugin that is working in the background.
- Navigate to En route and Stop travel pages when the plugin is closed.
- Call some procedures through the Plugin API without actually calling them.
callProcedure Sequence

callProcedure method parameters
Parameter Name | Mandatory | Type | Description |
---|---|---|---|
apiVersion | Yes | Integer | Plugin API version. |
method | Yes | String | Must equal callProcedure. |
procedure | Yes | String | Procedure name. |
callId | Yes | String | Unique string identifier, which is used to apply the procedure response within the plugin. |
function generateCallId() {
return btoa(String.fromCharCode.apply(null, window.crypto.getRandomValues(new Uint8Array(16))));
}
Calling of Procedures
You can send the callProcedure messages for plugins that are opened in background after they receive a wakeup message. You can use only the updateIconData and updateButtonsIconData procedures with the plugins that are opened in background. These procedures help the plugin update the appearance of its buttons in real-time to notify the user about the updates it has received.