Как исправить «Неизвестный тип -1 при попытке добавить идентификатор поля в запись» - PullRequest
2 голосов
/ 11 июня 2019

Мы программируем клиент sapjco для автоматизации определенных вещей.Однако одна функция, похоже, имеет проблемы с инициализацией функций.Другие функциональные блоки могут подключаться правильно, но этот сбой при попытке подключения.

Функция не имеет импорта.Но мы также попробовали это с импортом с тем же результатом.Таким образом, добавление одного из них, похоже, не работает

FUNCTION ZE237_GET_REZEPTID.

TYPES: BEGIN OF ZE237SOLLDATEN_TYP,
  id TYPE ZE237SOLLDATEN-ID,
  name TYPE ZE237SOLLDATEN-NAME,
  END OF ZE237SOLLDATEN_TYP.

DATA lt_table TYPE TABLE OF ZE237SOLLDATEN.

SELECT
  id name
  FROM ZE237SOLLDATEN
  INTO CORRESPONDING FIELDS OF TABLE T_EXPORTNAME.


ENDFUNCTION.
public IntellifarmSapFunction(JCoDestination destination, 
    JCoRepository repository, String functionname) throws JCoException, IllegalArgumentException {
    this.destination=destination;
    this.function = repository.getFunction(functionname); //crash here
}

Ожидается: указатель на функцию

Результат: 'Неизвестный тип -1 при попытке добавить идентификатор поля взапись "

1 Ответ

3 голосов
/ 12 июня 2019

Если какое-либо из полей имеет тип данных ABAP int8, то вам нужен как минимум уровень исправлений JCo 3.0.18, который добавляет поддержку для этого нового типа данных.

Вы можете загрузить последний уровень исправлений JCo сhttps://support.sap.com/jco

Однако я не рекомендую использовать целочисленный тип ABAP для поля идентификатора.В ABAP целочисленные типы обычно используются только для целей расчета.Предпочтительным типом данных для числовых значений данных, таких как идентификатор, должен быть NUMC (тип n).

...