一种常见的场景是企业运行着多个SAP系统(ERP/SRM/CRM),用户希望在AA1系统中使用BB1系统的事务。如果直接使用RFC调用另一系统的事务的话,则会弹出登陆框,让用户再次输入帐号密码...
可信RFC(trusted RFC)是解决该问题的方法之一,通过可信RFC,用户可以在不输入帐号密码的情况下,从一个SAP系统登录另一个SAP系统。
本文链接:http://www.cnblogs.com/hhelibeb/p/8589284.html
英文原文:Setup a trusted RFC connection
作为SAP管理员,我经常会遇到有关可信RFC连接的问题。我还注意到SCN论坛上经常会有关于设置的问题。
总而言之,这并不难,像很多配置和设置一样,只要你知道如何正确地做,就不会有什么麻烦
你需要在事务SM59中,定义一个到目标系统的RFC连接,以便在源系统中将其启用为可信任的目标系统。
在你的源SAP系统AA1上,设置一个可信的RFC指向目标系统BB1。 完成后,这意味着当你登录到AA1、并且同名的用户在BB1中拥有足够的权限时,可以使用RFC连接并登录到BB1,而无需重新输入用户名和密码。
配置步骤如下:
在事务SM59中定义一个指向BB1系统的R3类型的RFC连接(连接类型3)。
维护技术设置标签页。
接着是登录&安全标签页。
登录细节:
在MDMP & Unicode选项中选择合适的选项(你的系统是否为Unicode)。
我们假设BB1是Unicode系统,因为除了版本很久的SAP系统之外,绝大部分SAP系统都是Unicode系统。
现在你可以测试RFC连接是否可以工作。如果你发现任何问题,需要将它解决掉,才能进行下一步。
可以通过实用程序->连接测试,权限测试和Unicode测试来进行。
现在R3 RFC连接就配置好了,我们需要进行下一步,前往事务SMT1并且选择创建按钮。
选择先前创建的RFC连接,点击确定。
然后点击Maintain Destination按钮。
这个会把你带回SM59里的destination BB1CLNT100。
在登录&安全标签页,修改信任系统选项为 是。
点击“是”,再选择“当前用户”,以移除登录用户。
设置后的效果如图。
在SM59中创建RFC连接时,也可以直接将受信任系统设置为“是”,并选择“当前用户”等。不过,在SMT1中创建受信系统时再维护这些东西,可以避免很多问题。因此这是我推荐的流程。(因为这样做的话,你在SMT1中配置时可以确定destination是可工作的)。
现在你有一个可信RFC了,“当前用户”选项的意思是,RFC连接会使用当前登录用户的用户名登录远程系统。出于安全原因,你不可以在可信RFC中填入用户名和密码,因为这会导致该帐号被其他人滥用。
要使用这个RFC连接,目标系统和client中需要有相应的权限。在本例中,从AA1系统防伪BB1系统的client 100的话,BB1系统client 100的相应帐号需要维护权限对象S_RFCACL。
S_RFCACL的细节问题和SAP版本有关,有一个SAP Note包含相关细节:
Note 128447 – Trusted/trusting systems
当你成功创建可信RFC后,你会可以在AA系统的事务SMT1中看到BB1统,也可以在BB1系统中的SMT1看到AA1(当然一个是作为调用受信的系统,一个是作为信任当前系统的系统)。如果有需要的话,你也可以按此步骤配置一个从BB1到AA1的可信RFC。