C# 如何在CUA环境中通过BAPI重置密码?
我目前正在使用SAP NCo 3开发一个C#应用程序。 我想知道我是否可以在CUA中调用BAPI,这个BAPI会将细节传递给子系统 此字段可通过测试功能模块(字段“RFC target sys”)使用,但从SAP NCo访问时,在标准BAPI中直接不可用 在ABAP中,开发人员可以使用:C# 如何在CUA环境中通过BAPI重置密码?,c#,saprfc,bapi,sap-dotnet-connector,C#,Saprfc,Bapi,Sap Dotnet Connector,我目前正在使用SAP NCo 3开发一个C#应用程序。 我想知道我是否可以在CUA中调用BAPI,这个BAPI会将细节传递给子系统 此字段可通过测试功能模块(字段“RFC target sys”)使用,但从SAP NCo访问时,在标准BAPI中直接不可用 在ABAP中,开发人员可以使用: 调用函数“BAPI用户更改”目的地“” 我可以在NCo库中使用类似的东西吗 IRfcFunction rfcs=rfcDest.Repository.CreateFunction(“BAPI_USER_CH
调用函数“BAPI用户更改”目的地“”
我可以在NCo库中使用类似的东西吗
IRfcFunction rfcs=rfcDest.Repository.CreateFunction(“BAPI_USER_CHANGE”);
有人知道如何做到这一点吗
主要目的是通过应用程序(BAPI-->CUA-->儿童系统将用户密码重置为初始密码
没有直接访问子系统。嗯,看起来您还没有完全理解“RFC目标系统”的含义 在SE37“RFC目标系统”中,输入RFC目标的名称,该名称提供了有关要在哪个SAP系统中执行功能模块的详细信息。然后在SM59中定义这些详细信息,您可以在其中指定主机名、系统号、客户端、用户、密码、语言等参数 在NCo库中,通过类RfcDestinationManager执行相同的操作。在这里,您可以定义要在其中执行功能模块的目标系统的参数(主机名、系统号、客户端、用户、密码、语言等) 那么这条线呢 “RFC目标系统:目标系统” 在SE37中,对应于一条线,如
RfcDestination myDest = RfcDestinationManager.GetDestination("TARGET_SYS");
在您的.NET程序中
还有一行ABAP代码,比如
call function 'BAPI_USER_CHANGE' destination 'TARGET_SYS'
RfcDestination targetSys = RfcDestinationManager.GetDestination("TARGET_SYS");
IRfcFunction bapiUserChange = targetSys.Repository.CreateFunction("BAPI_USER_CHANGE");
targetSys.Invoke(bapiUserChange);
然后将对应一些.NET代码,如
call function 'BAPI_USER_CHANGE' destination 'TARGET_SYS'
RfcDestination targetSys = RfcDestinationManager.GetDestination("TARGET_SYS");
IRfcFunction bapiUserChange = targetSys.Repository.CreateFunction("BAPI_USER_CHANGE");
targetSys.Invoke(bapiUserChange);
注意:这里省略了输入值的设置和错误处理。好的,所以我发现我想用sapnco实现的目标是不可能的 但是,在SAP中,我创建了function module,它调用function module并使用
目标'target\u sys'
在终端系统中运行。这样我就实现了我想要的。通过从sapnco调用myZ_FUNC_模块
,我传递变量target_sys
,然后在CUA的子系统中调用FN
希望这对其他人有所帮助。您能将两个不同的问题分为“如何在CUA环境中通过BAPI重置密码”和“如何通过NCO C#调用给定SAP系统上的BAPI函数”,或者如果我不太理解,您能澄清这个问题吗?这是否回答了您的问题@不,这不适合我们的工作environment@SandraRossi我不是在征求你的第二个建议,我知道怎么做,但我会根据你的第一个建议编辑我的帖子在你的环境中没有什么特别的
GetDestination(字符串名称)