使用SAP.Net Connector 3.0调用BAPI_DOCUMENT_CHECKOUTVIEW2会返回" RFC回调服务器不可用"

时间:2011-11-08 07:33:37

标签: .net callback sap connector saprfc

我正在尝试使用SAP.Net Connector 3.0从SAP DMS获取文档。我需要获取文档并在ASP.Net中显示。

我正在使用“BAPI_DOCUMENT_CHECKOUTVIEW2”来调用该函数。但是当调用invoke方法时,会抛出“RFC callback server not available”错误。

我使用的代码如下。

...
sap.RfcRepository repo = prd.Repository;
sap.IRfcFunction testBapi = repo.CreateFunction("BAPI_DOCUMENT_CHECKOUTVIEW2");
testBapi.SetValue("DOCUMENTNUMBER", docNumber);
testBapi.SetValue("DOCUMENTPART", docPart);
testBapi.SetValue("DOCUMENTVERSION", docVersion);
testBapi.SetValue("DOCUMENTTYPE", docType);
... 
the document file is created here using BAPI_DOCUMENT_GETDETAIL2
...
testBapi.SetValue("DOCUMENTFILE", struFile);
testBapi.SetValue("GETSTRUCTURE", "1");
testBapi.SetValue("GETHEADER", "X");
testBapi.SetValue("ORIGINALPATH", @"D:\");
testBapi.SetValue("PF_FTP_DEST", "SAPFTPA");

long result = RfcAllowStartProgram("sapftp; saphttp");
testBapi.Invoke(prd);

提前致谢

2 个答案:

答案 0 :(得分:1)

我不知道这个BAPI并且我没有手头的系统来检查它,但是我假设在执行期间的某个地方,BAPI试图“回”到GUI应该是在会议的另一端。当它找不到GUI时,就会死掉。如果你有GUI访问和调试权限(和知识:-)),你可以尝试在途中找到一个CALL FUNCTION ... DESTINATION BACK语句。

答案 1 :(得分:1)

尝试添加一个配置参数:

RfcConfigParameters.UseSAPGui,其值为1