Skip to Content
Technical Articles
Author's profile photo Ajit Chandran

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.

  1. 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.
  2. On logging in, Go to the Activate and Maintain Service screen by using the transaction code – ‘/n/IWFND/MAINT_SERVICE’
  3. Click on the Add Service button on the top as shown the figure below,
  4. 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’
  5. 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.

Conclusion:

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.

Assigned Tags

      3 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Srinivas Rao
      Srinivas Rao

      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 ?

      Author's profile photo Ajit Chandran
      Ajit Chandran
      Blog Post Author

      Hello Srinivas,

      Could you let us know which bot you are trying to execute and the error that you are getting in the cloud factory. From the message, i could understand that it is something related to the variable being entered in the cloud factory. It would be great if you could post the logs here and i could try to help.
      Thank you,
      Ajit Chandran
      Author's profile photo Chuck Chen
      Chuck Chen

      Hi Ajit,

      Thank you for the blog. it's very detail and very useful.

      Thumbs up!!