Removing Weekends
Gassett, Chris
gassett@aavid.com
Wed, 27 Jan 1999 11:03:33 -0500
I am trying to remove the weekends with a calculation to give me the exact
number of actual working days between two dates. The following code I am
attempting to develop is to replace the latter set of code below which is
really bulky. This was written in quiz on an HP9000 running an Oracle
database.
;*****
> define prompted_start_date date = &
> parm prompt "STARTING DATE: "
>
> define prompted_end_date date = &
> parm prompt "ENDING DATE: "
>
> define total_days num*8 = &
> days(prompted_end_date) - days(prompted_start_date)
>
> define work_days num*8 = &
> round((total_days / 7 * 5), 0, up)
;*****
DEFINE STARTDATE2 DATE = DATE-SENT
DEFINE ENDDATE2 DATE = ENG-DATE-SENT &
IF ENG-REJECTED < 19950101 &
ELSE ENG-REJECTED
DEFINE SDATE2 NUM*5 = DAYS(STARTDATE2) &
IF STARTDATE2 > 19950101 &
ELSE DAYS(SYSDATE)
DEFINE EDATE2 NUM*5 = DAYS(ENDDATE2) &
IF ENDDATE2 > 19950101 &
ELSE DAYS(SYSDATE)
DEFINE DAYSTART2 NUM*1 = MOD(SDATE2, 7) ;Starting day, ie. 1 = Monday
DEFINE DAYEND2 NUM*1 = MOD(EDATE2, 7) ;Ending day, ie. 5 = Friday
DEFINE DIFF2 NUM*3 = EDATE2 - SDATE2
DEFINE WEEKENDS2 NUM*2 = 18 IF DAYSTART2 <= 2 AND DIFF2 >= 62 &
ELSE 20 IF DAYSTART2 >= 3 AND DIFF2 >= 66 &
ELSE 16 IF DAYSTART2 <= 2 AND DIFF2 >= 55 &
ELSE 18 IF DAYSTART2 >= 3 AND DIFF2 >= 59 &
ELSE 14 IF DAYSTART2 <= 2 AND DIFF2 >= 48 &
ELSE 16 IF DAYSTART2 >= 3 AND DIFF2 >= 52 &
ELSE 12 IF DAYSTART2 <= 2 AND DIFF2 >= 41 &
ELSE 14 IF DAYSTART2 >= 3 AND DIFF2 >= 45 &
ELSE 10 IF DAYSTART2 <= 2 AND DIFF2 >= 34 &
ELSE 12 IF DAYSTART2 >= 3 AND DIFF2 >= 38 &
ELSE 8 IF DAYSTART2 <= 2 AND DIFF2 >= 27 &
ELSE 10 IF DAYSTART2 >= 3 AND DIFF2 >= 31 &
ELSE 6 IF DAYSTART2 <= 2 AND DIFF2 >= 20 &
ELSE 8 IF DAYSTART2 >= 3 AND DIFF2 >= 24 &
ELSE 4 IF DAYSTART2 <= 2 AND DIFF2 >= 13 &
ELSE 6 IF DAYSTART2 >= 3 AND DIFF2 >= 17 &
ELSE 2 IF DAYSTART2 <= 2 AND DIFF2 >= 10 &
ELSE 4 IF DAYSTART2 >= 3 AND DIFF2 >= 10 &
ELSE 2 IF DAYSTART2 <= 2 AND DIFF2 >= 6 &
ELSE 2 IF DAYSTART2 >= 3 AND DIFF2 >= 3 &
ELSE 0
DEFINE QUE2 NUM*3 = DIFF2 - WEEKENDS2
;*****
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Subscribe: "subscribe powerh-l" in message body to majordomo@lists.swau.edu
Unsubscribe: "unsubscribe powerh-l" in message to majordomo@lists.swau.edu
powerh-l@lists.swau.edu is gatewayed one-way to bit.listserv.powerh-l
This list is closed, thus to post to the list, you must be a subscriber.