Given the value ' .1525', when I compare it to *ZERO using the
instruction If %TrimL(Field) > *ZERO, the compare fails.
As Stephen said, the problem here is you are doing a character comparison,
not a numeric comparison. It is like saying:
If '12345' > '234';
That would also "fail", because the leading character '1' is less than the
leading character '2'. In both EBCDIC and ASCII, the period is a lower
collating sequence than the zero character. Thus '.1525' is "less than"
anything which starts with a '0' character. For the same reason, a field
with '0.1525' is "less than" a field of '00' because the second byte is
lower in the collating sequence.
You really need to compare the numeric value of the character field, not
character contents of the field, even when trimmed.
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,
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives