-1

我正在尝试从 Java servlet 调用 JDE BSFN。当业务函数将数字或日期作为输入参数时,它会引发异常。但是,当输入参数为字符串时,它可以正常工作。错误是 com.jdedwards.system.connector.dynamic.ServerfailureException:Fail to execute BSFNmethod com.jdedwards.system.kernel.callObjectSystemException。

4

1 回答 1

0

在 E1 中,数字实际上是 MATH_NUMERIC,它是一个结构......不是 int 或 float。

struct tag MATH_NUMERIC
{
   ZCHAR String [MAXLEN_MATH_NUMERIC + 1];
   BYTE  Sign;
   ZCHAR EditCode;
   short nDecimalPosition;
   short nLength;
   WORD  wFlags;
   ZCHAR szCurrency [4];
   Short nCurrencyDecimals;
   short nPrecision;
};

JDEDATE 相同,

struct tag JDEDATE
{
   short nYear;
   short nMonth;
   short nDay;
};

所以......听起来你可能没有传递正确的类型?

以下是有关 E1 类型的更多信息: https ://docs.oracle.com/cd/E17984_01/doc.898/e14699/e1_defined_structures.htm#g8d6ab57f7cedeaac_ef90c_10a77c8e3f7__76c5

于 2016-02-01T08:59:04.443 回答