I have a global script that is run from the CanSaveRecord in field rules that deletes any existing audit file, recreates it & then copies it elsewhere. Unfortunately it does not work every time in that it does not create the audit file at all. I assume i have created some conflict with its operation. My script is below.
The only suggestion i have from the users is it depends on how the form is opened as to whether it works i.e. opening a form go to one record change it all ok but move to another record it does not work. Open the form from a list going directly to the selected record it does not work.
Any help out there?
Thanks
Terry
delete tmpdate
delete tmptime
delete oldfilename
delete newfilename
dim tmpdate as c = remspecial(dtoc(date(),"7-"))
dim tmptime as c = remspecial(time())
dim oldfilename as c = ""
dim newfilename as c = ""
xbasic_wait_for_idle()
tst=a5_is_path_valid(vDBPATH+"Audit Trail\"+vPREFIX)
If tst = .f.
dir_create(vDBPATH+"Audit Trail\"+vPREFIX)
end if
tst=a5_is_path_valid(vDBPATH+"Audit Trail\"+vPREFIX+"\"+ut(t.uniquequoteno))
If tst = .f.
dir_create(vDBPATH+"Audit Trail\"+vPREFIX+"\"+ut(t.uniquequoteno))
end if
xbasic_wait_for_idle()
Master_name = a5.Get_Master_Name()
if (Master_name = "") then
' ui_msg_box("STOP", "You are NOT in a Shadow database." +crlf(2) + "You can only run this operation from a Shadow.", UI_STOP_SYMBOL+UI_OK)
oldfilename = vDBPATH+vPREFIX+"- audit_trail.txt"
' ui_msg_box("oldfilename",oldfilename,UI_OK)
else
oldfilename = "C:\MROffice\Shadow\"+vPREFIX+"- audit_trail.txt"
' ui_msg_box("oldfilename",oldfilename,UI_OK)
End if
newfilename = vDBPATH+"Audit Trail\"+vPREFIX+"\"+ut(t.uniquequoteno)+"\"+ut(t.uniquequoteno)+" - audit_trail "+tmpdate+" "+tmptime+".txt"
'ui_msg_box("newfilename",newfilename,UI_OK)
if file.exists(oldfilename) then
' ui_msg_box("OK","File "+oldfilename+" exists.",UI_INFORMATION_SYMBOL+UI_OK)
' a5_file_remove(oldfilename)
FILE.remove(oldfilename)
xbasic_wait_for_idle()
A5_Audit_trail(2)
else
' ui_msg_box("Error Finding File","File "+oldfilename+" does not exist. Please report this to your Supervisor.",ui_stop_symbol+UI_OK)
A5_Audit_trail(2)
end if
xbasic_wait_for_idle()
if file.exists(oldfilename) then
' ui_msg_box("OK","File "+oldfilename+" exists.",UI_INFORMATION_SYMBOL+UI_OK)
file.copy(oldfilename,newfilename)
else
sleep(3)
A5_Audit_trail(2)
sleep(1)
if file.exists(oldfilename) then
' ui_msg_box("OK","File "+oldfilename+" exists.",UI_INFORMATION_SYMBOL+UI_OK)
file.copy(oldfilename,newfilename)
else
ui_msg_box("Error Finding File To Copy","File "+oldfilename+" does not exist. Please report this to your Supervisor.",ui_stop_symbol+UI_OK)
end if
end if
xbasic_wait_for_idle()
if file.exists(newfilename) then
' ui_msg_box("OK","File "+newfilename+" exists.",UI_INFORMATION_SYMBOL+UI_OK)
else
ui_msg_box("Error Finding File","File "+newfilename+" does not exist. Please report this to your Supervisor.",ui_stop_symbol+UI_OK)
end if
The only suggestion i have from the users is it depends on how the form is opened as to whether it works i.e. opening a form go to one record change it all ok but move to another record it does not work. Open the form from a list going directly to the selected record it does not work.
Any help out there?
Thanks
Terry
delete tmpdate
delete tmptime
delete oldfilename
delete newfilename
dim tmpdate as c = remspecial(dtoc(date(),"7-"))
dim tmptime as c = remspecial(time())
dim oldfilename as c = ""
dim newfilename as c = ""
xbasic_wait_for_idle()
tst=a5_is_path_valid(vDBPATH+"Audit Trail\"+vPREFIX)
If tst = .f.
dir_create(vDBPATH+"Audit Trail\"+vPREFIX)
end if
tst=a5_is_path_valid(vDBPATH+"Audit Trail\"+vPREFIX+"\"+ut(t.uniquequoteno))
If tst = .f.
dir_create(vDBPATH+"Audit Trail\"+vPREFIX+"\"+ut(t.uniquequoteno))
end if
xbasic_wait_for_idle()
Master_name = a5.Get_Master_Name()
if (Master_name = "") then
' ui_msg_box("STOP", "You are NOT in a Shadow database." +crlf(2) + "You can only run this operation from a Shadow.", UI_STOP_SYMBOL+UI_OK)
oldfilename = vDBPATH+vPREFIX+"- audit_trail.txt"
' ui_msg_box("oldfilename",oldfilename,UI_OK)
else
oldfilename = "C:\MROffice\Shadow\"+vPREFIX+"- audit_trail.txt"
' ui_msg_box("oldfilename",oldfilename,UI_OK)
End if
newfilename = vDBPATH+"Audit Trail\"+vPREFIX+"\"+ut(t.uniquequoteno)+"\"+ut(t.uniquequoteno)+" - audit_trail "+tmpdate+" "+tmptime+".txt"
'ui_msg_box("newfilename",newfilename,UI_OK)
if file.exists(oldfilename) then
' ui_msg_box("OK","File "+oldfilename+" exists.",UI_INFORMATION_SYMBOL+UI_OK)
' a5_file_remove(oldfilename)
FILE.remove(oldfilename)
xbasic_wait_for_idle()
A5_Audit_trail(2)
else
' ui_msg_box("Error Finding File","File "+oldfilename+" does not exist. Please report this to your Supervisor.",ui_stop_symbol+UI_OK)
A5_Audit_trail(2)
end if
xbasic_wait_for_idle()
if file.exists(oldfilename) then
' ui_msg_box("OK","File "+oldfilename+" exists.",UI_INFORMATION_SYMBOL+UI_OK)
file.copy(oldfilename,newfilename)
else
sleep(3)
A5_Audit_trail(2)
sleep(1)
if file.exists(oldfilename) then
' ui_msg_box("OK","File "+oldfilename+" exists.",UI_INFORMATION_SYMBOL+UI_OK)
file.copy(oldfilename,newfilename)
else
ui_msg_box("Error Finding File To Copy","File "+oldfilename+" does not exist. Please report this to your Supervisor.",ui_stop_symbol+UI_OK)
end if
end if
xbasic_wait_for_idle()
if file.exists(newfilename) then
' ui_msg_box("OK","File "+newfilename+" exists.",UI_INFORMATION_SYMBOL+UI_OK)
else
ui_msg_box("Error Finding File","File "+newfilename+" does not exist. Please report this to your Supervisor.",ui_stop_symbol+UI_OK)
end if
Comment