Simple Five Steps to configure API/ODATA services in the SAP S/4HANA On-Premise back-end system to run SAP Intelligent RPA process bots
This blog post is written to solve a common issue that many face while running the bot for the first time on the SAP S/4HANA On-Premise systems. The error mentions that the service the bot is trying to hit is not added in the system and would be like “No service available for the namespace <API SRV Name>” and would end with status 403 – Forbidden.
The following steps must be done in order to add the API/ODATA services in the back-end SAP S/4HANA systems. These services are being used by the SAP Intelligent RPA bots for SAP S/4HANA processes.
- Logon to SAP S/4HANA On-Premise Back-end system using SAP Logon. Make sure you login to the client in which the bot is being run or planned to be run.
- On logging in, Go to the Activate and Maintain Service screen by using the transaction code – ‘/n/IWFND/MAINT_SERVICE’
- Click on the Add Service button on the top as shown the figure below,
- Once the button ‘Add service’ is clicked, another screen opens up, wherein we could search for the API the bot uses in the External Service Name field and click on Get Services. For example: ‘API_PRODUCT_SRV’
- If the service is not yet added in the system, it would appear on the screen as shown below, We will have to select the service and click on Add Selected Service button as shown below,Once button is clicked, another screen open where we provide the package assignment and on saving that particular service is added. (If the API is already added, then no entries would appear. The screen ‘Select Back-end Services’ would be empty)
Once added, the services should appear in the transaction ‘Activate and Maintain Services’. This could be checked by entering the API name in the search dialog box.
To solve the error “No service available for the namespace <API SRV Name>”, the bot could be re-run after adding the service mentioned in the error by following the above steps.
Additional Information – How to check the default client maintained for a service?
The default client for an added service can be seen in the transaction ‘SICF’
To check the default client of a service maintained, follow the below steps,
- Once the service is added, we also configure ICF Node. The ODATA would be in active status as shown below,
- Click on the button “ICF Node” and then Click on Configure (SICF) from the drop down.
- Another screen opens up and double click on the service as highlighted below,
- In the following screen go to the Logon Data tab, the client details would be mentioned and this is the default client.
Note : While running a SAP S/4HANA process bot on On-Premise system, if the client number is not provided, then by default, the processing happens in the default client for that particular service.
Now, that the API services are added in the system, the bot can be re-run and the services can be used by the bot being run. The above mentioned steps would be a pre-requisite for running bots on SAP S/4HANA On-Premise systems in order to add the API services into the system.
Also, for More Information about the SAP S/4HANA template bots, check out the following links:
Link to SAP Best Practices Explorer: SAP Best Practices for SAP Intelligent Robotic Process Automation Integration with SAP S/4HANA
Link SAP Intelligent RPA store here
Release Note: 2788986 – Release Strategy for SAP Intelligent Robotic Process Automation Store for SAP S/4HANA
Stay tuned to know more about the SAP S/4HANA template bots.
Hi Ajit - Thanks for the blog. I was just doing a similar thing and I get an error that the factory variables could not be read. This error comes up for every variable read. On investigating, I see that the error message is from the ELSE clause of the read function which is done using ctx.setting. Since you have the API integration, you must have put the variable on the cloud factory, right ? If yes, did you face such an issue where the variables were not being read ?
Thank you for the blog. it's very detail and very useful.