Ok, there's something wrong. The nulls in the clock_out_status & clk_out_date_tm fields, and the 2,187.34 regular hours, show that this employee isn't clocked out. Also, the M in the clock_in_status means "manager clock out", indicating that the clock-in time was adjusted in manager procedures; Micros doesn't assign that code to clock-ins automatically, it has to be selected from the manager procedure reason box.
There are a lot of things that are linked together, and a lot of table updates made through POS Operations and backoffice applications, so making status changes through SQL isn't a good idea unless you know all the ramifications and are sure that the data is incorrect, which doesn't happen often. Updating an employee's clock-in status doesn't clock the employee out, it just sets a flag - in this case incorrectly. I just messed around with this on my test system and it did a fairly good job of banging things up by telling the system that the employee was clocked out but not setting a date & time for the clock out. This left the clock out time in manager procedures blank, but it also couldn't be adjusted. The good thing here is that the employee doesn't have any clock-ins since this one so we can still adjust the last shift.
Here's what I'd recommend:
1) run this code in SQL
Code:
UPDATE micros.emp_status
SET tm_clk_status = 'I'
WHERE emp_seq = 916;
commit;
2) Go into manager procedures time card adjustments and select this employee. You should get a prompt asking if you want to clock the employee out, answer Yes. Set the clock-out date & time back to some time on 5/8/2014 after 4:00am. Save and close.
3) Run this in SQL
Code:
call micros.sp_purgehistory();