我正在将JCO2代码重写为JCO3代码,以便在64位Windows服务器上运行。当我尝试使用JCO3代码读取我的SAP表时,它返回一个空表。但是,当我运行JCO2代码时,表中有2条记录。
以下是我的JCO3代码:
try
{
System.out.print("after try");
try {
ABAP_AS2 = JCoDestinationManager.getDestination(ABAP_MS);
}
catch (Exception e) {
ABAP_AS2 = null;
System.out.print("ABAP_AS2 = null");
}
ABAP_AS2.ping();
JCoFunction function = ABAP_AS2.getRepository().getFunction("ZPC_RFC_READ_QMLN");
function.execute(ABAP_AS2);
System.out.println("STFC_CONNECTION finished:");
JCoTable return_table = function.getTableParameterList().getTable("DATA");
Sytem.out.println("get table");
int records = return_table.getRow();
System.out.println(records);
结果是记录= 0.当我在同一个表上运行JCO2代码时,结果是records = 2.
请告诉我我错过了什么。
答案 0 :(得分:1)
显然您还没有阅读API文档:
`int getRow()`
Returns the current row number. The first row number is 0, the second is 1, and so on.
您可能想切换到getNumRows()
。