Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

Asynchronous Application Integration Callable Object Type

Scenario:

In a Business process modeled with SAP NetWeaver - Guided Procedure (GP), web service call is made from GP to pass the control to external application (outside the GP context). In order to come back to Guided Procedure context system has to wait on external application to finish its execution. The process comes back to Guided Procedure context by web-service call.

Solution with Custom Step in Guided Procedure:

With current Guided Procedure capability, custom step can be built as Background or WebDynpro Callable object which will store the external process context (ID) information in CAF Core. This callable object will not contain completion step (No Complete API called). External Web Service call will explicitly complete the step. The resulted Guided Procedure will look as below:

 

Block

Action

Context Data In

Context Data Out

External Application

Comment

External Application Control Block

 

 

 

 

 

 

Web Service [1]

 

Ext Process ID

 

This web Service call initiate the external application

 

 

 

 

External Application Execution [2]

External Application is executed, GP context is brought to hold phase

 

Back Ground/ WebDynpro Callable Object [Without Completion Step] [3]

Ext Process ID

 

 

This action provides the message to User and wait for completion from external application

 

 

 

 

External Application Web Service [4]

This web service call is made to complete the previous action

 

Next Action..[5]

 

 

  

 

Above solution provides the way to integrate external application within the Guided Procedure, but the downside of above pattern is one always have to build a custom callable object which needs to be completed from external service call.

Solution with Asynchronous External Application Callable Object Type

This Callable Object Type would simulate the wait phase for Guided Procedure and will get completed through external service call.  It is a Callable Object of its own type so does not need to be implemented through any other callable Object. This callable object also has a capability to take the message as configuration which would be displayed to user while it’s waiting for external application to complete its execution.

 

Callable Object – AttributeValue
NameExternal Application Integration
Object DefinitionMessage
Input ParameterExternal Process Id
Output ParameterNone
ConfigurationNone

State Diagram

 

Table below illustrates the Guided Procedure design with “Asynchronous External Application Callable Object Type”

 

Block

Action

Context Data In

Context Data Out

External Application

Comment

External Application Control Block

 

 

 

 

 

 

Web Service [1]

 

Ext Process ID

 

This web Service call initiate the external application

 

 

 

 

External Application Execution [2]

External Application is executed, GP context is brought to hold phase

 

Asynchronous Callable Object  [3]

Ext Process ID Message

 

 

This is “Asynchronous Callable Object” which simulates the wait phase.

 

 

 

 

External Application Web Service [4]

This web service call is made to complete the previous action

 

Next Action..[5]

 

 

 

 

                                     

 

Above solution clearly has a distinct advantage over previous solution. By utilizing the custom “Asynchronous Callable object” you don’t need to build any WD forms or any other form of custom developed step. This callable object also provides the way to display the custom message while waiting on external application to complete the step. Once deployed and registered this callable object will appear under Custom Callable Object Section. Steps below provide the details of how to use this callable object.

Create External Application Integration Callable Object

Click on Custom --> Select External Callable Object, Provide Name, Description, and Folder to store.

Define Object

Provide the message which will displayed to user while waiting on external system to finish its task.


Define Input

This screen shows the input required for the callable object. In this case it is process Identifier.

Define Output: This Callable Object does not have any output

No Output is configured for this callable object.


Finish

This screen is to show that Callable Object creation is finished. It can be opened from here or can be navigated back for changes.

Testing Callable Object

On Click of test tab, Callable object comes with test screen which can be tested by providing the process id of external application.


Callable Object Execution

This screen shows the output of callable upon execution.

Callable Object Usage

Following GP configuration explains the usage of “Asynchronous External Application Integration Callable Object”. Callable object “WaitOnProcurement” is of the type “Asynchronous External Application Integration” which takes the “processID” of the external application initiated in previous step and waits to be completed from external Web Service call.

3 Comments