I am trying to call a JDE BSFN from a Java servlet. The business function throws an exception when it has numeric or date as input parameters. However, it works fine when input parameter is a string.The error is com.jdedwards.system.connector.dynamic.ServerfailureException:Fail to execute BSFNmethod com.jdedwards.system.kernel.callObjectSystemException.
Asked
Active
Viewed 376 times
1 Answers
0
In E1, numerics are actually MATH_NUMERIC which is a struct... not an int or 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;
};
Same for JDEDATE,
struct tag JDEDATE
{
short nYear;
short nMonth;
short nDay;
};
So... it sounds like maybe you are not passing the correct type?
Here is more info on E1 types: https://docs.oracle.com/cd/E17984_01/doc.898/e14699/e1_defined_structures.htm#g8d6ab57f7cedeaac_ef90c_10a77c8e3f7__76c5

Shaun Meyer
- 73
- 6
-
Your quick response is highly appreciated. Can you also provide any document that suggests on how to create the variable in java for jde numeric and date fields. – user3875983 Feb 01 '16 at 09:36
-
take a look at this document: https://docs.oracle.com/cd/E17984_01/doc.898/e14694/create_publishedbssv.htm section 3.3.6.8 talks about converting Integer to from MathNumeric. I believe the function MathNumeric() is in oracle.e1.bssvfoundation.util.MathNumeric - do you have access to that? That function might be easier than creating the structure yourself. – Shaun Meyer Feb 01 '16 at 09:57
-
Thanks a lot for your help. I will check if I can access the MathNumeric() function. – user3875983 Feb 01 '16 at 10:16