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