如何在Java中与JCO一起使用Orderby

时间:2019-07-10 14:36:09

标签: java sap jco

我是SAP和JCO的新手,所以请原谅我的新手错误
我想在jco java库中使用orderby子句,但是在Internet上找不到任何提示。

  1. 此代码获取表名,但我想按顺序获取数据。

  2. 第二件事是,如果只想获取行数,那我该如何获取     那?

    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());
    

1 个答案:

答案 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>");