Ошибка JDE BSFN при вызове из java-сервисов

Я пытаюсь вызвать JDE BSFN из сервлета Java. Бизнес-функция выдает исключение, когда в качестве входных параметров используется число или дата. Тем не менее он работает нормально, когда входной параметр является строкой. Ошибка com.jdedwards.system.connector.dynamic.ServerfailureException: не удалось выполнить BSFNmethod com.jdedwards.system.kernel.callObjectSystemException.

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

Другие вопросы по тегам