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

Business Date Issues

Status
Not open for further replies.

JonnyB82

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

We have Micros 3700 RES 4.9, our system has been setup to fail a night audit/roll the business date if a check has been left open.

Now here is the issue:

If a night audit failed, the following morning all tills would come up with a message stating 'Incorrect Business Date' if a transaction was attempted.... however, after Micros connected in and performed a few updates to our version we noted one day that random tills were coming up with the business date error even though the night audit was successful and the business date was actually correct.

Micros support could not seem to work out why this was happening, so they setup scripts to restart services and auto reboot every till after a night audit had taken place... This did stop the random errors but now this is a big issue for us, No warning now appears at all if the night audit does fail, the staff just continue as normal and we find that all sales are being added to the previous days business date.... this can be a nightmare for our cashiers with 15 RVC and 30+ tills...

Is there any way I can attach a 40col report to a button that will just print out what the systems current business date is set to? if this is possible I could ask the first department that opens every day to check this report and then call me asap so I can close any open checks and manually run the night audit from Autosequences before the rest of the business notices anything...

Hopefully Micros will one day fix this, but for now I really need to put some check in place to save us issues if a duty manager forgets to close any open checks in the early hours of the morning before leaving off.

Many Thanks
Jon
 
Jon,

Until Micros gets you a solution...:) Do you have buttons for System or Cashier reports for your managers? Both would indicate current business date(s) if date range in the autosequence step is set to "Today" or "Inherit". ...And can they make an informed decision from that...

Is the process that does your night audit an autosequence? If so it maybe possible to branch on the error (open check stored procedure) to an open check report or ?? (maybe branch to an external app that gives the manager good jolt...) Sorry its Friday - just throwing some ideas out there
 
Hmmm. I suppose if you want to you could script a SIM to compare the actual date to the business date. The issue you could end up running into there is that, if you're open into the next day (ie past midnight) and want sales to still post to the previous day (which is how most restaurants do things), you'd have to script some tolerance for that in. You could also take it further and instead of doing an exitwitherror you could always use the touchscreen command to take them to a custom touchscreen with instructions on it.

Code:
event start_check:
	Call CheckDate
endevent

event pickup_check:
	Call CheckDate
endevent

event sign_in:
	Call CheckDate
endevent

sub CheckDate:
	var sql_h : N12
	var con_status : N9
	
	DLLLoad sql_h, "MDSSysUtilsProxy.dll"
	if sql_h = 0
		exitwitherror "Couldn't load sql dll - PMSX.isl"
	endif
	
	DLLCALL_CDECL sql_h, sqlInitConnection("micros", "ODBC;UID=custom;PWD=custom", "")
	DLLCALL_CDECL sql_h, sqlIsConnectionOpen(ref con_status)
	if con_status = 0
		exitwitherror "Couldn't connect to sql database - PMSX.isl"
	endif
	
	var sql_cmd : A2000
	sql_cmd = "select datediff(dd, business_date, now()) from micros.rest_status"
	
	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 )
	
	var dateDifference : N2 = sql_cmd
	
	if dateDifference <> 0
		exitwitherror "Warning! Business date is not current! Totals will not post to today's date!"
	endif
endsub
 
Hehe. I forgot to put it in there, but if you go with that method I would definitely make sure to also close the sql connection and free the dll as the last step in the subroutine.
 
Thanks POSADM, I will bear the RVC Sales Detail 40col report in mind if it shows the current business date.

Hi Moregelen, Thanks for taking the time to write the SIM for me.
It is something that I would like to make use of, but require a little bit of help...

We do have bars that stay open until sometimes 3am the following morning, so the tills would still be working from the previous business date until the night audit kicks in i believe around 4-5am.

I assume your SIM would be linked to a touchscreen button that would only be used around 7am the following morning by a member of our Gift Shop that would be tasked to perform the check on a daily basis (so no issue with mis-reporting or having to build any tolerence into the script).

I am not quite sure I understand your last comment on the thread:

Moregelen (Programmer)
5 Apr 14 18:00
Hehe. I forgot to put it in there, but if you go with that method I would definitely make sure to also close the sql connection and free the dll as the last step in the subroutine.


Can you tell me how to do that and setup the SIM on my system as this will be the first time I have done anything like this and I don't want to mess anything up [smile]

Many Thanks.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top