on 2017 Dec 19 4:57 PM
I'd attempting to change the EvaluateCondition for a report's RunningTotal fields if the condition matches a certain value:
$path='C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet\iPoint'
Add-Type -Path "$path\CrystalDecisions.CrystalReports.Engine.dll"
Add-Type -Path "$path\CrystalDecisions.Shared.dll"
$reportDocument = New-Object CrystalDecisions.CrystalReports.Engine.ReportDocument
$path = "C:\users\<username>\desktop\report.rpt"
# not sure if i should use
$reportDocument.Load($path)
# or this
$reportDocument.ReportClientDocument.Open($path,0)
$OldValue='foobar'
$NewValue='foobarBAZ'
$reportDocument.ReportClientDocument.DataDefinition.RunningTotalFields | % {
if ($_.EvaluateCondition -like "*$OldValue*") {
Write-Debug $_.Name
# modify the formula
$_.EvaluateCondition = $_.EvaluateCondition -replace $OldValue, $NewValue
Write-Debug $_.EvaluateCondition
}
}
$reportDocument.ReportClientDocument.Save()
$reportDocument.ReportClientDocument.Close()
While the debug messages indicate that the EvaluateCondition was modified correctly, the changes aren't saved to the report (inspecting the running-total fields w/ Crystal Reports). Moreover, the Close() method doesn't seem to actually close the report.
What am I doing wrong?
Changed the Tag to Platform SDK.
First, don't browse to the Assemblies, load them from the GAC.
See this page for samples and more info:
More info on this WIKI home page:
https://wiki.scn.sap.com/wiki/display/BOBJ
Don
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
61 | |
11 | |
7 | |
7 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.