Timeclock Programs This account describes a set of programs that allow a person to check in and out of work using the computer rather than a time clock. As it stands right now, it assumes a pay period of two weeks. I see no reason why it shouldn't work for pay periods of some other time interval. It expects the employee to check in to work in the morning and back out when leaving work for the day. It does not expect you to check out and in for lunch. The length of each person's lunch period is assumed to be constant from day to day but can be changed and may be different for each employee. There are three types of leave status that a person may place himself on: Annual Leave, Sick Leave, or Travel Status. In addition, the attendance secretary has two additional categories: Holiday and Leave without pay. Travel is treated as a type of leave but in accumulating hours worked is added to the number of hours worked. Every holiday, the computer should automatically place the person on holiday status. The system allows a person to go onto some kind of leave status a maximum of two times during one day in addition to the regular work status. The system consists of the following programs: I. ATE - Program used by employees to check in or out. It is installed so that to use it, all that has to be done is to say ATE and Carriage Return. As each person checks in or out, it will ask for that person's number. When it verifies the number as being valid, it displays the options from which the employee chooses one. If the terminal is a VT-100 compatible terminal, it will then clear the screen and leave it with one line on the screen saying what is your number so that it is all ready for the next person who comes along. In case you don't have a VT-100, the program will still work. The only problem that is slightly objectionable is that it leaves a half a dozen strange looking characters on the screen after each person checks out. Also each person can see who checked out before him and what his code number is. To terminate the program, enter a negative number when it is expecting some person's ID number. II. MAI - For changing any entry in an employee's records. For use by the secretary having responsibility for maintaining attendance records. In order to use, the secretary gives the command: MAI NAME. The name can be first, last, or any portion of the person's name that distinguishes him from anyone else. It can be upper or lower case. When the command is given, two weeks of the person's attendance record is displayed and using the arrow keys, carriage return, and PF keys whose special use in this case is described, can move the cursor to any number and make changes in spread sheet fashion. For this program, the terminal must be a VT100. For the other programs, you could use any kind of terminal. If the secretary wishes to call up the records for a previous pay period, she just gives the command: MAI The program will then ask for the name of the person whose records are desired and then ask which pay period is desired. (This one, previous one, etc.). In this way, the secretary can make any changes that are needed for any employee for any pay period. III. UPDATE Runs automatically every night and does the following: 1. If a person checked in but not out, prints a little message to that effect. 2. If a person is on some kind of leave status, it assumes that he will continue on that status, checking him out at 5:00 and in for the next day at 8:00 AM. If this is not the case, the system will automatically remove him from this status when he checks into work the next morning. 3. If you failed to check in on this day or place yourself on any kind of leave status, it places you on an error status so that when you check in the next day, it gives you the message: "Failed to check in the previous day. See the timekeeper." IV REP - Gives a report of any employees attendance times for each day plus totals. To use, give the command: REP NAME or REP ALL Name is any portion of a persons name. Use ALL if want report on all workers which is automatically spooled to a printer. If you just say REP followed by carriage return, it will ask you several questions allowing different options. V. ADDNAM - Allows you to add, delete, or change names; enter holidays for the year, list holidays that have been stored, change the usual length of any persons lunch period. Other Notes The program UPDATE must run automatically every night after the last person has left. In order to do this, install it and give the command: RUN UPDATE 23:00:00/RSI=24H Of course, this command along with the install command should be a part of your startup procedure. When you first start using the system, you must tell it the beginning of a pay period. Run the program ADDNAM and choose the option for setting the date. The date you enter must be a Sunday and not more than two weeks previous to the current day. It has to be a Sunday because the system keeps track of the day of the week based on this point and doesn't allow someone to check in on a Saturday or Sunday. If your pay period is greater than 2 weeks, the system should work. The only problem that I forsee is that it will show your standing in two week intervals and the reports you get when you run REP are in two week intervals. You can get a report for longer periods of time by asking for this pay period, then the previous pay period, etc. Once you have given the system the beginning day of the pay period, you should never have to do it again. The program update advances it every two weeks automatically. When entering a date, enter it as month, day, year. For example, the day, May 18, 1984 should be entered as 5 18 84. There are no special comments on compiling each program except ignore any error message of the type "Possible modification of Index ...". There is a command file for task building each program so that all you have to do is say: @Program Name We use TT5: as our printer, so that any references to TT5: should be changed to correspond to your printer. The command file for each program references a Fortran resident common region. You may have to delete this, or change it to correspond to your own situation. As the programs now stand, there is a maximum of 56 names. It should be fairly easy to modify this making possible more names but if you add a lot of names, you will run into another problem. The feature that allows you to use any portion of a person's name in the programs MAI and REP, means that the program must scan through all names to find the name. If you have a lot of names, this begins to take longer than one likes and you would probably want to throw out this feature, alphabetize the names, and force the program to use the last name only so that you can make a binary search rather than search every name. A data file with one name on it has been left for you to serve as a beginning point when you add the names from your installation. Add at least one name, before you remove the name that is already there. If you list the names and length of lunch period using the program Addnam, you will see names listed that you think you deleted. Don't wory about them. They have been deleted. As you add new names, these names will be replaced with the new ones. In each of the four programs, ATE, MAI, UPDATE, and ADDNAM, there is an OPEN statement with reference to the data file [200,2]CHECK.DAT. Be sure to replace the account number 200,2 with the account number where you are placing the data file. Also, since the ATE program is assumed to be useable from any terminal, irregardless of the account the person is in, the file must be given privilege rights so that all the world can access it. Do this by giving the command: PIP [200,2]CHECK.DAT/PR/WO:RWED Also, the directory in which the account is placed must be given the same privilege rights. For example, if you placed the file in account, [200,2], the command would be: PIP [0,0]200002.DIR/PR/WO:RWE The offsets for each record in the file CHECK.DAT are described in a file called CHECK.TXT. When we originally conceived the idea of using the computer to check in and out, we thought it would be nice to use a micro terminal about the size of a calculator that could be mounted on the wall. Accordingly, we bought one from Burr-Brown in Tucson, Arizona that allowed you to use numbers zeroe through nine, letters A through F, and 7 user definable function keys. We later abandoned the use of the micro terminals because it tied up one port on the computer which was needed for a CRT. It is also impossible to send any meaningful error message back to the person checking in. Somebody else, might not have these objections and for them, the micro terminal approach would be fine. There is one feature which is not present now but could be necessary. If employees other than the secretary learn how to use the MAI program, they could defeat the whole system. The way to block this is to force a password to be entered when MAI is used. Maybe by next year, this will be incorporated and if that is the case, I will place this set of programs on the Decus tapes next year for your benefit. Before you call me to tell me the thing doesn't work, be sure of one thing. If you made any change in a person's attendance record using the MAI program, be sure that you not only had the hours correct and the symbol for the type of leave correct but also, the current status correct. Written by Raymond Willis U. S. Forest Service Route 2 Berea, KY 40403 606-986-8431