Focal Point
[SOLVED] Statement for Late and Late by 60 Minutes Recognition

This topic can be found at:
http://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/4877067496

November 05, 2020, 08:11 AM
StacyF
[SOLVED] Statement for Late and Late by 60 Minutes Recognition
I am trying to write an if statement with 2 conditions.... one of them being if it has been longer than 60 minutes and the other condition is that it is "late". Example, I am trying to determine when shipments are late over an hour but I don't want it to count when shipments are early, just when they are late. Here is the equation I had originally buts its counting when shipments are greater than 60 minutes early as well:

IF HDIFF ( SHIPMENT_INDIVIDUAL_MOVE_COSTING.LOAD_DATE_FIELDS.SL_LD_DROP_ACTUAL_DATE , SHIPMENT_INDIVIDUAL_MOVE_COSTING.LOAD_DATE_FIELDS.SL_LD_DROP_APPT_START_DATE , 'Minute' , 'D6' ) GT 60 THEN 1 ELSE 0

Any assistance or thoughts are appreciated.... I feel stuck

This message has been edited. Last edited by: FP Mod Chuck,


Agree
November 05, 2020, 12:56 PM
FP Mod Chuck
Stacy

Is this IF part of a DEFINE? Also how do you detect Early from Late is that another field?


Thank you for using Focal Point!

Chuck Wolff - Focal Point Moderator
WebFOCUS 7x and 8x, Windows, Linux All output Formats
November 05, 2020, 01:18 PM
John_Edwards
Compare using an HADD instead. I don't fully understand your fields and logic, but the pseudo-code would be like this --

If HADD(Start_Date, 'Minutes', 60) < Actual_Date THEN 1 ELSE 0;

That is, if the start date plus 60 minutes is still less than the delivery date, it's late.

I don't have a WF manual available, so that's an estimate of what the HADD function looks like!

This message has been edited. Last edited by: John_Edwards,



November 06, 2020, 07:03 AM
Frans
Your Function is OK, although I would use the simplified DTDIFF(SL_LD_DROP_ACTUAL_DATE , SL_LD_DROP_APPT_START_DATE , MINUTE) instead to optimize SQL. 60 min early would be -60 so that wouldn't pass your GT 60 condition.


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.
November 06, 2020, 11:08 AM
StacyF
This is part of a define. I am currently not detecting early from late in another field. I can physically look and see if something is early or late from the dates shown but I do not have an equation setup (other than the one I wrote above) that detects early vs late.


Agree
November 06, 2020, 11:08 AM
StacyF
quote:
Originally posted by John_Edwards:
Compare using an HADD instead. I don't fully understand your fields and logic, but the pseudo-code would be like this --

If HADD(Start_Date, 'Minutes', 60) < Actual_Date THEN 1 ELSE 0;

That is, if the start date plus 60 minutes is still less than the delivery date, it's late.

I don't have a WF manual available, so that's an estimate of what the HADD function looks like!



I will give this a try thank you!


Agree
November 06, 2020, 11:09 AM
StacyF
quote:
Originally posted by Frans:
Your Function is OK, although I would use the simplified DTDIFF(SL_LD_DROP_ACTUAL_DATE , SL_LD_DROP_APPT_START_DATE , MINUTE) instead to optimize SQL. 60 min early would be -60 so that wouldn't pass your GT 60 condition.


Thank you! I will give this a try!


Agree