Jerry,
I think %diff returns type duration by default unless it's assigned to a
numeric data type. If you cast the result as a number, it should work:
IF %int(%Diff(Cur_Time:Last_Time:*Minutes)) > 60
Tom Armbruster
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of
GKern@xxxxxxxxxxxxxxxx
Sent: Wednesday, January 16, 2008 10:44 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: %Diff question
The infocenter states the following for %Diff:
"The result is rounded down, with any remainder discarded. For example,
61
minutes is equal to 1 hour, and 59 minutes is equal to 0 hours."
I have the following statement in a program where cur_time is 12:38:15
and
last_time is 11:38:15.
C IF %Diff(Cur_Time:Last_Time:*Minutes)
60
Using the interpretation from the infocenter cited above, does that mean
that the %Diff would be 1 *Hour instead of 60 *Minutes?
The reason I ask is that for some reason the code that should execute
never does and therefore there must be something wrong with that
condition
as coded (and I don't know how to or if I can view the value of %Diff).
Could it be that the compiler is rounding up to 1 hour and therefore
minutes is never greater than 60? Or (in other words) is >60 a valid
value
for use with *Minutes?
Comments?
Regards, Jerry
Gerald Kern - MIS Project Leader
Lotus Notes/Domino Administrator
IBM Certified RPG IV Developer
The Toledo Clinic, Inc.
4235 Secor Road
Toledo, OH 43623-4299
Phone 419-479-5535
gkern@xxxxxxxxxxxxxxxx
This e-mail message, including any attachments, is for the sole use of
the
intended recipient(s) and may contain confidential and privileged
information. Any unauthorized use, disclosure or distribution is
prohibited. If you are not the intended recipient, please inform the
sender by reply e-mail and destroy this and all copies of this message.
As an Amazon Associate we earn from qualifying purchases.