当使用结构 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注解,问题就解决了。
我正在尝试使用 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注解,问题就解决了。