>>>PROCEDURE HandleError(sAppName AS String, iErrNo AS Integer,; >>> sErrMessage AS String, sLineOfCode AS String,; >>> sProgram AS String, iLineNo AS int, sStack AS String) >>> >>> LOCAL iRetVal, sDateTime, sErrNo, sLineNo, sUserId, sMemory, sStatus >>> LOCAL sSqlCommand >>> >>> iRetVal = TRUE >>> >>> WITH This >>> >>> ** Setup the connection >>> IF .Setup() >>> >>> tDateTime = DATETIME() >>> sUserId = UPPER(ALLTRIM(SUBSTR(SYS(0), AT("#", SYS(0))+1))) >>> >>> TEXT TO sSqlCommand NOSHOW >>> >>> insert into syserrors >>> (datetime, error, line, message, codeline, program, >>> [user], appname) >>> values >>> (?tDateTime, ?iErrNo , ?iLineNo, ?sErrMessage, ?sLineOfCode, >>> ?sProgram, ?sUserId, ?sAppName) >>> >>> ENDTEXT >>> >>> ** Run the insert command >>> ._oSQLProcs.SQLCommand(sSqlCommand) >>> >>> ** Check for and handle any errors that occured >>> ._CheckForSQLError() >>> >>> ENDIF >>> >>> ENDWITH >>> >>>RETURN >>> >>>ENDPROC >>> >>>>>>
>>>>>>PROCEDURE HandleError(sAppName AS String, iErrNo AS Integer,; >>>>>> sErrMessage AS String, sLineOfCode AS String,; >>>>>> sProgram AS String, iLineNo AS int, sStack AS String) >>>>>>TEXT TO sSqlCommand NOSHOW >>>>>> insert into syserrors >>>>>> (datetime, error, line, message, codeline, program, >>>>>> [user], appname, memory, status, callstack) >>>>>> values >>>>>> (?m.tDateTime, ?m.iErrNo , ?m.iLineNo, ?m.sErrMessage, ?m.sLineOfCode, ?m.sProgram, >>>>>> ?m.sUserId, ?m.sAppName, ?sMemory, ?sStatus, ?sStack) >>>>>>ENDTEXT >>>>>>tDateTime = datetime() && Any valid VFP date/datetime expression >>>>>>sUserId = 'whoever' >>>>>>sMemory = 'whatever' >>>>>>sStatus = 'yourstatus' >>>>>>SQLExec(...) >>>>>>Cetin