' ********************************************************************************
' Project file: NEXTCB
' Go to the nexed scheduled callback for logged on user
' Executed In-memory from menu contacts.
' ********************************************************************************
external $$fct $$usrid ##lev $$workdir
external run_query_str() display_message() get_choice() up_db_stat()
public run_query()
public $$ord_type #rqs #choice

repaint off
graphics window cursor 4 ' hourglass cursor
if fileinfo($$workdir|"ncall.idx",f_type) = 1
#choice = get_choice("Choose from the following","options:","","","Use_Existing_Index Requery Oops",3)
case #choice
 when 1
   order change index $$workdir|"ncall.idx"


 when 2
   run_query()

 when 3
   exit case
end case

elseif fileinfo($$workdir|"ncall.idx",f_type) = 0
    run_query()

end if
graphics window cursor 0 ' pointer cursor
repaint on
repaint


function run_query()
'*************************************************************************
local $$ord_type
repaint
graphics window cursor 4 ' hourglass cursor
display_message("Querying TODAY's calls for "|$$usrid,"",13)
order change key [Callback]
clearerror
#rqs = run_query_str("ncall","[Callback] > blank and date([Callback]) <= date(today) and [Rep] = $$usrid",0)
repaint
if #rqs = -3143
   beep
   display_message("NO callbacks for "|$$usrid,"Press ENTER or click OK",3)
   graphics window cursor 0 ' pointer cursor
else
   beep
   display_message(str(#rqs)|" callbacks <= TODAY for "|$$usrid,"Press ENTER or click OK",3)

end if

$$ord_type = $$workdir|"ncall"

if #rqs < 50 'Fakes out query optimiser which runs sequential search on small queries
repaint
display_message("Sorting callbacks for "|$$usrid,"",13)

order sort now smart $$workdir|"sncall" fields "[Callback]" ascending
$$ord_type = $$workdir|"sncall"
end if

up_db_stat(##lev,record,"index",$$ord_type,"")
graphics window cursor 0 ' pointer cursor
end function






