我是SAP和JCO的新手,所以请原谅我的新手错误
我想在jco java库中使用orderby子句,但是在Internet上找不到任何提示。
此代码获取表名,但我想按顺序获取数据。
第二件事是,如果只想获取行数,那我该如何获取 那?
JCoDestination client = (JCoDestination) sapconnector.getBaseConnection();
JCoRepository repo = client.getRepository();
JCoFunctionTemplate ftemplate = repo.getFunctionTemplate(dataSource.getRfcName());
JCoFunction function = ftemplate.getFunction();
JCoParameterList input = function.getImportParameterList();
input.setValue(QUERY_TABLE, "DD02L");
JCoParameterList output = function.getExportParameterList();
JCoTable fieldsTable =
function.getTableParameterList().getTable("FIELDS");
fieldsTable.setRow(0);
fieldsTable.setValue("FIELDNAME", "TABNAME");
// ???? sort TABNAME ASC|DESC
function.execute(client);
System.out.println("result:" + output.toXML());
答案 0 :(得分:0)
根据您使用的命名约定,例如“ QUERY_TABLE
”,我假设您使用的是RFC_READ_TABLE
,这可能暗示“ getRfcName()
”。在这种情况下,没有ORDER BY
。如果您需要ORDER BY
,则必须编写自己的自定义RFC功能模块。
对于第二个问题,要获取表的记录计数,请使用函数EM_GET_NUMBER_OF_ENTRIES
,然后:
JCoTable inputTable = function.getTableParameterList().getTable("IT_TABLES");
inputTable.appendRow();
inputTable.setValue("TABNAME", "<table_name>");