|  | 
 
  
    | 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 2004Posts: 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 2006Posts: 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 2002Posts: 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 2004Posts: 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
 
 |  |  |  |