I'm trying to call a SAP function RFC_SYSTEM_INFO
from Java application. I am using JCo 3.0 for that. I'm using the example code provided from JCo documentation.
I get an exception
Caused by: RfcException: [IA1|CZVBIIN101] message: No RFC authorization for function module DDIF_FIELDINFO_GET. Return code: RFC_SYS_EXCEPTION(3) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE message class: 00 message type: X message number: 341 message parameter 0: RFC_NO_AUTHORITY
According to my colleague who was looking in the SAP log (I know nothing about SAP, he knows), before calling the function RFC_SYSTEM_INFO
, JCo makes about 7 calls, some of which require the "developer's permissions". So, what we don't understand is why we would need developer's permissions for such a simple call? Why does JCo make so many calls instead of making only one call?
For example, I don't understand why we need to call the function module DDIF_FIELDINFO_GET
? I just want to call RFC_SYSTEM_INFO
, not DDIF_FIELDINFO_GET
. Is it possible to call RFC_SYSTEM_INFO
without calling RFC_SYSTEM_INFO
?
What are the minimum access rights the user should have to be able to make RFC calls?