如何解决“尝试添加字段ID进行记录时未知类型-1”

时间:2019-06-11 08:31:40

标签: java sapjco3

我们正在对sapjco客户端进行编程以使某些事情自动化。但是,一个功能似乎在初始化功能时遇到问题。其他功能块可以正确连接,但是尝试连接时这会崩溃。

该函数没有导入。但是我们也用import尝试了同样的结果。因此,添加一个似乎效果不佳

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
}

预期: 函数的指针

结果: “尝试将字段ID添加到记录时,未知类型-1”

1 个答案:

答案 0 :(得分:3)

如果任何字段的ABAP数据类型为int8,那么您至少需要JCo 3.0.18补丁程序级别,该级别增加了对该新数据类型的支持。

您可以从https://support.sap.com/jco下载最新的JCo补丁程序级别

但是,我不建议对ID字段使用ABAP整数类型。在ABAP中,整数类型通常仅用于计算目的。对于数字数据值(如ID),首选的数据类型应改为NUMC(类型n)。