|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
[SOLVED]FMC01105E Data member value has the wrong type |
« View previous topic :: View next topic » |
Author |
Message
|
chintu |
Posted: Tue Sep 05, 2006 9:06 am Post subject: [SOLVED]FMC01105E Data member value has the wrong type |
|
|
 Acolyte
Joined: 27 Dec 2004 Posts: 64
|
WF 3.6 (SP2) on AIX .
We have an element 'AvailFunds' of type float in an data structure. When a value 98632948.21 is used to
create and start an instance, a UPES call expires once the flow reaches this UPES. The error message
says FMC01105E Data member 'AvailFunds' value of data structure 'BPI_UPES_DS.Account' has the wrong type.
The value in the input container of the UPES is 9.863294821E7. However the value that is present in the
XML generated for UPES consumption is 98632948.20999999. This value has a string length greater than 15,
hence when the UPES responded back with the same exact value(98632948.20999999) in the XML message to the
EXEXMLINPUTQ, we get the FMC01105E error. The UPES was NOT changing this AvailFunds.
http://www.mqseries.net/phpBB2/viewtopic.php?t=14363&highlight=fmc01105e
Why did the value changed from 9.863294821E7 to 98632948.20999999 in the WF to UPES message? Any ideas?
Thanks
edit:
Found this post which discusses float values in XML messages.
http://www.mqseries.net/phpBB2/viewtopic.php?t=11136&highlight=monetary
So is there a fix for the floating point XML issue? Or should we change the element to long(Cannot use string since the value is used in transition conditions)?
Last edited by chintu on Mon Sep 18, 2006 9:22 am; edited 1 time in total |
|
Back to top |
|
 |
k4mik4z3 |
Posted: Fri Sep 08, 2006 5:36 am Post subject: |
|
|
Novice
Joined: 03 Aug 2006 Posts: 24 Location: India
|
I'm not sure about the solution to your problem but have something to say about this part of your statement -
"Cannot use string since the value is used in transition conditions"
I've created a process model with a String type field in one structure which is populated with NUMERIC values (not float type, only integer). I AM able to use this field for conditional branching using the operators >,<, <=, >= and it does branch out as expected based on its values. You could try it, although i dont know how it would work for float values.
edit : ok i dont think it would work as WF would probably round off the float value when doing a comparison  |
|
Back to top |
|
 |
hos |
Posted: Mon Sep 18, 2006 6:54 am Post subject: |
|
|
Chevalier
Joined: 03 Feb 2002 Posts: 470
|
Chintu,
I don't remember the details, but I know there is always rounding trouble when you use FLOAT's between 'System boundaries' like
Java <-> C++ <-> XML. And this is what happens here. Use a different data type e.g. two LONG's instead.
If you want the details, you can search the internet for more details about rounding problems with floating point numbers. |
|
Back to top |
|
 |
chintu |
Posted: Mon Sep 18, 2006 9:20 am Post subject: |
|
|
 Acolyte
Joined: 27 Dec 2004 Posts: 64
|
Thanks for you replies.
We have decided to use String instead of float and to use VALUE function for transition conditions.
VALUE
Function that converts a string representation of a number to it's numeric equivalent. For example the following evaluated to be true. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|