Here’s an interesting one you may run into if you’re working with any of the European languages. This is something scheduled to be fixed in an upcoming release but for now you can use one of the workaround below if you encounter it.
Issue: The report "Computers that have a metered program installed, but have not run the program since a specified date" does not work correctly with most European locale settings. This report prompts you to enter two values:
1. Last Usage Date 2. Rule name
The problem occurs when:
a. Running the report in context of a user who has a locale where short dates are represented "dd-mm-yyyy" (most European locales) b. Picking dates suggested by pressing the "Values ..." button or manually entering dates in the dd-mm-yyyy format c. Then run the report
Cause: The "dd-mm-yyyy" date entered (either by picking from the list of values or manually entered) is interpreted as a "mm-dd-yyyy" (set dateformat MDT) and the result therefore is either:
1. The report returns incorrect results.
or:
2. Causes an error to be raised (in cases where the "dd-mm-yyyy" date can not be interpreted as a valid "mm-dd-yyyy" date).
Resolution: The following workarounds exist for this issue:
1. Only run the report in context of a user who has English(U.S.) locale settings.
or
2. Take into account that the dates suggested by the user interface need to be "adjusted" before running the report.
3. Modify the report.asp file as follows:
The logic in filter.asp that presents the dates to pick from is okay, but when extracting the value to send to the report engine in report.asp, this section could be modified in order to take into account that the user might not run US-English locale settings when entering the "Last usage" value:
Change Report.asp from this:
' report.asp extract begin For Each ReportParameter In Report.ReportParameters ParameterValue = unescape(replace(Request.QueryString(ReportParameter.VariableName), "%", "%25")) 'If IsEmpty(ParameterValue) Then If ParameterValue = "" Then Else ReportParameter.SuppliedValue = ParameterValue End If Next ' report.asp extract end
To this:
' report.asp extract begin For Each ReportParameter In Report.ReportParameters ParameterValue = unescape(replace(Request.QueryString(ReportParameter.VariableName), "%", "%25")) If ParameterValue = "" Then Else if (ReportParameter.VariableName = "LastUsage") then ParameterValue = Month(ParameterValue) & "/" & Day(ParameterValue) & "/" & Year(ParameterValue) end if ReportParameter.SuppliedValue = ParameterValue End If Next ' report.asp extract end
Hope this helps,
J.C. Hornbeck | Manageability Knowledge Engineer
PingBack from http://gitfourm.com/archives/16428