我正在使用两种不同的BAPI从SAP获取数据。当我使用BAPI_SALESORDER_GETLIST
时,它完美无缺。但是当我使用BAPI_BILLINGDOC_GETLIST
时,我得不到任何数据。这就是我试图调用BAPI的方式:
DataTable table = null;
SapConfig cfg = new SapConfig();
if (RfcDestinationManager.TryGetDestination("SAP") == null)
RfcDestinationManager.RegisterDestinationConfiguration(cfg);
RfcDestination dest = RfcDestinationManager.GetDestination("SAP");
RfcRepository repo = dest.Repository;
IRfcFunction fnc = repo.CreateFunction("BAPI_BILLINGDOC_GETLIST");
IRfcStructure param = fnc.GetStructure("REFDOCRANGE");
param.SetValue("SIGN", "I");
param.SetValue("OPTION", "EQ");
param.SetValue("REF_DOC_LOW", salesOrderNumber);
param.SetValue("REF_DOC_HIGH", "");
fnc.Invoke(dest);
table = fnc.GetTable("BILLINGDOCUMENTDETAIL").ToDataTable();
return table;
据我所知,一切看起来都是正确的。我加入了SAP团队,他们确保我使用的帐户可以访问所有内容,我们在SAP中运行BAPI并且运行正常。
所以SAP似乎很好。关于我在这里做错了什么想法?