For this project, the client was looking to collect a few types of data to be displayed/stored with a centralized service. The pieces that I assisted with were related to Labor data, and Cash Management data.

For labor data, the challenge was due to the use of Micros’s cloud services (specifically Micros myLabor), which do not store data in the local database. By reverse engineering the Clock in/out process a bit, I was able to determine that myLabor did touch the database in one place: the micros.emp_status table, where it changes the emp_status field from “I” to “O” and back (In or Out). Using a trigger, we could then grab the employee, the time, the job, and whether or not they clocked in or out, and pass it off to an external process.

For Cash Management, it was more of a question of digging backward into Cash Management and its many database tables to determine where the useful data is. In our case, we wanted the status of the server banks (how much they’ve collected, when cash needs to be pulled, and such), which all lies within the micros.cm_transaction_dtl table. Selecting the rows that relate to that employee (using micros.cm_employee_receptacle_assignment table to find the receptacle), that have a transaction_type of 15, and adding or subtracting the items based on the server bank definition (micros.cm_calc_item_dtl, where shift_operation “0” is added, and “1” is subtracted) to get the current total.

Leave a comment