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



Thanks all, Luis for the doc refererence.

I'd already changed it to

If ClientBirthDate > ContractStartDate AND
%subdt ( ContractStartDate : *YEARS) -
%subdt ( ClientBirthDate : *YEARS) <=20;

Which I thought was more readable


2012/5/18 Monnier, Gary <Gary.Monnier@xxxxxxxxx>

Dave,

Maybe you need to go at it from a different angle. Can you add 20 years
to the ClientBirhtDate? Something like this?

// Check if client was aged under 20
If = ( ClientBirthDate + %YEARS(20) ) <= ContractStartDate;


Gary Monnier


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Dave
Sent: Friday, May 18, 2012 3:50 AM
To: RPG programming on the IBM i / System i
Subject: more rpg maths

Hi all,

Even after reading the wonderful post re:EVAL(H) question at
http://archive.midrange.com/rpg400-l/200908/msg00069.html , I'm not sure
about this one :

// Check if client was aged under 20
If = %subdt ( ContractStartDate : *YEARS) -
%subdt ( ClientBirthDate : *YEARS) <=20;

If the client is born AFTER the contract start date, I get an MCH1210.

Someone told me it's because RPG will create a temporary variable of the
same type as the operators to contain the result, ie, an integer, so as the
result is negative, it crashes.

I can get round my problem with %INT but I'd like an official confirmation
or explanation if possible. Anyone know where I that might be documented?

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

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

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.