//////////////////////////////////////////////////////////////////////
var sql_cmd : A500
var sql_error : A500
var h_sql : N12 = 0
var disc_obj : n4 = 1 ///SET THIS TO THE NUMBER OF THE DISCOUNT YOU WANT TO LOOK FOR, IF YOU HAVE MULTIPLE, YOU CAN LOOP THROUGH AN ARRAY
var store_num : n4
///////////////////////////////////////////////////////////////////////////////////////
event dsc_void
if @DTL_OBJECT[@NUMDTLT-1] = disc_obj
format sql_cmd as "select obj_num from micros.rest_def"
call load_sql
call connect_sql
call sql_select (sql_cmd)
store_num=sql_cmd
exitwitherror "",store_num
endif
endevent
//////////////////////////////////////////////////////////////////////
sub load_sql
if h_sql = 0
DLLLoad h_sql, "MDSSysUtilsProxy.dll"
endif
if h_sql = 0
exitwitherror "Unable to Load MDSSysUtilsProxy.dll"
endif
endsub
//-------------------------------------------------------------------------------------//
sub connect_sql
var constatus : N9
// Connect to micros 3700 database
DLLCALL_CDECL h_sql, sqlIsConnectionOpen(ref constatus)
if constatus = 0
DLLCALL_CDECL h_sql, sqlInitConnection("micros","ODBC;UID=custom;PWD=custom", "")
endif
endsub
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
sub sql_select( ref sql_cmd )
// intended for single selects from the db where one row is expected
// of course you could always do a sqlGetNext and keep going
var fn : N12 = 0
DLLCALL_CDECL h_sql, sqlGetRecordSet(sql_cmd)
DLLCALL_CDECL h_sql, sqlGetLastErrorString(ref sql_cmd)
if (sql_cmd <> "")
//call show_error(sql_cmd)
errormessage "SQL:",sql_cmd
//fopen fn, "c:\temp\sqlerror.txt", append
//fwrite fn, sql_cmd
//fclose fn
endif
DLLCALL_CDECL h_sql, sqlGetNext(ref sql_cmd)
endsub