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 strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

SIM programming Micros 3700

Status
Not open for further replies.

RitwickGupta

Programmer
Aug 21, 2014
96
CA
Hello,

Is it possible to make a SIM script listen for a TxMsg without an RxMsg?

I mean normally we send something to the server using RxMsg and then the script listens for TxMsg. So the SIM script initiates the communication. I want the server to initiate the communication with SIM script. Is that possible?

Regards
 
No. Micros must always initiate if you are using PMS/SIM. The only way to have something initiate into Micros is via Transaction Services.
 
Yep, Micros must always ask first for info.

What exactly are you wanting to catch or receive?
 
I am trying to catch/receive two things

1. Open a check via an app

2. Pay an order via an app

I don't want to use RES POS api for this. Any ideas?
 
My mobile app will communicate to a small software on the POS, which will communicate to SIM script. That's the plan
 
What are you wanting to do on the Workstation side when the Check is created or a check is paid for? Because I cannot think of any instance that the workstation will process anything unless the user is there physically processing functions.
 
Well it can process things via SIM script, but I am looking for a way to trigger the SIM script remotely
 
Honestly I am not sure you can without the help of some 3rd party app mimicking button presses.

Not sure if you would be able to use something like AutoIt ( and fake mouse movements with button presses. Example, have the AutoIt script processed remotely, the script moves the cursor to X and Y location on the screen over button A, button A is configured to SIM 1 Inq 11, for instance. However, the button that is used will need to be on the main screen and other screens in the same place so that when the workstation is not in use the correct button is "Pressed".
 
You CANNOT do this with SIM. The closest you can get is to basically put a button on the workstation that the user can press to trigger a loading of the data and creating of the check, but you CANNOT 'trigger' a SIM externally; either that, or a SIM that runs in a polling method, using the Idle_No_Trans event. This would require a RES client running at all times, which was NOT in use. If anyone ever signed in on the RES Client, or the RES client was closed, the event would stop firing until they signed out/reopened the RES client.

What you're trying to do is exactly what the API was designed for, and is the only way to properly proceed. Anything else is a workaround.
 
SIM that runs in a polling method, using the Idle_No_Trans event"

What do you mean by that?
 
Event Idle_No_Trans

Syntax
Event Idle_No_Trans

· This event is used to run SIM scripts in the background, when POS operations are idle and no one is signed in. If an employee should sign in, POS operations will not call the Idle_No_Trans event until they sign out again.

· The frequency at which the SIM script is called is determined by the @Idle_Seconds variable.

Event Idle_No_Trans Example
The following scripts will initialize the @Idle_Seconds system variable, and then the Idle_No_Trans event be called 10 times before it stops the procedure.
Code:
var count : N5
event init
    //Set to call Idle_No_Trans every 5 seconds
    @Idle_Seconds = 5
    count = 0
endevent

event Idle_No_Trans
    count = count + 1
    waitforclear "Idle_No_Trans: count", count
    //If we’ve done this 10 times, stop the idle call.
    if count > 10
        @idle_seconds = 0
    endif
endevent
 
You could use this to query your PMS service for new checks, and then create them. It would not be instantly in sync, but you could setup your @Idle_Seconds very low and achieve something with very little lag. Again though, this is at best a workaround.
 
But this won't work if someone (a waiter) is using the POS, am I right?
 
Correct. You'd have to setup a dedicated machine just to run your SIM. ANd even then if the SIM ever crashes youd never know.
 
@Moregelen, did you mean to post the full folder or single file?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top