×
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.
I believe %abs() returns a floating point. You might try wrapping it to
cast to int.
Weight = 10 - %int(%abs(lenpk - lenrd)); // or %inth() depending on your
needs
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Alan Addison
Sent: Thursday, July 05, 2012 8:34 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Field to small to hold result
I have the following procedure:
PMyProc
DMyProc PI 5i 0
D*
D Weight S 5i 0
D lenpk S 5i 0
D lenrd S 5i 0
C*=======
/free
.
Stuff
.
Lenpk = %len(%trim(FieldPK)); // gives 25 in debug : FieldPK is a db
field as is FieldRd
Lenrd = %len(%trim(FieldRD)); // gives 12 in debug
Weight = 10 - %abs(lenpk - lenrd); //Would have thought -3 but ....
crashes
.
More stuff
.
Return weight;
/end-free
Program goes into defib with the above mentioned error at the Weight =
statement
I thought it might be in the %abs(lenpk - lenrd) but I split that off as
a separate calc and it did not complain at it.
Any ideas?
Alan Addison
AHA Software
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.