【问题标题】:JDE BSFN throwing error when called from java services从 Java 服务调用时 JDE BSFN 抛出错误
【发布时间】:2016-02-01 08:33:51
【问题描述】:

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

【问题讨论】:

    标签: java angularjs jdedwards


    【解决方案1】:

    在 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

    【讨论】:

    • 非常感谢您的快速响应。您是否还可以提供有关如何在 java 中为 jde 数字和日期字段创建变量的任何建议。
    • 看看这个文档:docs.oracle.com/cd/E17984_01/doc.898/e14694/… 第 3.3.6.8 节讨论了将 Integer 转换为 MathNumeric。我相信函数 MathNumeric() 在 oracle.e1.bssvfoundation.util.MathNumeric - 你可以访问吗?该功能可能比自己创建结构更容易。
    • 非常感谢您的帮助。我会检查我是否可以访问 MathNumeric() 函数。
    猜你喜欢
    • 1970-01-01
    • 2016-03-21
    • 2017-10-20
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 2015-06-28
    相关资源
    最近更新 更多