Part 1 - Time and Attendance

I’ve just completed some nice functions for the Time and Attendance (TaA) application I have been writing for work. We probably could have used a generic package and with some minor tweaks adapted for our use, but being the super developer I am I decided to just write the thing from scratch, I already had the backend table and data structures from my college who wrote the original application for our IBM AS400 system (which is due to be decommissioned [has been since 2007])

The bulk of the TaA system has been written, but little niggling features I wanted to add have taken longer than expected to develop (mainly because I’ve gotten lazy) Today I finished testing the Public Holidays module (which in itself doesn’t sound very exciting nor very complex) As I am currently entering everyone’s timesheets on a monthly basis (until I train another member of staff and hand the process back to them) I have found it very annoying having to constantly enter bank holidays (especially when the member of staff has not taken any other kind of special day in that month) What the public holidays module allows me to do is define dates and where applicable mark them as reoccurring (e.g. 25th December) when I then come to enter a new timesheet for an employee the application automatically checks and marks off any days it thinks should be holiday, the operator can still manually override this and mark the employee as “working”.

It should save whoever is entering the timesheets quite a bit of time (for the moment that means me) so as you can guess I’m a real big fan of this module.


  1. What about when the 25th December is on a weekend?

    (I work with T&A systems every day and happened across your blog...)



  2. Hi Alastair,

    I assume we are specifically talking about 25th December 2010? I’ll leave you decide if it gave me problems or not (the fact I know it falls on a Saturday in 2010 may be an indication)

    As our TaA system has been written from the ground up for our needs (we do not work weekends) weekend public holidays where not a problem, the system simply does not subtract 1 day holiday from the employee. However I did include optional parameters (b_SaturdayWorkingDay and b_SundayWorkingDay Booleans) so should we ever decide that staff will work on either a Saturday or Sunday we can turn these options on. If a bank holiday would then fall on a weekend it would work as normal and subtract a days holiday from the employee.