|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Packed decimal in 2.0.2 |
« View previous topic :: View next topic » |
Author |
Message
|
meekings |
Posted: Mon Feb 25, 2002 11:40 am Post subject: |
|
|
 Voyager
Joined: 28 Jun 2001 Posts: 86 Location: UK, South West
|
Apparently there's a problem in 2.0.2 with packed decimal fields (something to do with being internally converted to float if they're longer than 6 digits?). Does anyone know:
1. An exact statement of the problem, its effects, and the circumstances under which it appears.
2. If a workaround or efix exists.
I've tried feeding a 7 digit number through a test flow on AIX, and the output looks fine.
_________________ Brian Meekings
Information Design, Inc. |
|
Back to top |
|
 |
zpat |
Posted: Tue Feb 26, 2002 12:36 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
There is something new in WMQI 2.1 regarding decimal number support. This may be worth looking into. |
|
Back to top |
|
 |
meekings |
Posted: Tue Feb 26, 2002 5:45 am Post subject: |
|
|
 Voyager
Joined: 28 Jun 2001 Posts: 86 Location: UK, South West
|
I'd heard that 2.1 fixed the problem, but don't want to upgrade yet unless I'm forced to by this problem. |
|
Back to top |
|
 |
meekings |
Posted: Tue Mar 19, 2002 1:10 pm Post subject: |
|
|
 Voyager
Joined: 28 Jun 2001 Posts: 86 Location: UK, South West
|
Packed decimal fields longer than 6 bytes (11 decimal digits) and zoned decimal fields longer than 11 bytes (again 11 decimal digits) are not supported in 2.0.2 - this is enforced by the Control Center.
Because we're always going big-endian to big-endian (AIX to MVS), and from a string representation of the number to packed/zoned decimal output, a workaround for this is as follows (assume a 14-character number - sign + 13 digits):
Packed decimal - split the field into a 1-byte integer (3 characters, because the first one is a sign) and a 6-byte packed decimal (11 characters); this looks to the remote end like a 7-byte PD.
Zoned decimal - split the field into a 3-byte string (only using the last 2) and an 11-byte zoned decimal.
Of course, you have to make sure that signs are carried forward appropriately. |
|
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
|
|
|
|