2

我们正在编写一个 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”

4

1 回答 1

3

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

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

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

于 2019-06-12T09:57:25.693 回答