我知道使用 .NCo 3.0 调用 RFC 函数的选项,但是否可以直接使用 SAP 连接器调用事务/程序?(就像使用 SAP 中定义的字段作为参数并填充它们,或者使用变体,像这样?)。
这个答案提供了一个我知道的解决方法,并且可以肯定 - 我可以从我的 C# 代码中调用一个 VBScript,但这不是我想要做的。我还检查了所有 64 个标记为的问题,sap-connector
但无论是否可能,都没有直接的答案。
此外,我从 SAP 市场获得的 SAP 文档根本没有提到交易/程序。这是否意味着不需要/不可能?
如果是这样,为什么可以使用宏/预先录制的 VBScripts 而不是 .NET-Connector 呢?还是我只是做错了什么?
当我尝试使用标准代码调用程序/事务时:
SAPHandle.ECCDestinationConfig cfg = new SAPHandle.ECCDestinationConfig();
RfcDestinationManager.RegisterDestinationConfiguration(cfg);
RfcDestination dest = RfcDestinationManager.GetDestination("QP2");
dest.Ping(); //works fine -> Connection is OK
RfcRepository repo = dest.Repository;
IRfcFunction zzmkalzzm23fnc = repo.CreateFunction("ZMZKALZZM23");
它给了我以下(预期的)错误:
函数 ZMZKALZZM23 的元数据不可用:FU_NOT_FOUND:函数模块 ZMZKALZZM23 不可用