如何在 java 中将 orderby 与 jco 一起使用
How to use orderby with jco in java
我是sap和jco新手,新手失误请见谅
我想在 jco java 库中使用 orderby 子句,但在互联网上没有找到任何相关提示。
此代码获取 table 个名称,但我想按顺序获取数据。
第二件事是如果只想获取行数,那么我该如何获取
那?
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());
根据您使用的命名约定,例如“QUERY_TABLE
”,我假设您使用的是 RFC_READ_TABLE
,这可能是由“getRfcName()
”暗示的。在这种情况下,没有 ORDER BY
。如果您需要 ORDER BY
,您将不得不编写自己的自定义 RFC 功能模块。
关于你的第二个问题,要获取 table 的记录数,请使用函数 EM_GET_NUMBER_OF_ENTRIES
,然后:
JCoTable inputTable = function.getTableParameterList().getTable("IT_TABLES");
inputTable.appendRow();
inputTable.setValue("TABNAME", "<table_name>");
我是sap和jco新手,新手失误请见谅
我想在 jco java 库中使用 orderby 子句,但在互联网上没有找到任何相关提示。
此代码获取 table 个名称,但我想按顺序获取数据。
第二件事是如果只想获取行数,那么我该如何获取 那?
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());
根据您使用的命名约定,例如“QUERY_TABLE
”,我假设您使用的是 RFC_READ_TABLE
,这可能是由“getRfcName()
”暗示的。在这种情况下,没有 ORDER BY
。如果您需要 ORDER BY
,您将不得不编写自己的自定义 RFC 功能模块。
关于你的第二个问题,要获取 table 的记录数,请使用函数 EM_GET_NUMBER_OF_ENTRIES
,然后:
JCoTable inputTable = function.getTableParameterList().getTable("IT_TABLES");
inputTable.appendRow();
inputTable.setValue("TABNAME", "<table_name>");