Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Micros 3700 Clock In hook

Status
Not open for further replies.

HKLord

Programmer
Aug 17, 2012
9
US
Hello all!

I'm new here, and have recently been thrown into the deep end of the pool with assisting on writing an application to allow us to clock employees into micros from an external source.

What we need to do is :
1. Create a tool to allow us to open an external website (the pay tracking and scheduling site) pass the employees user ID or other unique key to the remote system.
2. Check the schedule to make sure that person is scheduled to work (done)
3. Check several other status (address, messages etc...) (done)
4. Return in formation to the Micros system that triggers the clock in on the system (easy enough)
5. Trigger the clock IN on micros with the employee's information (this is where the problem is)

On #5, there seems to be some series of triggers or functions that I've not been able to find that actually handles the clock IN on the micros systems. Clock OUT is easy, we've had no problem with that one, it's just the clock IN sequence...

Anyone have some rather detailed guidance?

Thanks!
 
If you're using Labor Management or any fo the scheduling options, then there may be more to it than this, but here are a couple of ideas ... one updates the db directly, and one uses SIM/ISL to automate the clock-in. If you can get the db solution working, it would probably be preferable. In either case, I think you'll need to query the db for current clock-in status at least.

DB
sp_ClockOutInEmployee can be executed by the support user and almost does what you want. I'm not sure why there isn't an existing sp_ClockInEmployee, but it looks pretty straightforward. Reviewing it should give you a general idea of how to go about checking clocked-in status and creating a new timecard record for an employee.

SIM/ISL
If using SIM, you could try a polling solution using the Idle_No_Trans event. This event fires every @Idle_seconds as long as nobody is signed in and nothing is happing in OPS. You could then query a status file, db, or remote server for the employee ids that need to be clocked in. This seems fussy though...you'll have race conditions to deal with if you're processing the same data source for the employee info, you'll inevitably have skew on the clock-in time if the polling is off (someone is signed-in to OPS where the script is running), and so on. But for what it's worth, you'd probably start with something like this:

Code:
Event Init
    @Idle_Seconds = 1
EndEvent

Event Idle_No_Trans
    // The MakeKeys help shows Key(11,833) as a valid keycode combo for ClockIn...which seems weird (and is untested at any rate)    
    var clockin_key: Key(1,655368)
    var emp_id: A10 
    // Get the emp_id...parse a text file, query a db or remote server...
    //...

    // Clock-In macro...what if the employee has multiple job choices?
    LoadKyBdMacro(clockin_key, MakeKeys(emp_id), @KEY_ENTER)

EndEvent
 
Thanks, that has started me in the right direction!
Now, since I get to learn this scripting language, does anyone have a copy of the 3700 System Interface Module (SIM) User’s Manual? I found the SIMHelp.chm and the other generic documentation right where it is supposed to be, but no luck on that SIM Users Manual.

Thanks!
H
 
You should have a Documentation directory and find 3700SIMComp_Man.pdf in it. If it's not there, you may want to reinstall your dev system and make sure to include the documentation.
 
3700SIMComp_man is not in the directory. We also checked on several of the deployed systems to no avail. I found a copy online, but am still following up with Mircos to get a legit copy. I do not have installation disks or anything else, as the systems were set-up by our rep/vendor/reseller.

I'm about 1/2 way to understanding the sample ISL that I located for the generic Clock-In and Clock-Out process. I'm sure after I read the actual SIM Module Manual I'll get it, but there are a lot of calls and commands that I have no definitive reference for yet.

I did find some references on the site... thanks to Mike Rose for the MDSSysUtilsProxy.dll post...

Is the 3700SIMComp_Man covered under the NDA as well? If not, anyone have a copy that I could DL?

Thanks!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top