Posting BAPI XML to SAP ERP over Skyvva Agent SAP ERP Adapter
In SAP ERP we have to do the following settings
Calling RFC-enabled Function Modules over HTTP from external application
As a prerequisite, go to transaction SICF and locate the following service: sap -> bc -> soap -> rfc. Its description gives you some more details about the functionality: SOAP HTTP HANDLER FOR RFC-CAPABLE FUNCTION MODULES.
Now, right-click on that service and choose Test Service, and make sure that you allow SAP to open your web browser (in a popup that appears). Make note of the URL that is opened in the browser. Generally, this URL would look as follows:
It’s a central endpoint for all BAPI’s. Now that we know the communication URL use an HTTP client to communicate with SAP. In this example, I will use the SOAP UI tool for this purpose, but it can be any application.
Importing BAPI/RFC’s from Import SAP metadata
To Import SAP metadata first we need to create SAP Connection in skyvva as shown below
Go to Integration details tab and then select Agent Control Board
Provide the details for the connection destination as shown below
In the Salesforce->AGENT tab. Provide the details of Agent
Host Url: http://xxxx.com
Once we provide the details we need to ping the SAP Connection. Then we can see the pop-up like its successfully connected to Agent.
Now we have to provide the salesforce details as shown below.
Consumer Key and Consumer Secret we can get from the connected App.
Click on Ping Connection of Salesforce to check if its connected successfully.
Now save the configuration.
Create Metadata Provider
From the Repository Click on Import SAP Metadata Tab
Here we need to select the SAP Connection through the Agent and select Adapter type which we created earlier in the Agent Control Board and Select the Application Data type BAPI/RFC’s and then Select create message type to call in BAPI in SAP.
Click on Retrieve after selecting all the above details as shown in the screenshot.
Select the BAPI name to create message type
Below is the message type template for BAPI
This message type we use in the outbound asynchronous interface
Creating the Agent SAP ERP Adapter in Skyvva
We need to provide the following details to create the Agent SAP ERP adapter
Name – Name of the adapter
Type – Agent SAP ERP
Description – IDOC XML Adapter
Direction – Outbound
Status – Active
Authentication – Basic
objectFormat – BAPI
Adapter Instance: Admin
Host – 126.96.36.199
Port – 16380
SAPID – sapid7
Username – idadmin
Password – ******
Adapter Instance – It means the Agent Connection which we created earlier for the backend connection – admin
Now click on save button to create the adapter also do the ping connection.
Creating an Outbound Request interface:
Provide the Name, sObject type, Description, Processing mode, Status, Metadata provider, Repository, Message type, outbound adapter and the SQL statement as shown in the screenshots below
For outbound interface we have to do mapping in Skyvva as shown.
Save the interface once provide all the necessary details.
Now we have to synchronize the cache to push the Integration, Interface, Adapter and Mapping to Agent H2 table.
For that we have to go to cache Monitor in that select Object Name and Integration Name and Status and then click on Synchronize Cache.
Now click on Yes to Synchronize the Cache
Now do the callout using below apex code:
CallOutcontrol c = new CallOutcontrol();
Now we can see the message in the message monitor: