# Global Event: OnReportExecuteStart

The OnReportExecuteStart Event occurs at the beginning of the Report Execution process. This Event could be used to check and modify properties of a report and log or stop execution.

Signature

For custom code the args array is structured as follows:

args[] is empty.

For .Net Assemblies the method signature is as follows:

string EventHandlerName(SessionInfo sessionInfo)

Expected Return

The OnReportExecuteStart Event expects a string to be returned. Based on the return string there are three possible results.

- Null / Whitespace – If the string is null or whitespace then the report execution will continue as expected.
- LanguageId – If the string matches the id of any element in the language files then the string of that language element will be displayed as a message to the user and the report execution will terminate. For more information see Multi-Language Support.
- Other – If the string does not match the id of any element in the language files then the returned value will be displayed as a message to the user and the report execution will terminate.

Notes

The report being executed can be accessed through the sessionInfo object by using sessionInfo.Report.

Example

The following example shows how each report execution can be written to a log file.

    //Writes the current time, companyId, userId and report name to a specified log file.
    File.WriteAllText(“C:\ReportExecutionLogFile”, String.Format(“{0}, {1}, {2}, {3}”, DateTime.Now.ToString(), sessionInfo.CompanyId, sessionInfo.UserId, sessionInfo.Report.Name));
    //returns null to proceed with execution
    return null;