|
On 12/2/2010 1:35 PM, hockchai Lim wrote:
The feature that I'm speaking of is its ability to move a char string
into a
numeric field.
You want to put the raw bytes of a zoned decimal field into a character
field. Why would you want to do that? The only reason I can come up with
is "because we've always done that, and we've built an application around
that behavior."
If you must, you can certainly do that with data structures or an API like
memcpy(). Or you can write a procedure that you can use any time you need
to do it in the future, and just call it from everywhere.
But as a general "feature", I'd call it a misfeature. It seems to me that
there are two main reasons to convert a numeric field to character:
1) Data interchange... creating a file to send to someone else (EDI, XML,
WebService, etc.)
2) For a person to read in a message/report/web page, etc.
For data interchange, putting the field in human-readable format is much
better than raw zoned decimal. Why? Because, relatively few programming
environments understand zoned decimal. Some languages (such as C, for
example) might assume leading zeroes to mean that the number is octal.
Many/most programming environments won't understand negative numbers in
zoned format. (Some, such as the } character, might not even translate
reliably between character sets.) Plus, they have to assume a decimal
place based on external documentation instead of plainly seeing where the
decimal place is supposed to be.
Again, the only advantage of "zoned in char" is "because we're required to
by a customer" or "we've always done it that way, and it'd be hard to
change it now."
For human-readable fields, human readable format (with zeros suppressed,
decimal point added, negative numbers represented by the - symbol) is very
clearly, and obviously better.
So why would you want to use zoned-in-char? The only thing I can come up
with is because RPG/400 gave you little choice, and you (or someone else)
built a system around that.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.