Ошибка 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