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!

Micros 3700 v4.9 - Change Revenue Centre Feature Advice Needed Please 7

Status
Not open for further replies.

JonnyB82

IS-IT--Management
May 2, 2013
114
GB
Hi,

I haven't had the need to use the Change Revenue Centre Feature within Micros 3700 until now.

Just wondering if there are any Micros Sys Admins out there that use this feature that I could pose a couple of questions to?

Many Thanks
Jon
 
Hi Jon,

What questions do you have? If you post them here you'll probably get a few answers to choose from.
 
Hi,

I have enabled the following setting for the workstation I want to use on a mobile trolley:

Devices > User Workstation > Options > General > 'Allow Multiple RVC's'

also within the Employee Class for the managers that I want to use this function:

Employees > Employee Class > Clock In / Sign In > 'Allow use of change RVC key'

I was hoping that just this priveledged class of user could have the Category > 'Change Revenue Centre' key put on the Manager Touchscreen, so this would allow them to toggle between the two RVC's that the mobile till is planned to be used in.... with the eventual idea that this trolley could also be a backup to all 15 of our RVC's.

What seems to happen is that after assigning the WS to another RVC, when any users swipes their card to login, in a prompt is displayed saying 'Change to The New RVC Name' YES/NO..
If you say YES, then the WS switches to the new RVC, BUT if you say NO as a std Employee Class member, the till switches to the RVC where they last used their card...
When they then swipe again the message will appear giving them the choice, but if they now select YES then it will permanently leave them on the new RVC...

My question.... is there anyway to stop the prompt appearing and the WS just lock to what ever the Manager sets the tills RVC to?

Thanks in advance.
 
Ok, you cant stop it for managers because they'll be able to switch around, but you can stop the prompt for other employees. In my systems I uncheck "change rvc" and check "disable sign in to other rvc" for non-manager employee classes and use job codes to assign the employee's rvc at clock-in. Going this route the job code's rvc will basically follow the employee. When an employee signs in, his/her clock-in rvc becomes active regardless of the workstation's default.
I also assign cashiers by workstation rather than by employee or drawer, and have dummy "cashier" employees set up for each rvc. This way a bartender can sign in as a dining "cashier", pick up a dining employee's check and close it to cash without transferring it. The cash sale posts to the dining rvc, and to the cashier assigned to that workstation. My managers have the ability to change rvc's but rarely have to. With 15 rvc's you'll have a lot of job codes, but in my opinion it's worth it to make operations go more smoothly and avoid posting to the wrong rvc.

You may want to see if the " change rvc no sign out" option is available as a touchscreen button. It'll save a step for the managers.

 
Hi,

Thank you for your response, that gives me something to think about... unfortunately our bars employees could need to sign in to 6 RVC's throughout a business day.. We dont currently use Employee Shifts, the first person to use a workstation during the business day will press a key to assign a shift which gets reset again during the night audit..

If only things were simple and a manager could easily press a touchscreen button to permanently change the RVC for that workstaion... surely that would make sense rather than needing a sys admin to change it in POS Configurator for it to be a permanent change with no prompts on the WS...

Although I have never seen 9700, I have been advised it is as simple as pressing a button, a RVC selection box appearing, highlight and job done, WS now is assignged to a new RVC...

If there is any other easy ways around this issue, I would love to hear them..

Thanks again.
 
I'm pretty sure you'd have the same issue with a 9700. The problem is that you're looking for an understandable but odd combination of features. It would be nice if there was an "always use workstation's rvc" option, but that's not the case. I can't think of a standard way to get around the prompt, but that may be because it's friday and my brain is somewhat fried.

There are two options I can think of:

Easy but inconvenient -
Uncheck the "allow multiple rvc's" option on the floating workstation and use the configurator, (devices | user workstations | revenue center), to change it's rvc. There's no special programming, but a manager will have to go to the office and change the rvc whenever the workstation is moved.

Convenient but not so easy -
Have a SIM written to change the rvc for the floating workstation. The "allow multiple rvc's" option would still be disabled, and the SIM would make the change through SQL on the back end. The managers can do this on the fly, but it will take a minute or two for the update to take effect, plus you'll need a SIM written and distributed to the workstations. Not a hard thing to do, but usually beyond the scope of the in-store staff.
 
I like the sound of the SIM option although I have only ever used SIM entries on touch screens for iCare Loyalty and Micros Payment Gateway options...

Is this something that Micros would charge for directly (for a 'Change RVC SIM' to be written) or would I have to approach a Micros developer to write this for me? Having to wait a minute or two for the workstation to pickup the changes would not pose an issue.

Thanks as always for the advice.
 
Your Micros dealership may be able to do it for a fee, but if they have to farm it out to Micros Corporate you may want to look into 3rd party developers.
 
Thanks,
Is there anyone that you/any other users could recommend who can provide this SIM writing service?
 
Code:
var sql_h : N12 = 0
var sql_cmd : A2000

var rvc_name[ 40 ] : A20
var rvc_seq[ 40 ] : N9
var num_rvc : N2
var cur_page : N1

event inq : 1

	if @InStandAloneMode = 1 or @InBackupMode = 1
		exitwitherror "This function is not available while offline"
	endif
	
	Call LoadSQL
	
	num_rvc = 0
	
	format sql_cmd as "SELECT rvc_seq,name FROM MICROS.rvc_def ORDER BY obj_num"
	Call sql_query( sql_cmd )
	while sql_cmd <> "" and num_rvc < 40
		num_rvc = num_rvc + 1
		splitQ sql_cmd, ";", rvc_seq[ num_rvc ], rvc_name[ num_rvc ]
		DLLCALL_CDECL sql_h, sqlGetNext( ref sql_cmd )
	endwhile

	cur_page = 1
	
	forever
		Call DrawCurrentPage
		Call GetInput
	endfor
endevent

sub GetInput

	var InKey : key
	var InData : A10
	inputkey InKey, InData, "Select RVC"
	
	//Exit SIM
	if InKey = @Key_Clear
		exitcontinue
	endif

	//Did they hit the next key?
	if KeyNumber( InKey ) = 2
		cur_page = cur_page + 1
		return
	endif
	//Did they hit the previous key?
	if KeyNumber( InKey ) = 1
		cur_page = cur_page - 1
		return
	endif
	
	if KeyNumber( InKey ) > 3000
		var rvc_seq : A9 = KeyNumber( InKey ) - 3000
		format sql_cmd as "UPDATE MICROS.uws_def SET rvc_seq = ", rvc_seq, " WHERE obj_num = ", @Wsid
		Call sql_exec( sql_cmd )
		infomessage "Workstation RVC Changed"
		exitcontinue
	endif

endsub

sub DrawCurrentPage

	ClearIslTS

	var KeyHeight : N1 = 6
	var KeyWidth : N1 = 6
	
	var NumPages : N5 = 1
	while NumPages*10 < num_rvc
		NumPages = NumPages + 1
	endwhile
	
	var FirstItem : N5 = (cur_page-1) * 10 + 1
	
	//draw first row of results
	var i : N5

	for i = FirstItem to FirstItem + 4
		if i > num_rvc
			break
		endif
		SetIslTsKeyx 1,(i - FirstItem) * KeyWidth + 1,3,KeyWidth,1,key(1, 3000 + rvc_seq[ i ]), 0, "C", 10, rvc_name[ i ]
	endfor

	//draw second row of results
	for i = i to FirstItem + 10
		if i > num_rvc
			break
		endif
		SetIslTsKeyx 4,(i - FirstItem - 5) * KeyWidth + 1,3,KeyWidth,1,key(1, 3000 + rvc_seq[ i ]), 0, "C", 10, rvc_name[ i ]
	endfor

	//draw some page keys
	if cur_page > 1
		setisltskeyx 11, 1, 2, 2, 1, key(1,1), 10388, "C", 10, ""
	endif
	if cur_page < NumPages
		setisltskeyx 11, 3, 2, 2, 1, key(1,2), 10389, "C", 10, ""
	endif
	
	//Provide an escape route
	SetIslTsKeyx 9,27,4, 4, 1, @Key_Clear, 10058, "L", 10, "Done/Exit"
	
	DisplayIslTs

endsub

////////////////////////////////////////////
////            SQL SUBROUTINES         ////
////////////////////////////////////////////

sub LoadSQL

	Call LoadDLL
	Call OpenSQL

endsub

sub LoadDLL

	if sql_h = 0
		DLLLoad sql_h, "MDSSysUtilsProxy.dll"
	endif

	if sql_h = 0
		exitwitherror "Unable to load SQL DLL"
	endif

endsub

sub OpenSQL

	var con_status : N9
	DLLCALL_CDECL sql_h, sqlIsConnectionOpen( ref con_status )
	
	if con_status = 0
		DLLCALL_CDECL sql_h, sqlInitConnection("micros", "ODBC;UID=custom;PWD=custom", "")
	endif

	DLLCALL_CDECL sql_h, sqlIsConnectionOpen( ref con_status )

	if con_status = 0
		exitwitherror "Cannot open SQL connection to server"
	endif

endsub

sub sql_query( ref sql_cmd )

	DLLCALL_CDECL sql_h, sqlGetRecordSet( sql_cmd )

	sql_cmd = ""
	DLLCALL_CDECL sql_h, sqlGetLastErrorString( ref sql_cmd )
	if sql_cmd <> ""
		errormessage "SQL Error: ", sql_cmd
	endif

	DLLCALL_CDECL sql_h, sqlGetNext( ref sql_cmd )

endsub

sub sql_exec( ref sql_cmd )

	DLLCALL_CDECL sql_h, sqlExecuteQuery( sql_cmd )
	
	sql_cmd = ""
	DLLCALL_CDECL sql_h, sqlGetLastErrorString( ref sql_cmd )
	if sql_cmd <> ""
		errormessage "SQL Error: ", sql_cmd
	endif

endsub

sub sql_recordset( ref sql_cmd )

	DLLCALL_CDECL sql_h, sqlGetRecordSet( sql_cmd )

	sql_cmd = ""
	DLLCALL_CDECL sql_h, sqlGetLastErrorString( ref sql_cmd )
	if sql_cmd <> ""
		exitwitherror "SQL Error: ", sql_cmd
	endif

endsub


The SIM won't check for permissions... so make sure to put the button somewhere only managers can get to.
Also, this hasn't been tested thoroughly beyond making sure it seems to work.
 
Moregelan, do you have or know of a decent, relatively current, SIM reference?
 

I used that for a bit of reference; specifically I used it to construct my first custom PMS. Wasn't useful for much else than seeing how to format messages back and forth.

For system variables and keys and functions, I go to



Frustratingly, everything else ends up being guess work. For example.. I found the MI event by guessing, because I never could find it in the SIMHelp.chm. Just tried event menu_item, event menuitem event mi... before I hit on the right one. There seem to be things in the system that aren't documented. Another decent source is to scour the PMA's for new SIM features, which I've done from time to time.
 
That's the SIM guide I've been using too. The help file won't open for me though, do you have the modified date for it? It may be the one that I'm using as well.

Micros does keep the SIM documentation pretty tight. I haven't seen any new docs in years, even though there have been tons of changes. It's pretty helpful to look through the 8700/9700 docs too. They're much more in-depth than the 3700, and a lot of the functionality is the same.
 
Modified 10/5/2009, so its pretty freaking old.

True. I actually used the 9700 docs to get a sample DLL. That was nice. The problem (and something that really irks me) is that 9700 has certain variables that 3700 doesn't. I had a whole QR code printer going (no using images) on 9700. Stopped working on 3700 when ported because of the lack of @NUL variable. Grrr...

A lot of what I've figured out how to do involves thing like sticking a sniffer between an interface and the MICROS server. Not exactly something I'll ever admit to doing IRL, but there you have it..
 
2009? By SIM doc standards that's breaking news, lol. The last decent help file I have is from 2003.

Bullentj - if you paste this just after "Call LoadSQL" in the SIM that Moregelan provided it will check for the "Allow use of change RVC key" in the user's employee class before allowing it to continue.

Code:
format sql_cmd as "select count(*) from micros.emp_def e join micros.emp_class_def c on e.emp_class_seq = c.emp_class_seq where e.obj_num = ", @Tremp, " and ob_tpriv_change_uws_rvc = 'T'"
call sql_query(sql_cmd)
	
if sql_cmd = 0
	exitwitherror "You are not privileged to change RVC's"
endif
 
Hah. If you installed RES 5 anywhere you have a copy ;) D:\Micros\Documentation\Help

I tend not to bother checking permissions for things like that, and if I do, I prefer to use the SIM privileges so that its separate, but that sql statement looks solid. Should do the job.
 
Grr. Looks like I can't open the file either...

Was this file on all installs of the older 3700 machines? Or did you get it from somewhere else?
 
It was on all the old install cd's. At least through 3.2 and I think through Res 4.x
 
Hi Moregelen

Thank you for your help, but sorry to ask for further assistance, but what do I do now with the SIM that you have written above.

Thanks in Advance,
Jon
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top