This document explains us about how to create skyvva asynchronous inbound interface in SAP PI/PO with new V3 adapter module.
And also, document briefs the implementation of SAP PI/PO and Salesforce interfaces which includes the testing as well.
In this case considering Account as an object API at Salesforce end and message will be triggered from SAP ECC to Salesforce using SAP PI/PO as middle-ware.
Steps needs to be done in Skyvva
Create Asynchronous Inbound Interface
New V3 works only with Skyvva message type.
To create the metadata provider, navigate to the MetaData Providers and create “New” and provide the metadata provider name.
Note: Metadata provider name can be anything based on the project naming convention
Create Metadata Provider:
Once metadata provider created then go down and create “Repository” as shown in below screenshot.
Create Message type:
For Inbound we can use normal message type as shown.
After providing the above highlighted details click on save to save the data. Then the message type will be created as shown below. This message type we use while creating the inbound interface.
Use the above created Metadata provider, Repository and Message type details while creating the Inbound interface.
Inbound skyvva Interface –
In this example we are creating the interfaces under “Lalitha_Test_Integration“
Specify the Interface name, Description, Source/Target Name, Metadata Provider, Repository, Message type, Status, Direction and Operation Type as shown below
Do the mapping as shown below
Download the inbound interface XSD or WSDL to import to SAP PO for mapping.
In SAP PI/PO we need to create Asynchronous interface
With respect to SAP its an outbound Interface(SAP to Salesforce)
Import XSD or WSDL into ESR
First, we have to create a namespace in ESR like “http://DEBMAS07_to_AccountUpdate”.
Now create an external definition under the namespace like below. Here the WSDL is for Account. So, we can give the name as ED_Ack_IN
Now import the WSDL and Save and activate it.
No need to create Datatype, Messagetype and Service Interface for Sender system SAP as we are using IDOC as a source.
Service Interface
Create service interface
Now click on Save and activate it.
Message mapping
Do the respective mapping and save and activate it.
Operation Mapping for asynchronous inbound interface
Create Operation mapping.
Then save and activate the operation mapping.
Creation of Integrated Configuration Objects
After creating the objects in ESR. We have to configure these objects in the integration directory.
First, we have to create Configuration Scenario. Now enter the name of the scenario, description and choose a folder if you have created then press on create button.
An Integration scenario has the following objects.
- Business System for Sender and Receiver
- Sender and Receiver Communication channel
- Integrated Configuration
These are the objects we should create.
We have to define our business system e.g. for the SAP-Backend. For Salesforce you can use our proposal “Salesforce” as the business system. We have to import these business systems from SLD.
Configuring the Sender Idoc communication channel
Create sender communication channel as shown below.
Since we are using an IDOC as a source. So, here we are using IDoc adapter in the sender channel.
Provide the necessary details. After that save and activate the channel.
10. Configuring the SOAP receiver channel
Configuration for Tab “General”
Specify the parameters as shown in the above screenshot.
Below is the configuration for the “Advanced” Tab.
The value “TserverLocation” has to be entered for the parameter Variable Header (XHeaderName1).
Below are the settings for Tab “Module”. Here, the SKYVVA module containing the logic for session handling and transformation logic must be specified.
Configuration of module parameters are described in detail below
Skyvva Module Parameters
“Skyvva/V3/Integration” to be used with SOAP receiver channels. Module parameters are outlined below
Parameter |
Description |
Value |
IntegrationID |
This parameter contains the skyvva engine integration id on Salesforce. Here we recommend to use only Integration name instead of id because if we transport the objects from one environment to other environment IntegrationId will be changed but Integration Name will not be changed. |
Lalitha_Test_Integration |
SessionGlobalFilePath |
This parameter holds the path in which the session id is being stored |
/usr/sap/O5B/SYS/global |
SforceAccessPoint |
This parameter represents the URL(endpoint) for getting the session id. The URL is that of the Enterprise WSDL for Salesforce used for logging in and getting the session id |
https://test.salesforce.com/services/Soap/c/43.0 |
SessionPooling.Active |
A flag that actives or deactivates the session pooling. Set for better performance |
X |
SforceRequestPayload |
It will show the request payload of skyvva |
X |
SforceSecurityToken |
This parameters holds the security token from salesforce. Necessary only of configured in the salesforce instance |
By54dfe0000DerYvvv |
SforceShowSAPChannelParameters |
It displays the SAP PI parameters in the output log |
X |
SforceUsername |
This parameter is the salesforce username |
xxx@bbbb.com |
SforceWebServiceOperation |
Defines the webservice operation in skyvva |
integrate |
pwdSforceLoginPassword |
It holds the password of the salesforce user used to log in to the salesforce |
xxxxxxx |
Integrated Configuration
Create integrated configuration objects as shown below.
Enter the required data e.g. the Communication Component, Interface and Namespace and then click on create button to create an ICO.
Now go through the tabs from left to right to configure the relevant objects. In this first tab “Inbound Processing” here we have to specify the sender communication channel.
Here in the “Receiver” tab, we have to specify the receiver business system.
In Receiver interfaces tab specify the operation mapping and also the values of the parameters.
The parameter Account_Update_In is the interface name (on Skyvva side) of the interface Account.
In the “outbound processing” tab, we have to specify the receiver channel.
Testing the interface –
Triggering the data from SAP
Account data transferred to Skyvva