You had a look at R6 and the overhaul of the formula language. Nice updates. For calculation of working days @Businessdays...
replaces a lot of legacy script... However your client base is on R5. Don't worry you can have it in R5... Thanks to the power of lists.
R6: tmpWeekEnd:= 1:7; tmpHolidays := [01/01/2003] : [15/01/2003] : [16/02/2003] : [28/05/2003] : [04/07/2003]; @BusinessDays(FirstDay; Lastday;tmpWeekEnd;tmpHolidays) R5: tmpWeekEnd:= 1:7; tmpHolidays := [01/01/2003] : [15/01/2003] : [16/02/2003] : [28/05/2003] : [04/07/2003]; REM "Create a textlist that contains all days in the period"; tmpDatelist := @Text(@Explode (@TextToTime(@Text(Firstday)+" - "+@Text(Lastday)))); REM "Replace the holidays out of the list"; tmpNoHolidays := @TextToTime (@Trim(@Replace(tmpDatelist; @Text(tmpHolidays);""))); REM "Remove Weekends"; tmpWeekdays := @Text(@Weekday (tmpNoHolidays)); tmpWorkdays := @Trim(@Replace (tmpWeekdays;@Text(tmpWeekEnd);"")); @Elements(tmpWorkdays)