×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
this is untested as I am away from my desk, but give this a try:
#CYRP = %DECH(Work299 - (%DEC(Work299/100:27:0)*100):2:0);
or some variant thereof.
Brian May
Project Lead
Management Information Systems
Garan, Incorporated
Starkville, Mississippi
Young i Professionals
http://www.youngiprofessionals.com
"sjl" <sjl_abc@xxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
06/09/2009 02:25 PM
Please respond to
RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>
To
rpg400-l@xxxxxxxxxxxx
cc
Subject
RPGIV - Ignoring decimal precision rules
Please don't ask WHY I need to do this. I just need to know if it is
possible. I have a packed field named WORK299 that is defined as 29.9,
and
another packed field named #CYRP that is defined as 2.0.
I know that I can use traditional RPG like this:
C Z-ADD WORK299 #CYRP
and I will get the 2 least significant digits of WORK299 into the field
#CYRP (it will truncate the leading digits of WORK299).
Is it possible to achieve a similar result (truncation of leading digits)
in
free-form RPGIV?
When I tried:
#CYRP = %DECH(WORK299 : 2 : 0)
This statement works if the value of WORK299 is 99 or lower, but if
WORK299
contains a value greater than 99, I get MCH1210 - 'Receiver value too
small
to hold result'.
Thanks,
sjl
As an Amazon Associate we earn from qualifying purchases.