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, это решило проблему.

Другие вопросы по тегам