当使用结构 table as Import 执行 Bapi 时,Hibersap 抛出 nullpointerexception

Hibersap throw nullpointerexception when execute Bapi with a structure table as Import

我正在尝试使用 java-hibersap 调用 Bapi,Bapi import/export 看起来像:

IMPORTING
 VALUE(IT_LAYOUT) TYPE  ZMM_T_RFC_LAYOUT
EXPORTING
 VALUE(ET_MENSAJES) TYPE  ZMM_T_RFC_RETURN
...

类型是 tables 和 table´slines,其中包含这个复杂参数的元素

我将 java class 映射为:

@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 class 带有 BapiStructure 注释:

@BapiStructure
public class It_Layout
{
@Parameter("MARA_MATNR")
private String code;

@Parameter("MARA_MATKL")
private String groupItems;
...

当我执行Bapi时

rfc_SEND_REPLICATION_Bapi = new RFC_SEND_REPLICATION_Bapi();
rfc_SEND_REPLICATION_Bapi.setImportReplication(rfc_REPLICATION_Imports);
jcoSession.execute(rfc_SEND_REPLICATION_Bapi);

抛出 NullPointerException 异常,我尝试了不同的方法来填充导入参数,但它还不起作用。

我已经解决了这个问题,解决方案是更改导入和导出的注释,现在看起来像:

@Import 
@Parameter(value = "IT_LAYOUT", type = ParameterType.TABLE_STRUCTURE)

没有@Table注解,问题就解决了。