The automatic authorization check is made by implicitly calling function module AUTHORITY_CHECK_RFC. If it detects an authorization issue, this function module triggers one of the exceptions defined in its interface, namely USER_DONT_EXIST or RFC_NO_AUTHORITY, thus triggering a runtime error. We recommend that you call this function module explicitly before a remote call, thus enabling you to handle any exceptions that may arise. If authorization exists, the function module does not return an explicit result, instead, like all function modules that are performed successfully, it sets sy-subrc to 0.
The function module does not check whether an authorization check actually takes place.
When a function module is called remotely from within the same system, an automatic authorization check only takes place if the client and user ID are not the same. Across system boundaries, the automatic authorization check is only performed outside of trustworthy systems.
Rating a system as an RFC Trusted/Trusting System is done using transaction SMT1.
If system profile parameter auth/rfc_authority_check is set to value 1, the system checks automatically whether the user has the required RFC authorization when CALL FUNCTION is reached
You can find an overview of the authorization objects relevant for RFC under: