如何在 java 中将 orderby 与 jco 一起使用

How to use orderby with jco in java

我是sap和jco新手,新手失误请见谅
我想在 jco java 库中使用 orderby 子句,但在互联网上没有找到任何相关提示。

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

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

根据您使用的命名约定,例如“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>");