Domino Code Fragment

Code Name*
Increment Elapsed Business Days without Company Holidays
Date*
07/12/2000
Source (or email address if you prefer)*
jsaiden@yahoo.com
IP address:.12.42.51.50
Description*
This agent increment elapsed business days without company holidays counted in. The formulae is simple and you can plug n play right away. Just remember you need a fields such RecvDate, HolidayCounter and Elapsed Days in the main form. And if your company does have db which has a listed holidays values in a document the below agent is good to go right away. Also, you can create a field the same document which will store company holidays dates and then you match with this dates field. Have Fun!!!!!
Type*
Formula
Categories*
Date/Time Handling
Implementation:
None (plug and play)
Required Client:
(none)
Server:
(none)
Limitations:
Comments:
Files/Graphics attachments (if applicable): Code:
SELECT Form = "Form" & @Contains(Status ; "Opened" : "Pending");
FIELD RecvDate:=RecvDate;
FIELD HolidayCounter:=@If(!@IsAvailable(HolidayCounter);0;HolidayCounter);
tmp:=HolidayCounter;
tem:=tmp +1;

StartDate:=RecvDate;
EndDate:=@Date(@Today);
ClassCache := "Notes" : "NoCache";
ServerDatabase := "NJSERVER1//SERVER//Lotus":"NJ\\CASE.NSF" ;
View := "LU_Holidays";
Key := "Holiday List";
Column := 2;
REM;
List := (@DbLookup(ClassCache; ServerDatabase ; View; Key; Column));

temp1:=@Date(@Today);
@If(@IsMember(@Text(temp1);List);@SetField("HolidayCounter"; tem);tmp);
t1:=@If(@IsMember(@Text(temp1);List);@Return("");tmp);


diffDays := (EndDate - StartDate) / 86400;
strtDay := @Modulo(@Weekday(StartDate); 7);
endDay := @Modulo(@Weekday(EndDate); 7);
weekdays := (diffDays - endDay + strtDay - 7) * 5 / 7 - @Max(-2; -strtDay) - @Min(1; endDay) + 5 - strtDay + endDay - t1;

@SetField("ElapsedDays";weekdays)