|
Mike,
Your character field actually gets translated into a 13.0 decimal
field. In order for the character field to be converted to a 13.4 decimal
you have to have a decimal character marker in the character string (ex.
'000102300.0000'. The manual is some what misleading on this point. To run
time place a decimal point in the string just substring and concatenate the
string as the argument to %dec().
Example,
%dec(%subst(fld13:1:9)+'.'+%subst(fld13:10:4):13.4))
Thank you,
Matt Tyler
WinCo Foods, LLC
mattt@xxxxxxxxxxxxxx
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Mike Wills
Sent: Friday, May 27, 2005 8:03 AM
To: RPG programming on the AS400 / iSeries
Subject: The target for a numeric operation is too small to hold the result.
I have a question on this that is confusing for me. I have a value in a
character field that is defined as 13 long. This field holds a numeric value
that converts into a 13,4 decimal value. Here is what is in the variables:
Host field - REC_ENTERED_RECIEVED_QUANTITY = '0001023000000'
Receiving field - DMRLENRCQT = 000005760.0000 (Note this isn't cleared
between writes so there is the value from the previous write in the value)
Here is my code:
dmrlenrcqt = %dec(Rec_Entered_Recieved_Quantity:13:4);
Is there anything obviously wrong here? If there is, I am not seeing it.
More than likely I am misunderstanding how %dec works.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.