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



If you're shooting for a one line solution, should use %dec rather than
%int. System generated integer to hold intermediate value might truncate
FieldA. Something like this:

FieldB = %rem( %dec( FieldA :25 : 0 ) : 1000000000 ) ;

%dec( FieldA : 25 : 0) casts the original value in a format acceptable for
the %rem function, dropping the decimal places which are immaterial to the
solution (FieldB is 9.0)

The %rem function will always returns the least most significant nine
digits with the given divisor(1,000,000,000). If the number is less than
one trillion , no high order value truncation takes place. No substring
operation is needed.

I prefer the explicit test for clarity.

On Wed, Jan 16, 2013 at 5:19 PM, Booth Martin <booth@xxxxxxxxxxxx> wrote:

I Can we do just these two lines?? Or do we still get the "Receiver too
small"?

D valuelimit S 10s 0 inz(1000000000)
...
/free
....
FieldB = %rem(%int(FieldA): valueLimit);
...
??

I would think one would still need a %subst() in there somewhere, to get
from 25 to 9.

FieldB = %dec(%subst(%char(%rem(%int(
FieldA)): "last 9 characters")))


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.