Technical Articles
SAP Ariba Validate And Enrich with SAP BTP Integration Suite – Part 1
In this blog series, We will see the steps to configure, and test Validate and Enrich functionality of the SAP Ariba Procurement Application using BTP Integration Suite.
The content is divided into a series of 3 blogs:
Part 1: Ariba Steps
Part 2: BTP Integration Suite Steps
Part 1: Ariba Steps
Pre-Requisite
Ariba User with “Integration Admin” role.
Enable Validate and Enrichment in SAP Procurement
Designated Support Contact should log a service request in https://support.ariba.com/ui5/acloginpage/index.html to request the following items:
- Enable Validate and Enrichment feature for Requisition in SAP Ariba Procurement application.
- Set required System Parameters
- Identify and configure the criteria to trigger the corresponding web service.
- Identify and configure the fields in Requisition to be enriched.
End Point Configuration
Login to the Ariba realm with a user having “Admin Integration” role.
Perform the below steps as shown in the screenshot
- Click on Manage
- Select Core Administration
- Select Integration Manager
- Select End Point Configuration
- Click Create New
On the End Point Configuration – Create End Point screen, populate the details as explained on the screenshot, and Save.
Process Requisition Externally Web Service Configuration
Enable the Process Requisition Externally Web Service by using the BTP End Point created earlier.
- Click on Manage
- Select Core Administration
- Select Integration Manager
- Select Integration Configuration
On the Integration Configuration screen, search for the “Process Requisition Externally” Web Service and Edit.
- Type “Process Requisition Externally” in Task Name
- Select Disable checkbox
- Click on Search to display Process Requisition Externally in the Configuration table
- Click Actions and select Edit
On the Edit data import/export task screen, populate the details as explained on the screenshot and Save.
Prepare “Process Requisition Externally” Web Service Sample Response XMLs
Get “Process Requisition Externally” Web Service WSDL
- Click on Manage
- Select Core Administration
- Select Integration Manager
- Select Integration Configuration
On the Integration Configuration screen, search for the Process Requisition Externally Web Service and Edit.
- Type “Process Requisition Externally” in Task Name
- Select Disable checkbox
- Click on Search to display “Process Requisition Externally” in the Configuration table
- Click Actions and select Edit
Click on the View WSDL link. This will open a new browser window and display the WSDL of Process Requisition Externally Web Service.
Process Requisition Externally Response – Sample XMLs
ProcessRequisitionExternallyExportReply section of the WSDL provides the expected structure of the Response that will be accepted by the SAP Ariba Procurement application.
I have provided 2 sample response XMLs for the below scenarios:
- Validation success with enrichment of a custom field.
- Validation failed with an error message that will be displayed to the user on the UI.
Note: WSDL will vary by realm and its setup. But the provided samples should work with minor changes based on your realm setup. Have these XMLs ready as they will be used in the BTP Integration Suite iFlows later.
-
Validation success with enrichment of a custom field – Sample XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Ariba:Buyer:vrealm_3">
<soapenv:Header>
<urn:Headers>
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<urn:variant>?</urn:variant>
<!--Optional:-->
<urn:partition>?</urn:partition>
</urn:Headers>
</soapenv:Header>
<soapenv:Body>
<urn:ProcessRequisitionExternallyExportReply partition="?" variant="?">
<!--You may enter the following 3 items in any order-->
<!--Optional:-->
<urn:Requisition_ProcessReqExtValidationStatusResponseImport_Item>
<!--Zero or more repetitions:-->
<urn:item>
<!--You may enter the following 3 items in any order-->
<!--Optional:-->
<urn:EventDetails>
<urn:StatusResponse>Success</urn:StatusResponse>
</urn:EventDetails>
<urn:UniqueName>PR12345</urn:UniqueName>
</urn:item>
</urn:Requisition_ProcessReqExtValidationStatusResponseImport_Item>
<!--Optional:-->
<urn:Requisition_ProcessReqExtEnrichResponseImport_Item>
<!--Zero or more repetitions:-->
<urn:item>
<urn:UniqueName>PR12345</urn:UniqueName>
<urn:custom>
<urn:CustomString name="VEUpdate">true</urn:CustomString>
</urn:custom>
</urn:item>
</urn:Requisition_ProcessReqExtEnrichResponseImport_Item>
</urn:ProcessRequisitionExternallyExportReply>
</soapenv:Body>
</soapenv:Envelope>
2. Validation failed with an error message that will be displayed to the user on the UI.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Ariba:Buyer:vrealm_3">
<soapenv:Header>
<urn:Headers>
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<urn:variant>?</urn:variant>
<!--Optional:-->
<urn:partition>?</urn:partition>
</urn:Headers>
</soapenv:Header>
<soapenv:Body>
<urn:ProcessRequisitionExternallyExportReply partition="?" variant="?">
<!--You may enter the following 3 items in any order-->
<!--Optional:-->
<urn:Requisition_ProcessReqExtValidationStatusResponseImport_Item>
<!--Zero or more repetitions:-->
<urn:item>
<!--You may enter the following 3 items in any order-->
<!--Optional:-->
<urn:EventDetails>
<urn:StatusResponse>Failure</urn:StatusResponse>
</urn:EventDetails>
<urn:UniqueName>PR12345</urn:UniqueName>
</urn:item>
</urn:Requisition_ProcessReqExtValidationStatusResponseImport_Item>
<!--Optional:-->
<urn:Requisition_ProcessReqExtEnrichResponseImport_Item>
<!--Zero or more repetitions:-->
<urn:item>
<urn:UniqueName>PR12345</urn:UniqueName>
<urn:custom>
<urn:CustomString name="VEUpdate">true</urn:CustomString>
</urn:custom>
</urn:item>
</urn:Requisition_ProcessReqExtEnrichResponseImport_Item>
<urn:ValidationError_ValidateErrorImport_Item>
<!--Zero or more repetitions:-->
<urn:item>
<!--You may enter the following 3 items in any order-->
<urn:Date>2022-02-22T16:37:14Z</urn:Date>
<!--Optional:-->
<urn:ErrorDetails>
<!--Zero or more repetitions:-->
<urn:item>
<!--header level error - need not specify line and split number-->
<urn:ErrorCategory></urn:ErrorCategory>
<urn:ErrorCode>100</urn:ErrorCode>
<urn:ErrorMessage>Error Message to display on UI</urn:ErrorMessage>
<urn:FieldName>cus_VEUpdate</urn:FieldName>
<urn:LineNumber></urn:LineNumber>
<urn:SplitNumber></urn:SplitNumber>
</urn:item>
</urn:ErrorDetails>
<urn:Id>PR12345</urn:Id>
</urn:item>
</urn:ValidationError_ValidateErrorImport_Item>
</urn:ProcessRequisitionExternallyExportReply>
</soapenv:Body>
</soapenv:Envelope>
Next in Series
SAP Ariba Validate And Enrich with SAP BTP Integration Suite – Part 2
SAP Ariba Validate And Enrich with SAP BTP Integration Suite – Part 3