|
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-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.