cancel
Showing results for 
Search instead for 
Did you mean: 

Call an SAP RFC a million times in one day. Is that possible?

former_member185489
Participant
0 Kudos

We have a RFC in SAP which exposes data to front ends via middleware. Currently we have around 500-1000, max 2000 calls happening per day.

There may be a furure requirement where this service might get called a million times or more on certain number of days in a year.

Based on current runtimes we have figured out this is quite impossible and the SAP system might just crash. My question would be what are possible avenues to explore to make this work? Is this at all possible on our current infrastructure. We have non HANA database. Or do we need to widen our thoughts and look at cloud provisioning / other avenues to make this work? Or is this at all an Infrastructure issue?

Any ideas are welcome!

Regards,

Suman

Accepted Solutions (0)

Answers (1)

Answers (1)

Ivan-Mirisola
Product and Topic Expert
Product and Topic Expert

Hi Suman,

It seems to me that your optimize the RFC calling by implementing a trigger mechanism that would subscribe to a data change notification on the backend. Therefore, once the data is in fact changed, your UI will make the call to the RFC and retrieve the data. There are several options to achieve this. If you have Netweaver Gateway available, you could design an odata service that implements the ATOM protocol. And your application could subscribe to any events happening on that service. It would then receive a notification, only when data at the backend changed. In practical terms this would potentially reduce the number os RFC calls to your backend.

There are other ways of doing this. The Gateway Foundation comes with the Data Exchange Framework (Syclo) in which you store pre-processed data on exchange tables and let remote applications to retrieve them, only when they are required.

There is also the Notification Servlet from SAP Mobile Services, in which you could send a data change notification to an application with just about enougth information so it will fetch the data when it is needed.

And of course, there is the remote data sync service, from Sybase - which is based on SQL Anywhere (Mobilink) - which will sync data from central DB to another DB on a mobile device based on the database logs.

Another pointer I should give you is that ABAP systems are a bit "smart" in the sense to protect themselves from overflow (DoS). It does this by limiting the amount of WebAS that are entitled to process each RFC request. It is not configured by default, but administrators should take care of this once they open the system for RFCs. It does this by restricting incoming RFCs to a specific logon group - which could be a single Application Server. On this specific application server, there are Work Processes designed to process RFCs in the background or in the foreground - and there is a limit to each on each system. So, the administrator will have total control over an instance and how much computing power it is entitled to process RFC calls. In other words, one can do so much harm to an ABAP system as the administrator let him/she 🙂

Regards,
Ivan