|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Issues with Integer Data Type in MB6 |
« View previous topic :: View next topic » |
Author |
Message
|
vk |
Posted: Sun Mar 11, 2007 9:12 pm Post subject: Issues with Integer Data Type in MB6 |
|
|
Partisan
Joined: 20 Sep 2005 Posts: 302 Location: Houston
|
Hi,
I have a delimited structure at the output side of an interface. I have defined a message set with a complex type as 'All Elements Delimited' having all the required elements defined within it, which includes Integer, Decimal and String data types. The property 'Obeserve Element Length' is not selected for the type.
In the message flow, when I assign a value such as 100 to the Integer field, it comes correctly at the output as shown below -
ABC,DEF,100,IJK,LMN
But when I assign 0 to the same field, the value never comes in the output.
ABC,DEF,,IJK,LMN
For some reason, the leading zeroes for an Integer field in the MRM tree are getting trimmed before the output stream is written. Even if the value assigned is 00000, the output is blank.
I noticed a similar issue with Integer fields in Fixed Width structures. For Integer fields defined with a padding character of SPACE and default value of '0', even though I map '0' explicitly in ESQL, the output is all SPACES. Same is the case when I do not do any mapping in ESQL.
Shouldn't the default value of '0' be assigned first before it is padded with SPACES to make it of the defined length?
Why should the parser trim leading zeroes for Integer and Decimal fields at the output side? Extra Spaces in String fields do not get trimmed.
Has anyone faced these issues?
Thanks,
VK. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Mar 12, 2007 2:16 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Which version and FixPack? |
|
Back to top |
|
 |
vk |
Posted: Mon Mar 12, 2007 2:24 am Post subject: |
|
|
Partisan
Joined: 20 Sep 2005 Posts: 302 Location: Houston
|
Hi Kimbert,
Broker is 6.0.0.3 (Message broker 6.0 with Fixpack 3).
Thanks,
VK. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Mar 12, 2007 2:48 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Sounds like a defect. If I had the time I would try this out myself. Have you proved this beyond all reasonable doubt by inserting a Trace node just before the output node to check the value of your integer field?
And have you found a work-around for now? |
|
Back to top |
|
 |
vk |
Posted: Mon Mar 12, 2007 3:04 am Post subject: |
|
|
Partisan
Joined: 20 Sep 2005 Posts: 302 Location: Houston
|
I am planning to raise a PMR with IBM. I tried with a Trace node, the 0 is present in the trace file, but is not present in the message which goes to the output queue.
The only workaround I could think of is to define the output field as STRING, do a casting in ESQL and then do the assignment so that the trimming of zeroes does not happen.
I found the same issue to be happening with DECIMAL fields also. When I assign 0.0 to a DECIMAL field defined with a precision of 2, the output is 0.00. But if I assign map 0 in ESQL, then the output becomes .00. The 0 before the DECIMAL point is getting trimmed. Same way, 009.56 is becoming 9.56. But for a delimited structure, should this trimming happen?
Also, I found that the precision of the decimal field is always honored. Irrespective of the mapping I do in ESQL, I am always getting the 2 places after the decimal point at the output.
Please share if you find any additional information.
Regards,
VK. |
|
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
|
|
|
|