Hibersap выбрасывает nullpointerexception при выполнении Bapi со структурной таблицей как Import
Я пытаюсь вызвать Bapi с помощью java-hibersap, импорт / экспорт Bapi выглядит следующим образом:
IMPORTING
VALUE(IT_LAYOUT) TYPE ZMM_T_RFC_LAYOUT
EXPORTING
VALUE(ET_MENSAJES) TYPE ZMM_T_RFC_RETURN
...
Типы - это таблицы со строками таблиц, которые содержат элементы этого сложного параметра.
Я сопоставил класс Java, как:
@Bapi("ZMFMM_RFC_REPLICACION")
public class RFC_SEND_REPLICATION_Bapi
{
@Import
@Table
@Parameter("IT_LAYOUT")
private List<It_Layout> importReplication;
@Export
@Table
@Parameter("ET_MENSAJES")
private List<Et_Mensajes> exportReplication;
...
Классы It_Layout, Et_Mensajes с аннотацией BapiStructure:
@BapiStructure
public class It_Layout
{
@Parameter("MARA_MATNR")
private String code;
@Parameter("MARA_MATKL")
private String groupItems;
...
Когда я исполняю Бапи
rfc_SEND_REPLICATION_Bapi = new RFC_SEND_REPLICATION_Bapi();
rfc_SEND_REPLICATION_Bapi.setImportReplication(rfc_REPLICATION_Imports);
jcoSession.execute(rfc_SEND_REPLICATION_Bapi);
Выдает исключение NullPointerException, я пробовал разные способы заполнить параметр импорта, но он пока не работает.
1 ответ
Решение
Я уже решил проблему, решение было изменить аннотации импорта и экспорта, теперь выглядит так:
@Import
@Parameter(value = "IT_LAYOUT", type = ParameterType.TABLE_STRUCTURE)
Без аннотации @Table, это решило проблему.