Таблица SAP JCO3 пуста

Я переписываю свой код JCO2 в код JCO3 для работы на 64-битном сервере Windows. Когда я пытаюсь прочитать свою таблицу SAP с кодом JCO3, она возвращает пустую таблицу. Однако, когда я запускаю код 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 в той же таблице, результат - записи = 2.

Пожалуйста, скажите мне, что мне не хватает.


person user3654038    schedule 21.05.2014    source источник


Ответы (1)


Судя по всему, вы не читали документацию по API:

`int getRow()`
Returns the current row number. The first row number is 0, the second is 1, and so on.

Возможно, вы захотите переключиться на getNumRows().

person vwegert    schedule 21.05.2014
comment
Спасибо. Поэтому я изменил код на getNumRows(), но все равно получаю records = 0. Когда я пытаюсь выполнить код: for (int i = 0; i ‹ return_table.getNumRows(); i++) - (который поступает непосредственно из API документации) он не входит в цикл. Любые другие идеи? - person user3654038; 22.05.2014
comment
Использовали ли вы средство удаленной отладки, чтобы выяснить, получает ли функциональный модуль и возвращает ли он правильные значения? - person vwegert; 22.05.2014
comment
Я не знаю вашего RFC. Есть ли какие-либо параметры импорта, которые вы должны были установить? Что-то вроде function.getImportParameterList().setValue("DATUM_VON", datum_von); Или есть код возврата, который можно проверить? String rc = function.getExportParameterList().getString("RETURNCODE"); - person rawdog; 13.06.2014
comment
Спасибо всем за комментарии. Кажется, мои проблемы были с установкой JCO на сервер. :( Мой код не был проблемой. - person user3654038; 18.06.2014