通过RFC连接时列出允许的方法?

gue*_*tli 7 sap saprfc pyrfc

我可以通过SAP-RFC将用户名为"foo"的密码"bar"从我的机器连接到SAP服务器.是否可以通过SAP-RFC进行内省?nI想知道允许用户"foo"执行哪些方法.我正在使用PyRFC,但AFAIK这对于这个问题无关紧要.

根据用户Suncatcher的说法,它不是开箱即用的.

到目前为止,我的SAP知识有限.但是不可能像这个伪代码一样循环吗?(此代码应在SAP内部运行(作为ABAP),并可通过RFC公开)

user = 'foo'
allowed_methods = [] # empty list
for func in get_all_functions_which_are_exported_via_rfc():
    if not check_if_user_has_permission_to_call_rfc_function(func, user):
        # not allowed
        continue
    # user is allowed
    allowed_methods.append(func)
return allowed_methods
Run Code Online (Sandbox Code Playgroud)

Sun*_*her 3

我想知道允许用户“foo”执行哪些方法。

SAP 授权概念中不存在方法这样的实体,因此您无法列出允许的方法。

您只能从表中获取为您的用户分配的角色列表AGR_USERS(如果您有权限读取它:),然后尝试确定您可以调用哪些功能模块、tcode、程序。当我们谈论 RFC 时,我假设您对功能模块感兴趣。但检测所有可用的支持 RFC 的 FM 需要单独且不是很简单的开发。

所以答案是否定的。您无法立即列出它们。