SK SKYVVA Documentation

23.8 Rest Query

This document describes how to create an inbound interface using SKYVVA REST query mode in SAP PI/PO with a new SKYVVA  V3 connector module.

REST Query

REST query -This is the new type we support and we can handle bigger sizes as the searchService. This is possible because Salesforce held the cursor and can return the result page by page. In our module, we can collect the result set and combine it with a new message. You can configure in your Interface with operation type as "REST Query“ to use the REST Query feature. Then you need to configure your SOQL in the SKYVVA interface. Base on your configuration in Interface SkYVVA connector will automatically detect the operation type and work accordingly with the same search operation. The following figure shows how the new V3 REST Query works with the new V3 module

How Rest Query works

  1. Select the Operation type as REST Query". As shown below.
  1. Now we will put the SQL statement in the Skyvva Interface. As shown below.
[su_box title="Note" box_color="#2a8af0" title_color="#000000"]For example: The Soql query we can use like. SELECT BillingCity,BillingCountry,BillingPostalCode,BillingState,BillingStreet,Description,Fax,Id,Name,Phone,skyvvasolutions__SAP_Distribution_Channel__c,skyvvasolutions__SAP_Division__c,skyvvasolutions__SAP_Sales_Org__c FROM Account where skyvvasolutions__SAP_Distribution_Channel__c = '{!skyvvasolutions__SAP_Distribution_Channel__c}' and skyvvasolutions__SAP_Sales_Org__c = '{!skyvvasolutions__SAP_Sales_Org__c}' and skyvvasolutions__SAP_Division__c = '{!skyvvasolutions__SAP_Division__c}'[/su_box]
  1. Save the interface.
  2. Follow the below steps to download the WSDL from Lightening

  1. Import WSDL into ESR

Sender request datatype

Sender response datatype 

Source request message type

Source response message type

Outbound Service Interface

Inbound Service Interface

Request Message Mapping

The different way to put the SELECT statement Here we are able to build the select statement dynamically by the pi mapping. Thus we need a field in the request payload which for example is called 'SKYVVA__SOQL_SELECT' and where we can build the SELECT-statement by using concat formula in the mapping. In this case, you are taking the value from this field and it will dominate the SELECT-statement on the module parameter. In the request WSDL we need to add SKYVVA system field e.g. 'SKYVVA__SOQL_SELECT' and build dynamically the SELECT in the mapping. We have 3 different options to place the SELECT statement e.g.:

Here is the SQL Statement used in the interface. [aux_code language="javascript" theme="tomorrow" title="" extra_classes=""]BillingCity,BillingCountry,BillingPostalCode,BillingState,BillingStreet,Description,Fax,Id,Name,Phone,skyvvasolutions__SAP_Distribution_Channel__c,skyvvasolutions__SAP_Division__c,skyvvasolutions__SAP_Sales_Org__c FROM Account where skyvvasolutions__SAP_Distribution_Channel__c = '{!skyvvasolutions__SAP_Distribution_Channel__c}' and skyvvasolutions__SAP_Sales_Org__c = '{!skyvvasolutions__SAP_Sales_Org__c}' and skyvvasolutions__SAP_Division__c = '{!skyvvasolutions__SAP_Division__c}'[/aux_code]

Response Message Mapping

Operation Mapping

Creation of Integrated Configuration Objects

An Integration scenario has the following objects.

These are the objects we should create. Since in this example we are using SOAPUI as source system. So need to create Business component for SOAPUI as BC_SOAPUI. For Salesforce you can use our proposal "Salesforce" as the business system. We have to import these business systems from SLD. Configuring the Sender SOAP communication channel

Configuring the SOAP receiver channel

For V3 Skyvva module: We need 3 modules in the soap receiver channel

  1. Skyvva/V3/QueryBuilder -> prepare the execution of the REST and BULK query and pass the message payload to the 3. module
  2. XISOAPAdapterBean -> calling our new soap API 'RouteRequest' to just pass back the request from the 1. module
  3. Skyvva/V3/ExecuteQuery -> here we only fetching the result which has been executed

Integrated Configuration

Test the Inbound Interface.

Open this article in the interactive viewer →