SAP JCo3表为空但已连接

时间:2018-08-08 12:24:37

标签: java sap sapjco3

嗨,我正在使用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");

2 个答案:

答案 0 :(得分:0)

几天前我也有同样的现象...

过一会儿,我注意到要传递的参数(如果是字符)必须与字段大小一样长。

您的字段长度为12,为char。 如果您直接在SAP中调用函数,则会传递例如1234567891,并得到您想要的结果。

但是,如果从RFC连接中调用它,则必须准备记录001234567891

查找数据库表。尝试使用表中给出的示例。

答案 1 :(得分:0)

我建议调试ABAP代码。 如果它将在此PART_LIST表中填充一些行,那么您还将在Java端获得它们。 您的Java代码中没有明显的错误,只是importParams.toXML()是多余的,并且不需要dest.ping()