嗨,我正在使用SAP JCo3连接器以及jar提供的.dll文件。 目标已成功连接。我的问题是,当我执行function.execute(destination)时,function.getTableParameterList()。getTable(“ PART_LIST”)返回具有零行的空表 我实现连接的代码如下
JCoDestination dest = JCoDestinationManager.getDestination("EOMP");
dest.ping();
JCoRepository repo= dest.getRepository();
JCoFunctionTemplate ftemplate = repo.getFunctionTemplate("Z_BAPI_GET_ESO_PART");
JCoFunction function = ftemplate.getFunction();
JCoParameterList importParams = function.getImportParameterList();
importParams.setValue("ESO","R1S00444");
importParams.toXML();
function.execute(dest);
JCoParameterList tableParamList=function.getTableParameterList();
JCoTable table=tableParamList.getTable("PART_LIST");
答案 0 :(得分:0)
几天前我也有同样的现象...
过一会儿,我注意到要传递的参数(如果是字符)必须与字段大小一样长。
您的字段长度为12,为char。
如果您直接在SAP中调用函数,则会传递例如1234567891
,并得到您想要的结果。
但是,如果从RFC连接中调用它,则必须准备记录001234567891
。
查找数据库表。尝试使用表中给出的示例。
答案 1 :(得分:0)
我建议调试ABAP代码。
如果它将在此PART_LIST表中填充一些行,那么您还将在Java端获得它们。
您的Java代码中没有明显的错误,只是importParams.toXML()
是多余的,并且不需要dest.ping()
。