java SAP JCo3表已连接,但为空

nnvyjq4y  于 2023-05-05  发布在  Java
关注(0)|答案(2)|浏览(163)

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

sr4lhrrt1#

几天前我也有过同样的症状...
过了一会儿,我注意到要传递的参数--如果是char的话--必须和字段的大小一样长。
你的字段长度是12,是char。如果你直接在SAP中调用你的函数,你传递了例如。1234567891并获得所需的结果。
但是,如果从RFC连接调用它,则必须准备记录001234567891
查看DB表。用表中给出的例子试试。

bf1o4zei

bf1o4zei2#

我建议调试你的ABAP代码。如果它将填充一些行到这个PART_LIST表中,您也可以在Java端获得它们。Java代码中没有明显的错误,除了importParams.toXML()是多余的,而且dest.ping()也不是必需的。

相关问题