我对使用 SAP 不是很熟悉,但我目前的任务是利用 Rfc 调用通过我正在处理的 ac# 项目在 SAP 中创建采购订单。
使用直接 Rfc 调用而不是 BAPI 有什么优势吗?我问过我的主管,他的理由是“避免未知/不必要的混乱”。
我们的旧程序使用 BAPI。我发现通过这项任务,我现在正在追赶我的尾巴,因为我深入研究元数据并解决使用/获取我需要的结构的问题。
事情进展顺利,但我只是不明白坚持使用 Rfc 而不是 BAPI。
编辑以澄清我糟糕的术语:我们目前使用一个包装器,然后为我们调用 BAPI。我的任务是不使用包装器,而是使用与 BAPI 相同的 Rfc 调用。
例子:
IRfcFunction poCreateFunction = _dest.Repository.CreateFunction("BAPI_PO_CREATE1");
IRfcStructure poHeader = poCreateFunction.GetStructure("POHEADER");
poCreateFunction.SetValue("POHEADER", poHeader);
...
poCreateFunction.Invoke(_dest);