嗨,我使用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条答案
按热度按时间sr4lhrrt1#
几天前我也有过同样的症状...
过了一会儿,我注意到要传递的参数--如果是char的话--必须和字段的大小一样长。
你的字段长度是12,是char。如果你直接在SAP中调用你的函数,你传递了例如。
1234567891
并获得所需的结果。但是,如果从RFC连接调用它,则必须准备记录
001234567891
。查看DB表。用表中给出的例子试试。
bf1o4zei2#
我建议调试你的ABAP代码。如果它将填充一些行到这个PART_LIST表中,您也可以在Java端获得它们。Java代码中没有明显的错误,除了
importParams.toXML()
是多余的,而且dest.ping()
也不是必需的。