Provance.Resource.SoftwareTitleTrackedByInstallation.ReportRdl (ReportResource)

Element properties:

TypeReportResource
File NameProvance.Report.SoftwareTitleTrackedByInstallation.rdl
AccessibilityPublic

Source Code:

<ReportResource ID="Provance.Resource.SoftwareTitleTrackedByInstallation.ReportRdl" Accessibility="Public" FileName="Provance.Report.SoftwareTitleTrackedByInstallation.rdl" HasNullStream="false" MIMEType="application/octet-stream"/>

File Content: Provance.Report.SoftwareTitleTrackedByInstallation.rdl

<?xml version="1.0" encoding="utf-8"?>

<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<Body><Script>
<ReportItems>
<Rectangle Name="rectangle5">
<ReportItems>
<Tablix Name="Tablix4">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>1.44639in</Width>
</TablixColumn>
<TablixColumn>
<Width>10.50361in</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.2in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="textbox52">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<DataElementStyle>Element</DataElementStyle>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>ReportGenerated</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("RG", "[ReportGenerated]") &amp; " :"</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<ZIndex>1</ZIndex>
<DataElementName>Severity</DataElementName>
<DataElementOutput>NoOutput</DataElementOutput>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox12">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Now()</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Format>M/d/yyyy h:mm tt</Format>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox12</rd:DefaultName>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.2in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox35">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Publisher</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("A", "[Publisher]") &amp; " :"</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox35</rd:DefaultName>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox22">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(Parameters!PublisherId.Value = 0 or isNothing(Parameters!PublisherId.Value),Code.GetLocTable("LT_Report").GetString("All", "[All]"),First(Fields!Publisher.Value, "ParameterDisplayName"))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox22</rd:DefaultName>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.2in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox44">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Calculation Date</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("B", "[Calculation Date]") &amp; " :"</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox44</rd:DefaultName>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox21">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!CalculationDate.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Format>MMM dd, yyyy</Format>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox21</rd:DefaultName>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.2in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox41">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Approval Status</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("C", "[Approval Status]") &amp; " :"</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox41</rd:DefaultName>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox23">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(Parameters!ApprovalStatusId.Value = 0 Or isNothing(Parameters!ApprovalStatusId.Value), Code.GetLocTable("LT_Report").GetString("All", "[All]"), First(Fields!ApprovalStatus.Value, "ParameterDisplayName"))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox22</rd:DefaultName>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.2in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox8">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Management Scope</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("D", "[Management Scope") &amp; " :"</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox27">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(Parameters!ManagementScopeId.Value = 0 Or isNothing(Parameters!ManagementScopeId.Value), Code.GetLocTable("LT_Report").GetString("All", "[All]"), First(Fields!ManagementScope.Value, "ParameterDisplayName"))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox22</rd:DefaultName>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.25in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox9">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Licensing Category</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("E", "[Licensing Category") &amp; " :"</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox43">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(Parameters!LicensingCategoryId.Value = 0 Or isNothing(Parameters!LicensingCategoryId.Value), Code.GetLocTable("LT_Report").GetString("All", "[All]"), First(Fields!LicensingCategory.Value, "ParameterDisplayName"))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox22</rd:DefaultName>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.2in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox82">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Software Category</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("F", "[Software Category") &amp; " :"</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox82</rd:DefaultName>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox46">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(Parameters!SoftwareCategoryId.Value = 0 Or isNothing(Parameters!SoftwareCategoryId.Value), Code.GetLocTable("LT_Report").GetString("All", "[All]"), First(Fields!SoftwareCategory.Value, "ParameterDisplayName"))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox22</rd:DefaultName>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<Group Name="Details3" />
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<KeepTogether>true</KeepTogether>
<DataSetName>LT_Report</DataSetName>
<Top>0.05in</Top>
<Left>0.05in</Left>
<Height>1.45in</Height>
<Width>11.95in</Width>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</Tablix>
</ReportItems>
<DataElementOutput>ContentsOnly</DataElementOutput>
<Top>0.56153in</Top>
<Left>0.05in</Left>
<Height>1.5in</Height>
<Width>16.45209in</Width>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>None</Style>
</Border>
<BottomBorder>
<Style></Style>Solid</Style>
</BottomBorder>
</Style>
</Rectangle>
<Rectangle Name="Rectangle3">
<ReportItems>
<Textbox Name="descriptionToggleTextBox">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Expand this section to see a full description of this report.</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("RDL", "[Expand this section to see a full description of this report.]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Left>0.05in</Left>
<Height>0.2in</Height>
<Width>16.45209in</Width>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Rectangle Name="Rectangle_Subtitle">
<ReportItems>
<Textbox Name="Textbox32">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>The Software Title Tracked by Installation report shows the licensing status of software titles.</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("RD", "[The Software Title Tracked by Installation report shows the licensing status of software titles.]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox17</rd:DefaultName>
<Top>0.05in</Top>
<Left>0.1in</Left>
<Height>0.25in</Height>
<Width>16.35209in</Width>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<KeepTogether>true</KeepTogether>
<Top>0.2in</Top>
<Left>0.05in</Left>
<Height>0.35in</Height>
<Width>16.45209in</Width>
<ZIndex>1</ZIndex>
<Visibility>
<Hidden>true</Hidden>
<ToggleItem>descriptionToggleTextBox</ToggleItem>
</Visibility>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>None</Style>
</Border>
</Style>
</Rectangle>
</ReportItems>
<KeepTogether>true</KeepTogether>
<Height>0.55in</Height>
<Width>16.50209in</Width>
<ZIndex>1</ZIndex>
<Style></Style>
<Border>
<Color>Silver</Color>
<Style></Style>None</Style>
</Border>
<BottomBorder>
<Style></Style>Solid</Style>
</BottomBorder>
<BackgroundColor>Gainsboro</BackgroundColor>
</Style>
</Rectangle>
<Tablix Name="Tablix1">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>2.27728in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.11856in</Width>
</TablixColumn>
<TablixColumn>
<Width>1in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.01042in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.71875in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.63958in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.91339in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.84375in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.98244in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.875in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.89167in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.86875in</Width>
</TablixColumn>
<TablixColumn>
<Width>1in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.89583in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.41667in</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.25in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox51">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!SoftwareTitle.Value</SortExpression>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Software Title</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("G", "[Software Title]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox49</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox120">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!Publisher.Value</SortExpression>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Publisher</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("A", "[Publisher]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox119</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox121">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!Publisher.Value</SortExpression>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Cacluation Date</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("O", "[Calculation Date]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox119</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox4">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!LicensingPositionIndicatorId.Value</SortExpression>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Licensing Status</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("H", "[Licensing Status]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox30">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Installed Quantity</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("I", "[Installed Quantity]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox30</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox59">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Licensed Installs</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("J", "[Licensed Installs]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox58</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox62">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Total Assignments</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("Q", "[Total Assignments]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox60</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox61">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Entitlements</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("K", "[Entitlements]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox60</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox66">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!ManagementScope.Value</SortExpression>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Software Category</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("F", "[Software Category]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox62</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox63">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!ManagementScope.Value</SortExpression>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Management Scope</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("D", "[Management Scope]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox62</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox64">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!LicensingCategory.Value</SortExpression>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Licensing Category</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("E", "[Licensing Category]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox56</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox65">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!LicensingCategory.Value</SortExpression>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Approval</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("P", "[Approval]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox56</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox26">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!SoftwareManagers.Value</SortExpression>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Software Managers</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("L", "[Software Managers]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox15</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox28">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!EstimatedCost.Value</SortExpression>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetLocTable("LT_Report").GetString("M", "[Estimated Unit Cost]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox17</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>DimGray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<ColSpan>2</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.25in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox31">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!SoftwareTitle.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox25">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Publisher.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!TimeStamp.Value</Value>
<Style></Style>
<Format>MMM dd, yyyy</Format>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Image Name="Image3">
<Source>External</Source>
<Value>=Switch(Fields!LicensingPositionIndicatorId.Value = -1, "Exceeded.png", Fields!LicensingPositionIndicatorId.Value = 0, "Close.png", Fields!LicensingPositionIndicatorId.Value = 1, "Good.png", 1 = 1, "dashes.png")</Value>
<Sizing>FitProportional</Sizing>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>20pt</PaddingLeft>
</Style>
</Image>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox34">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!InstallsNormalized.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>6pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox39">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!InstallsCovered.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>6pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!AssignmentCount.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>6pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox42">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!EntitlementsAvailable.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox7</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>6pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!SoftwareCategory.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox45">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!ManagementScope.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox9</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox40">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!LicensingCategory.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox11</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox38">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!ApprovalStatus.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox14</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox37">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!SoftwareManagers.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox16</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox36">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!EstimatedCost.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Format>0.00;(0.00)</Format>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox18</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox33">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!EstimatedCostCurrency.Value</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox20</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>6pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
<RepeatOnNewPage>true</RepeatOnNewPage>
</TablixMember>
<TablixMember>
<Group Name="Details" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<RepeatColumnHeaders>true</RepeatColumnHeaders>
<DataSetName>SoftwareTitle</DataSetName>
<Top>2.2273in</Top>
<Left>0.05in</Left>
<Height>0.5in</Height>
<Width>16.45209in</Width>
<ZIndex>2</ZIndex>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</Tablix>
</ReportItems>
<Height>2.74736in</Height>
<Style /></Style>
</Script></Body>
<Width>16.60626in</Width>
<Page>
<PageHeader>
<Height>0.60478in</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Image Name="Image1">
<Source>External</Source>
<Value>ReportHeaderR.png</Value>
<Sizing>FitProportional</Sizing>
<Left>12.21409in</Left>
<Height>0.577in</Height>
<Width>4.288in</Width>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="TitleBox">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Software Titles Tracked by Installation</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("RN", "[Software Titles Tracked By Installation]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>11pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<Height>0.577in</Height>
<Width>9.93632in</Width>
<ZIndex>1</ZIndex>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</PageHeader>
<PageFooter>
<Height>0.34375in</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="textbox125">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Globals!PageNumber &amp; "/" &amp; Globals!TotalPages</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<Top>0.09583in</Top>
<Left>15.60626in</Left>
<Height>0.24792in</Height>
<Width>1in</Width>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</PageFooter>
<PageHeight>8.5in</PageHeight>
<PageWidth>11in</PageWidth>
<LeftMargin>0.5in</LeftMargin>
<RightMargin>0.5in</RightMargin>
<TopMargin>0.5in</TopMargin>
<BottomMargin>0.5in</BottomMargin>
<Style /></Style>
</Page>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DWDataMart">
<DataSourceReference>DWDataMart</DataSourceReference>
<rd:SecurityType>None</rd:SecurityType>
<rd:DataSourceID>8a005d0e-9df7-4878-b4b3-ddb22b5cbd3f</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="SoftwareTitle">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<QueryParameters>
<QueryParameter Name="@ObjectStatusPendingDelete">
<Value>=Parameters!ObjectStatusPendingDelete.Value</Value>
</QueryParameter>
<QueryParameter Name="@UserLanguage">
<Value>=Code.GetReportLocLanguageCode()</Value>
</QueryParameter>
<QueryParameter Name="@ManagementScopeId">
<Value>=Parameters!ManagementScopeId.Value</Value>
</QueryParameter>
<QueryParameter Name="@ApprovalStatusId">
<Value>=Parameters!ApprovalStatusId.Value</Value>
</QueryParameter>
<QueryParameter Name="@LicensingCategoryId">
<Value>=Parameters!LicensingCategoryId.Value</Value>
</QueryParameter>
<QueryParameter Name="@SoftwareCategoryId">
<Value>=Parameters!SoftwareCategoryId.Value</Value>
</QueryParameter>
<QueryParameter Name="@CalculationDate">
<Value>=Parameters!CalculationDate.Value</Value>
<rd:UserDefined>true</rd:UserDefined>
</QueryParameter>
<QueryParameter Name="@PublisherId">
<Value>=Parameters!PublisherId.Value</Value>
<rd:UserDefined>true</rd:UserDefined>
</QueryParameter>
</QueryParameters>
<CommandText>--Query SoftwareTitle
--declare @UserLanguage varchar(255), @ObjectStatusPendingDelete varchar(255),
--@ManagementScopeId int,
--@ApprovalStatusId int,
--@LicensingCategoryId int,
--@SoftwareCategoryId int
--SELECT @UserLanguage = 'ENU',@ObjectStatusPendingDelete = 'M'

declare @AssignmentOnlyCalculation varchar(255),
@AssignmentOnlyCalculationId int
select @AssignmentOnlyCalculation = 'Assignment Only Calculation'
SELECT @AssignmentOnlyCalculationId = ProvanceSoftwareTitleManagementScopeId
FROM ProvanceSoftwareTitleManagementScope
WHERE ProvanceSoftwareTitleManagementScopeValue = @AssignmentOnlyCalculation

IF @AssignmentOnlyCalculationId IS NULL select @AssignmentOnlyCalculationId = -2


SELECT a.DisplayName SoftwareTitle,
H.DisplayName Publisher,
substring((select ', ' + B.DisplayName
from ProvanceSoftwareApptitleHasUserFactvw A
JOIN UserDimvw b ON A.SoftwareApptitleHasUser_UserDimKey = b.UserDimKey
where A.ProvanceSoftwareApptitleDimKey = F.ProvanceSoftwareApptitleDimKey
AND A.DeletedDate IS NULL
order by DisplayName
for xml path('')),3,4000) SoftwareManagers,
B.ApprovalStatus,
C.LicensingCategory,
D.ManagementScope,
J.DisplayName SoftwareCategory,
e.AssignmentCount,
e.EntitlementsAvailable,
e.EntitlementsRemaining,
e.InstallsCovered,
e.InstallsExcluded,
e.InstallsNormalized,
e.InstallsNotCovered,
e.LicensingPositionIndicatorId,
e.LicensingPositionPercentage,
e.TimeStamp,
e.TitleLicensingPositionId,
a.EstimatedCost,
a.EstimatedCostCurrency
FROM ProvanceSoftwareTitleDimvw A
LEFT JOIN (SELECT A.ProvanceSoftwareTitleApprovalStatusId,
ISNULL(B.DisplayName, A.ProvanceSoftwareTitleApprovalStatusValue) AS ApprovalStatus
FROM ProvanceSoftwareTitleApprovalStatusvw A
LEFT JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId
AND B.LanguageCode = @UserLanguage) B ON A.ApprovalStatus_ProvanceSoftwareTitleApprovalStatusId = B.ProvanceSoftwareTitleApprovalStatusId
LEFT JOIN (SELECT A.ProvanceSoftwareTitleLicensingCategoryId,
ISNULL(B.DisplayName, A.ProvanceSoftwareTitleLicensingCategoryValue) AS LicensingCategory
FROM ProvanceSoftwareTitleLicensingCategoryvw A
LEFT JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId
AND B.LanguageCode = @UserLanguage) C ON A.LicensingCategory_ProvanceSoftwareTitleLicensingCategoryId = c.ProvanceSoftwareTitleLicensingCategoryId
LEFT JOIN (SELECT A.ProvanceSoftwareTitleManagementScopeId,
ISNULL(B.DisplayName, A.ProvanceSoftwareTitleManagementScopeValue) AS ManagementScope
FROM ProvanceSoftwareTitleManagementScopevw A
LEFT JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId
AND B.LanguageCode = @UserLanguage) D ON A.ManagementScope_ProvanceSoftwareTitleManagementScopeId = D.ProvanceSoftwareTitleManagementScopeId
LEFT JOIN ProvanceBFATitleLicensingPositionDimvw E ON A.BaseManagedEntityId = E.SoftwareTitleGuid
LEFT JOIN ProvanceSoftwareApptitleDimvw F ON A.EntityDimKey = F.EntityDimKey AND ISNULL(F.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
LEFT JOIN ProvanceSoftwareApptitleHasPublisherFactvw G ON F.ProvanceSoftwareApptitleDimKey = G.ProvanceSoftwareApptitleDimKey AND G.DeletedDate IS NULL
LEFT JOIN ProvanceCompanyDimvw H ON G.SoftwareApptitleHasPublisher_ProvanceCompanyDimKey = H.ProvanceCompanyDimKey AND ISNULL(H.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
LEFT JOIN ProvanceSoftwareApptitleHasSoftwareCategoryFactvw I ON F.ProvanceSoftwareApptitleDimKey = I.ProvanceSoftwareApptitleDimKey
LEFT JOIN ProvanceSoftwareCategoryDimvw J ON I.SoftwareApptitleHasSoftwareCategory_ProvanceSoftwareCategoryDimKey = J.ProvanceSoftwareCategoryDimKey
WHERE A.IsDeleted = 0
AND ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
AND (@ManagementScopeId IS NULL or @ManagementScopeId &lt; 1 or (A.ManagementScope_ProvanceSoftwareTitleManagementScopeId = (@ManagementScopeId)))
AND (@ApprovalStatusId IS NULL or @ApprovalStatusId &lt; 1 or (A.ApprovalStatus_ProvanceSoftwareTitleApprovalStatusId = (@ApprovalStatusId)))
AND (@LicensingCategoryId IS NULL or @LicensingCategoryId &lt; 1 or (A.LicensingCategory_ProvanceSoftwareTitleLicensingCategoryId = (@LicensingCategoryId)))
AND (@SoftwareCategoryId IS NULL or @SoftwareCategoryId &lt; 1 or I.SoftwareApptitleHasSoftwareCategory_ProvanceSoftwareCategoryDimKey = @SoftwareCategoryId)
AND (@PublisherId IS NULL or @PublisherId &lt; 1 or H.ProvanceCompanyDimKey = @PublisherId)
AND A.ManagementScope_ProvanceSoftwareTitleManagementScopeId NOT IN (@AssignmentOnlyCalculationId)
</CommandText>
</Query>
<Fields>
<Field Name="SoftwareTitle">
<DataField>SoftwareTitle</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Publisher">
<DataField>Publisher</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="HardwareAssetDimKey">
<DataField>HardwareAssetDimKey</DataField>
<rd:UserDefined>true</rd:UserDefined>
</Field>
<Field Name="SoftwareManagers">
<DataField>SoftwareManagers</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="ApprovalStatus">
<DataField>ApprovalStatus</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="LicensingCategory">
<DataField>LicensingCategory</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="SoftwareCategory">
<DataField>SoftwareCategory</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="ManagementScope">
<DataField>ManagementScope</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="EntitlementsAvailable">
<DataField>EntitlementsAvailable</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="AssignmentCount">
<DataField>AssignmentCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="EntitlementsRemaining">
<DataField>EntitlementsRemaining</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="InstallsCovered">
<DataField>InstallsCovered</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="InstallsExcluded">
<DataField>InstallsExcluded</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="InstallsNormalized">
<DataField>InstallsNormalized</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="InstallsNotCovered">
<DataField>InstallsNotCovered</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="LicensingPositionIndicatorId">
<DataField>LicensingPositionIndicatorId</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="LicensingPositionPercentage">
<DataField>LicensingPositionPercentage</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="TimeStamp">
<DataField>TimeStamp</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
<Field Name="EstimatedCost">
<DataField>EstimatedCost</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="TitleLicensingPositionId">
<DataField>TitleLicensingPositionId</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="EstimatedCostCurrency">
<DataField>EstimatedCostCurrency</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="LT_Report">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<QueryParameters>
<QueryParameter Name="@ManagementPackSystemName">
<Value>Provance.Asset.BFA.Reports</Value>
</QueryParameter>
<QueryParameter Name="@ReportSystemName">
<Value>Provance.Report.SoftwareTitleTrackedByInstallation</Value>
</QueryParameter>
<QueryParameter Name="@LanguageCode">
<Value>=Code.GetReportLocLanguageCode()</Value>
</QueryParameter>
<QueryParameter Name="@Scope">
<Value>%</Value>
</QueryParameter>
</QueryParameters>
<CommandType>StoredProcedure</CommandType>
<CommandText>ReportDisplayStringGet</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="XML_F52E2B61_18A1_11d1_B105_00805F49916B">
<DataField>XML_F52E2B61-18A1-11d1-B105-00805F49916B</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="ParameterDisplayName">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<QueryParameters>
<QueryParameter Name="@PublisherId">
<Value>=Parameters!PublisherId.Value</Value>
<rd:UserDefined>true</rd:UserDefined>
</QueryParameter>
<QueryParameter Name="@LanguageCode">
<Value>=Code.GetReportLocLanguageCode()</Value>
</QueryParameter>
<QueryParameter Name="@ManagementScopeId">
<Value>=Parameters!ManagementScopeId.Value</Value>
</QueryParameter>
<QueryParameter Name="@ApprovalStatusId">
<Value>=Parameters!ApprovalStatusId.Value</Value>
</QueryParameter>
<QueryParameter Name="@LicensingCategoryId">
<Value>=Parameters!LicensingCategoryId.Value</Value>
</QueryParameter>
<QueryParameter Name="@SoftwareCategoryId">
<Value>=Parameters!SoftwareCategoryId.Value</Value>
</QueryParameter>
</QueryParameters>
<CommandText>--Query ParameterDisplayName SerializedHardwareAssets
--declare @LanguageCode nvarchar(256) select @LanguageCode = 'ENU'
--declare @PublisherId int,
-- @ManagementScopeId int,
-- @ApprovalStatusId int,
-- @LicensingCategoryId int,
-- @SoftwareCategoryId int
-- End test params

DECLARE @ManagementPackSystemName NVARCHAR(255),
@ReportSystemName NVARCHAR(255),
@SubElementName NVARCHAR(255)
SELECT @ManagementPackSystemName ='Provance.Asset.BFA.Reports',
@ReportSystemName ='Provance.Report.SoftwareTitleTrackedByInstallation',
@SubElementName ='All'

DECLARE @ManagementScope NVARCHAR(256),
@SoftwareCategory NVARCHAR(256),
@ApprovalStatus NVARCHAR(256),
@Publisher NVARCHAR(256),
@LicensingCategory NVARCHAR(256),
@All NVARCHAR(255)

-- Get the language specific value for All
SELECT @All = substring(ISNULL(rds.DisplayName,rds.SubElementName),1,256)
FROM ManagementPackDim mp
Left JOIN DisplayStringDim rds ON rds.ManagementPackId = mp.ManagementPackId
And rds.LanguageCode = @LanguageCode
And rds.ElementName = @ReportSystemName
And rds.SubElementName = @SubElementName
WHERE mp.MPName = @ManagementPackSystemName
AND rds.SubElementName like '%'

-- If we did not find All return the default
IF @All IS NULL
BEGIN
SELECT @ALL = ' [All]'
END
-- Get the Management Scope
IF ISNULL(@ManagementScopeId,-1) = -1
BEGIN
SELECT @ManagementScope = @All
END
ELSE
BEGIN
SELECT @ManagementScope = SUBSTRING(ISNULL(B.DisplayName, A.ProvanceSoftwareTitleManagementScopeValue),1,256)
FROM ProvanceSoftwareTitleManagementScopevw A
LEFT JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId
AND B.LanguageCode = @LanguageCode
WHERE A.ProvanceSoftwareTitleManagementScopeId = @ManagementScopeId
END
-- Get the Approval Status
IF ISNULL(@ApprovalStatusId,-1) = -1
BEGIN
SELECT @ApprovalStatus = @All
END
ELSE
BEGIN
SELECT @ApprovalStatus = SUBSTRING(ISNULL(B.DisplayName, A.ProvanceSoftwareTitleApprovalStatusValue),1,256)
FROM ProvanceSoftwareTitleApprovalStatusvw A
LEFT JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId
AND B.LanguageCode = @LanguageCode
WHERE A.ProvanceSoftwareTitleApprovalStatusId = @ApprovalStatusId
END
-- Get the Licensing Status
IF ISNULL(@LicensingCategoryId,-1) = -1
BEGIN
SELECT @LicensingCategory = @All
END
ELSE
BEGIN
SELECT @LicensingCategory = SUBSTRING(ISNULL(B.DisplayName, A.ProvanceSoftwareTitleLicensingCategoryValue),1,256)
FROM ProvanceSoftwareTitleLicensingCategoryvw A
LEFT JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId
AND B.LanguageCode = @LanguageCode
WHERE A.ProvanceSoftwareTitleLicensingCategoryId = @LicensingCategoryId
END


-- Get the Software Category
IF ISNULL(@SoftwareCategoryId,-1) = -1
BEGIN
SELECT @SoftwareCategory = @All
END
ELSE
BEGIN
SELECT @SoftwareCategory = substring(A.DisplayName,1,256)
FROM ProvanceSoftwareCategoryDimvw A
WHERE A.ProvanceSoftwareCategoryDimKey = @SoftwareCategoryId
AND A.IsDeleted = 0
END

-- Get the Publisher
IF ISNULL(@PublisherId,-1) = -1
BEGIN
SELECT @Publisher = @All
END
ELSE
BEGIN
SELECT @Publisher = substring(A.DisplayName,1,256)
FROM ProvanceCompanyDimvw A
WHERE A.ProvanceCompanyDimKey = @PublisherId
AND A.IsDeleted = 0
END

-- Return the values
SELECT @ManagementScope ManagementScope,
@SoftwareCategory SoftwareCategory,
@ApprovalStatus ApprovalStatus,
@LicensingCategory LicensingCategory,
@Publisher Publisher
</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="ManagementScope">
<DataField>ManagementScope</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="SoftwareCategory">
<DataField>SoftwareCategory</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="ApprovalStatus">
<DataField>ApprovalStatus</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Publisher">
<DataField>Publisher</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="LicensingCategory">
<DataField>LicensingCategory</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="ManagementScope">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<QueryParameters>
<QueryParameter Name="@LanguageCode">
<Value>=Code.GetReportLocLanguageCode()</Value>
</QueryParameter>
</QueryParameters>
<CommandText>--Query SoftwareTitleLicensingStatus ManagementScope
-- declare @LanguageCode varchar(255) select @LanguageCode

declare @ManagementPackSystemName varchar(255),
@ReportSystemName varchar(255),
@SubElementName varchar(255)

SELECT @ManagementPackSystemName ='Provance.Asset.BFA.Reports',
@ReportSystemName ='Provance.Report.SoftwareTitleTrackedByInstallation',
@SubElementName ='All'


declare @AssignmentOnlyCalculation varchar(255),
@AssignmentOnlyCalculationId int
select @AssignmentOnlyCalculation = 'Assignment Only Calculation'
SELECT @AssignmentOnlyCalculationId = ProvanceSoftwareTitleManagementScopeId
FROM ProvanceSoftwareTitleManagementScope
WHERE ProvanceSoftwareTitleManagementScopeValue = @AssignmentOnlyCalculation

IF @AssignmentOnlyCalculationId IS NULL select @AssignmentOnlyCalculationId = -2

CREATE TABLE #temp
(
ManagementScopeId int,
DisplayName varchar(256)
)

INSERT INTO #temp
SELECT ProvanceSoftwareTitleManagementScopeId, DisplayName
FROM
(SELECT A.ProvanceSoftwareTitleManagementScopeId, ISNULL(B.DisplayName, A.ProvanceSoftwareTitleManagementScopeValue) AS DisplayName
FROM ProvanceSoftwareTitleManagementScope A
LEFT OUTER JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId
AND B.LanguageCode = @LanguageCode
WHERE A.ProvanceSoftwareTitleManagementScopeId NOT IN (0,1,@AssignmentOnlyCalculationId)
UNION ALL
SELECT -1 ,
ISNULL(rds.DisplayName,rds.SubElementName) AS DisplayName
FROM ManagementPackDim mp
Left JOIN DisplayStringDim rds ON (rds.ManagementPackId = mp.ManagementPackId)
And (rds.LanguageCode = @LanguageCode)
And (rds.ElementName = @ReportSystemName)
And (rds.SubElementName = @SubElementName)
WHERE mp.MPName = @ManagementPackSystemName
AND rds.SubElementName like '%'
) OptionSet
ORDER BY OptionSet.DisplayName

-- If -1 was not inserted as a ManagementScopeId, we look for the english version
DECLARE @AllParameter varchar(256)
SELECT @AllParameter = DisplayName
FROM #temp
WHERE ManagementScopeId = -1

IF @AllParameter IS NULL
BEGIN
INSERT INTO #temp
SELECT -1,
ISNULL(rds.DisplayName,rds.SubElementName) AS DisplayName
FROM ManagementPackDim mp
Left JOIN DisplayStringDim rds ON (rds.ManagementPackId = mp.ManagementPackId)
And (rds.LanguageCode = 'ENU')
And (rds.ElementName = @ReportSystemName)
And (rds.SubElementName = @SubElementName)
WHERE (mp.MPName = @ManagementPackSystemName)
AND ( (rds.SubElementName like '%'))
END

-- If there is still no -1 we add an enntry manually
insert into #temp select -1,'[All]' where not exists (select -1 from #temp where ManagementScopeId = -1)

SELECT *
FROM #temp
ORDER BY DisplayName


drop table #temp
</CommandText>
</Query>
<Fields>
<Field Name="ManagementScopeId">
<DataField>ManagementScopeId</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="DisplayName">
<DataField>DisplayName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="ApprovalStatus">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<QueryParameters>
<QueryParameter Name="@LanguageCode">
<Value>=Code.GetReportLocLanguageCode()</Value>
<rd:UserDefined>true</rd:UserDefined>
</QueryParameter>
</QueryParameters>
<CommandText>--Query SoftwareTitlesTrackedByInstallation ApprovalStatus
-- declare @LanguageCode varchar(255) select @LanguageCode = 'enu'

declare @ManagementPackSystemName varchar(255),
@ReportSystemName varchar(255),
@SubElementName varchar(255),
@Scope varchar(255)

SELECT @ManagementPackSystemName ='Provance.Asset.BFA.Reports',
@ReportSystemName ='Provance.Report.SoftwareTitleTrackedByInstallation',
@SubElementName ='All',
@Scope = '%'


CREATE TABLE #temp
(
ApprovalStatusId int,
DisplayName varchar(256)
)

INSERT INTO #temp
SELECT ProvanceSoftwareTitleApprovalStatusId, DisplayName
FROM
(SELECT A.ProvanceSoftwareTitleApprovalStatusId, ISNULL(B.DisplayName, A.ProvanceSoftwareTitleApprovalStatusValue) AS DisplayName
FROM ProvanceSoftwareTitleApprovalStatus A
LEFT OUTER JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId
AND B.LanguageCode = @LanguageCode
WHERE A.ProvanceSoftwareTitleApprovalStatusId NOT IN (0,1)
UNION ALL
SELECT -1 ,
ISNULL(rds.DisplayName,rds.SubElementName) AS DisplayName
FROM ManagementPackDim mp
Left JOIN DisplayStringDim rds ON (rds.ManagementPackId = mp.ManagementPackId)
And (rds.LanguageCode = @LanguageCode)
And (rds.ElementName = @ReportSystemName)
And (rds.SubElementName = @SubElementName)
WHERE mp.MPName = @ManagementPackSystemName
AND rds.SubElementName like @Scope
) OptionSet
ORDER BY OptionSet.DisplayName

-- If -1 was not inserted as a ApprovalStatusId, we look for the english version
DECLARE @AllParameter varchar(256)
SELECT @AllParameter = DisplayName
FROM #temp
WHERE ApprovalStatusId = -1

IF @AllParameter IS NULL
BEGIN
INSERT INTO #temp
SELECT -1,
ISNULL(rds.DisplayName,rds.SubElementName) AS DisplayName
FROM ManagementPackDim mp
Left JOIN DisplayStringDim rds ON (rds.ManagementPackId = mp.ManagementPackId)
And (rds.LanguageCode = 'ENU')
And (rds.ElementName = @ReportSystemName)
And (rds.SubElementName = @SubElementName)
WHERE (mp.MPName = @ManagementPackSystemName)
AND ((@Scope IS NULL) OR (rds.SubElementName like @Scope))
END

-- If there is still no -1 we add an enntry manually
insert into #temp select -1,'[All]' where not exists (select -1 from #temp where ApprovalStatusId = -1)

SELECT *
FROM #temp
ORDER BY DisplayName


drop table #temp
</CommandText>
</Query>
<Fields>
<Field Name="ApprovalStatusId">
<DataField>ApprovalStatusId</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="DisplayName">
<DataField>DisplayName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="LicensingCategory">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<QueryParameters>
<QueryParameter Name="@LanguageCode">
<Value>=Code.GetReportLocLanguageCode()</Value>
</QueryParameter>
</QueryParameters>
<CommandText>--Query SoftwareTitlesTrackedByInstallation LicensingCategory
-- declare @LanguageCode varchar(255) select @LanguageCode = 'enu'
-- =Code.GetReportLocLanguageCode()

declare @ManagementPackSystemName varchar(255),
@ReportSystemName varchar(255),
@SubElementName varchar(255),
@Scope varchar(255)

SELECT @ManagementPackSystemName ='Provance.Asset.BFA.Reports',
@ReportSystemName ='Provance.Report.SoftwareTitleTrackedByInstallation',
@SubElementName ='All',
@Scope = '%'


CREATE TABLE #temp
(
LicensingCategoryId int,
DisplayName varchar(256)
)

INSERT INTO #temp
SELECT ProvanceSoftwareTitleLicensingCategoryId, DisplayName
FROM
(SELECT A.ProvanceSoftwareTitleLicensingCategoryId, ISNULL(B.DisplayName, A.ProvanceSoftwareTitleLicensingCategoryValue) AS DisplayName
FROM ProvanceSoftwareTitleLicensingCategory A
LEFT OUTER JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId
AND B.LanguageCode = @LanguageCode
WHERE A.ProvanceSoftwareTitleLicensingCategoryId NOT IN (0,1)
UNION ALL
SELECT -1 ,
ISNULL(rds.DisplayName,rds.SubElementName) AS DisplayName
FROM ManagementPackDim mp
Left JOIN DisplayStringDim rds ON (rds.ManagementPackId = mp.ManagementPackId)
And (rds.LanguageCode = @LanguageCode)
And (rds.ElementName = @ReportSystemName)
And (rds.SubElementName = @SubElementName)
WHERE mp.MPName = @ManagementPackSystemName
AND rds.SubElementName like @Scope
) OptionSet
ORDER BY OptionSet.DisplayName

-- If -1 was not inserted as a LicensingCategoryId, we look for the english version
DECLARE @AllParameter varchar(256)
SELECT @AllParameter = DisplayName
FROM #temp
WHERE LicensingCategoryId = -1

IF @AllParameter IS NULL
BEGIN
INSERT INTO #temp
SELECT -1,
ISNULL(rds.DisplayName,rds.SubElementName) AS DisplayName
FROM ManagementPackDim mp
Left JOIN DisplayStringDim rds ON (rds.ManagementPackId = mp.ManagementPackId)
And (rds.LanguageCode = 'ENU')
And (rds.ElementName = @ReportSystemName)
And (rds.SubElementName = @SubElementName)
WHERE (mp.MPName = @ManagementPackSystemName)
AND ((@Scope IS NULL) OR (rds.SubElementName like @Scope))
END

-- If there is still no -1 we add an enntry manually
insert into #temp select -1,'[All]' where not exists (select -1 from #temp where LicensingCategoryId = -1)

SELECT *
FROM #temp
ORDER BY DisplayName


drop table #temp
</CommandText>
</Query>
<Fields>
<Field Name="LicensingCategoryId">
<DataField>LicensingCategoryId</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="DisplayName">
<DataField>DisplayName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
</DataSets>
<ReportParameters>
<ReportParameter Name="LT_Report">
<DataType>String</DataType>
<DefaultValue>
<DataSetReference>
<DataSetName>LT_Report</DataSetName>
<ValueField>XML_F52E2B61_18A1_11d1_B105_00805F49916B</ValueField>
</DataSetReference>
</DefaultValue>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CalculationDate">
<DataType>DateTime</DataType>
<Nullable>true</Nullable>
<DefaultValue>
<Values>
<Value>=Now()</Value>
</Values>
</DefaultValue>
<Prompt>Calculation Date</Prompt>
</ReportParameter>
<ReportParameter Name="PublisherId">
<DataType>Integer</DataType>
<Nullable>true</Nullable>
<Prompt>Publisher Id</Prompt>
</ReportParameter>
<ReportParameter Name="ApprovalStatusId">
<DataType>Integer</DataType>
<Nullable>true</Nullable>
<DefaultValue>
<Values>
<Value>-1</Value>
</Values>
</DefaultValue>
<Prompt>Approval Status Id</Prompt>
<ValidValues>
<DataSetReference>
<DataSetName>ApprovalStatus</DataSetName>
<ValueField>ApprovalStatusId</ValueField>
<LabelField>DisplayName</LabelField>
</DataSetReference>
</ValidValues>
</ReportParameter>
<ReportParameter Name="LicensingCategoryId">
<DataType>Integer</DataType>
<Nullable>true</Nullable>
<DefaultValue>
<Values>
<Value>-1</Value>
</Values>
</DefaultValue>
<Prompt>Licensing Category Id</Prompt>
<ValidValues>
<DataSetReference>
<DataSetName>LicensingCategory</DataSetName>
<ValueField>LicensingCategoryId</ValueField>
<LabelField>DisplayName</LabelField>
</DataSetReference>
</ValidValues>
</ReportParameter>
<ReportParameter Name="SoftwareCategoryId">
<DataType>Integer</DataType>
<Nullable>true</Nullable>
<Prompt>Software Category Id</Prompt>
</ReportParameter>
<ReportParameter Name="ManagementScopeId">
<DataType>Integer</DataType>
<Nullable>true</Nullable>
<DefaultValue>
<Values>
<Value>-1</Value>
</Values>
</DefaultValue>
<Prompt>Management Scope Id</Prompt>
<ValidValues>
<DataSetReference>
<DataSetName>ManagementScope</DataSetName>
<ValueField>ManagementScopeId</ValueField>
<LabelField>DisplayName</LabelField>
</DataSetReference>
</ValidValues>
</ReportParameter>
<ReportParameter Name="ObjectStatusPendingDelete">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>="System.ConfigItem.ObjectStatusEnum.PendingDelete"</Value>
</Values>
</DefaultValue>
<Hidden>true</Hidden>
</ReportParameter>
</ReportParameters>
<Code><Script>
Const LocTableStringQuery As String = "R/S[@N='{0}']/text()"

Const TimeZoneParameterName As String = "TimeZone"
Const SD_BaseTypeParameterName As String = "StartDate_BaseType"
Const SD_BaseValueParameterName As String = "StartDate_BaseValue"
Const SD_OffsetTypeParameterName As String = "StartDate_OffsetType"
Const SD_OffsetValueParameterName As String = "StartDate_OffsetValue"
Const ED_BaseTypeParameterName As String = "EndDate_BaseType"
Const ED_BaseValueParameterName As String = "EndDate_BaseValue"
Const ED_OffsetTypeParameterName As String = "EndDate_OffsetType"
Const ED_OffsetValueParameterName As String = "EndDate_OffsetValue"
Const IsRelativeTimeSupported As Boolean = False
Const TimeTypeParameterName As String = "TimeType"
Const TimeWeekMapParameterName As String = "TimeWeekMap"

Dim LocTables As System.Collections.Generic.Dictionary(Of String, Microsoft.EnterpriseManagement.Reporting.XmlStringTable)
Dim ReportTimeZone As Microsoft.EnterpriseManagement.Reporting.TimeZoneCoreInformation
Dim ReportStartDate As DateTime
Dim ReportEndDate As DateTime
Dim ReportTime As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime
Dim ReportCulture As System.Globalization.CultureInfo
Dim ParameterProcessor As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor
Dim TargetList As String

Protected Overrides Sub OnInit()
LocTables = new System.Collections.Generic.Dictionary(Of String, Microsoft.EnterpriseManagement.Reporting.XmlStringTable)()
ReportTimeZone = Microsoft.EnterpriseManagement.Reporting.TimeZoneInformation.Current
ReportStartDate = DateTime.MinValue
ReportEndDate = DateTime.MinValue
ReportTime = Nothing
ReportCulture = System.Globalization.CultureInfo.GetCultureInfo(Report.User("Language"))
ParameterProcessor = New Microsoft.EnterpriseManagement.Reporting.ParameterProcessor(ReportCulture)
TargetList =Nothing
End Sub

'Public Function GetCallingManagementGroupId() As String
' Return 'Microsoft.EnterpriseManagement.Reporting.ReportingConfiguration.M'anagementGroupId
'End Function

Public Function GetReportLocLanguageCode() As String
Return ReportCulture.ThreeLetterWindowsLanguageName
End Function

Public Function GetReportLCID() As Integer
Return ReportCulture.LCID
End Function

Public Function GetLocTable(Name As String) As Microsoft.EnterpriseManagement.Reporting.XmlStringTable
Dim LocTable As Microsoft.EnterpriseManagement.Reporting.XmlStringTable

If Not LocTables.TryGetValue(Name, LocTable) Then
LocTable = New Microsoft.EnterpriseManagement.Reporting.XmlStringTable(LocTableStringQuery, Report.Parameters(Name).Value)
LocTables.Add(Name, LocTable)
End If

Return LocTable
End Function

Public Function GetReportTimeZone() As Microsoft.EnterpriseManagement.Reporting.TimeZoneCoreInformation
If IsNothing(ReportTimeZone) Then ReportTimeZone = Microsoft.EnterpriseManagement.Reporting.TimeZoneCoreInformation.FromValueString(Report.Parameters(TimeZoneParameterName).Value)
Return ReportTimeZone
End Function

Public Function ToDbDate(ByVal DateValue As DateTime) As DateTime
return GetReportTimeZone.ToUniversalTime(DateValue)
End Function

Public Function ToReportDate(ByVal DateValue As DateTime) As DateTime
return GetReportTimeZone.ToLocalTime(DateValue)
End Function

Public Function GetReportStartDate() As DateTime
If (ReportStartDate = DateTime.MinValue) Then
If (IsRelativeTimeSupported) Then
ReportStartDate = ParameterProcessor.GetDateTime(ToReportDate(DateTime.UtcNow), Report.Parameters(SD_BaseTypeParameterName).Value, Report.Parameters(SD_BaseValueParameterName).Value, Report.Parameters(SD_OffsetTypeParameterName).Value, Report.Parameters(SD_OffsetValueParameterName).Value, Report.Parameters(TimeTypeParameterName).Value)
Else
ReportStartDate = ParameterProcessor.GetDateTime(ToReportDate(DateTime.UtcNow), Report.Parameters(SD_BaseTypeParameterName).Value, Report.Parameters(SD_BaseValueParameterName).Value, Report.Parameters(SD_OffsetTypeParameterName).Value, Report.Parameters(SD_OffsetValueParameterName).Value)
End if
End If
return ReportStartDate
End Function

Public Function GetReportEndDate() As DateTime
If (ReportEndDate = DateTime.MinValue) Then
If (IsRelativeTimeSupported) Then
ReportEndDate = ParameterProcessor.GetDateTime(ToReportDate(DateTime.UtcNow), Report.Parameters(ED_BaseTypeParameterName).Value, Report.Parameters(ED_BaseValueParameterName).Value, Report.Parameters(ED_OffsetTypeParameterName).Value, Report.Parameters(ED_OffsetValueParameterName).Value, Report.Parameters(TimeTypeParameterName).Value)
If IsBusinessHours(GetReportTimeFilter()) Then ReportEndDate = ReportCulture.Calendar.AddDays(ReportEndDate, 1)
Else
ReportEndDate = ParameterProcessor.GetDateTime(ToReportDate(DateTime.UtcNow), Report.Parameters(ED_BaseTypeParameterName).Value, Report.Parameters(ED_BaseValueParameterName).Value, Report.Parameters(ED_OffsetTypeParameterName).Value, Report.Parameters(ED_OffsetValueParameterName).Value)
End if
End If
return ReportEndDate
End Function

Public Function GetReportTimeFilter() As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime
If IsNothing(ReportTime) Then ReportTime = New Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime(Report.Parameters(TimeTypeParameterName).Value, Report.Parameters(SD_BaseValueParameterName).Value, Report.Parameters(ED_BaseValueParameterName).Value, CStr(Join(Report.Parameters(TimeWeekMapParameterName).Value, ",")))
return ReportTime
End Function

Public Function IsBusinessHours(Value As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime) As Boolean
return (Not IsNothing(Value)) And (Value.TimeType = Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTimeType.Business)
End Function

Public Function FormatDateTime(Format As String, Value As DateTime) As String
return Value.ToString(Format, ReportCulture)
End Function

Public Function FormatNumber(Format As String, Value As Decimal) As String
return Value.ToString(Format, ReportCulture)
End Function

Public Function FormatString(Format As String, ParamArray Values() as Object) As String
return String.Format(ReportCulture, Format, Values)
End Function

Public Function NullFormatString(Format As String, Value as String) As String
return IIF(String.IsNullOrEmpty(Value), String.Empty, String.Format(ReportCulture, Format, Value))
End Function

Public Function FormatBusinessHours(Format As String, Value As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime) As String
Dim result As String

If IsBusinessHours(Value) Then

Dim firstDay As DayOfWeek
Dim days As System.Collections.Generic.List(Of String)

firstDay = ReportCulture.DateTimeFormat.FirstDayOfWeek
days = new System.Collections.Generic.List(Of String)()

For loopDay As DayOfWeek = DayOfWeek.Sunday To DayOfWeek.Saturday
Dim day As DayOfWeek
day = CType((CInt(loopDay) + CInt(firstDay)) Mod 7, DayOfWeek)

If value.WeekMap.Contains(day) Then days.Add(ReportCulture.DateTimeFormat.GetAbbreviatedDayName(day))
Next loopDay

result = FormatString(Format, DateTime.Today.Add(Value.StartTime).ToString(ReportCulture.DateTimeFormat.ShortTimePattern), DateTime.Today.Add(Value.EndTime).ToString(ReportCulture.DateTimeFormat.ShortTimePattern), String.Join(",", days.ToArray()))

Else
result = String.Empty
End if

return result
End Function

Public Function BuildXmlValueList(ByVal ValueList() As Object) As String
Return Microsoft.EnterpriseManagement.Reporting.MultiValueParameter.ToXml("Data", "Value", ValueList)
End Function


REM -------------------------------------------------

Dim ReportFormatList As System.Collections.Generic.Dictionary(Of String, IDataFormatter)
Const FormatListParameterName As String = "DataFormat"

REM -------------------------------------------------

Public Interface IDataFormatter
Function FormatData(ByVal Value As String) As String
End Interface

Public Class RankDataFormatter
Implements IDataFormatter

Private Series As System.Collections.Generic.SortedDictionary(Of Decimal, String)
Private Culture As System.Globalization.CultureInfo

Public Sub New(ByVal Config As System.Xml.XmlNode, ByVal ReportCulture As System.Globalization.CultureInfo)
Culture = ReportCulture
Series = New System.Collections.Generic.SortedDictionary(Of Decimal, String)()

For Each SeriesXml As System.Xml.XmlNode In Config.ChildNodes
Series.Add(Decimal.Parse(SeriesXml.Attributes("Rank").Value), SeriesXml.Attributes("Format").Value)
Next
End Sub

Public Function FormatData(ByVal Value As String) As String Implements IDataFormatter.FormatData
Dim Result As String = CDec(Value).ToString("G", Culture)

For Each FormatItem As System.Collections.Generic.KeyValuePair(Of Decimal, String) In Series
Dim RunningValue As Decimal = Math.Round(Value / FormatItem.Key)
If RunningValue &gt; 0 Then
Result = String.Format(Culture, FormatItem.Value, RunningValue.ToString("G", Culture))
Else
Exit For
End If
Next

Return Result
End Function
End Class

Public Class LookupDataFormatter
Implements IDataFormatter

Private MappingTable As System.Collections.Generic.IDictionary(Of String, String)

Public Sub New(ByVal Config As System.Xml.XmlNode)
MappingTable = New System.Collections.Generic.Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase)
For Each SeriesXml As System.Xml.XmlNode In Config.ChildNodes
MappingTable.Add(Decimal.Parse(SeriesXml.Attributes("Value").Value), SeriesXml.Attributes("Label").Value)
Next
End Sub

Public Function FormatData(ByVal Value As String) As String Implements IDataFormatter.FormatData
Dim Result As String
If MappingTable.ContainsKey(Value) Then
Result = MappingTable(Value)
Else
Result = Value
End If
Return Result
End Function
End Class

Public Function GetReportFormatList() As System.Collections.Generic.Dictionary(Of String, IDataFormatter)
If IsNothing(ReportFormatList) Then
Dim Xml As System.Xml.XmlDocument = New System.Xml.XmlDocument()
Xml.LoadXml(Report.Parameters(FormatListParameterName).Value)

ReportFormatList = New System.Collections.Generic.Dictionary(Of String, IDataFormatter)(StringComparer.OrdinalIgnoreCase)
For Each Node As System.Xml.XmlNode In Xml.DocumentElement.ChildNodes
Dim Formatter As IDataFormatter = Nothing

Select Case Node.Attributes("Type").Value.ToUpper()
Case "RANK"
Formatter = New RankDataFormatter(Node, ReportCulture)
Case "LOOKUP"
Formatter = New LookupDataFormatter(Node)
End Select

If Not IsNothing(Formatter) Then
ReportFormatList.Add(Node.Attributes("Name").Value, Formatter)
End If
Next
End If
Return ReportFormatList
End Function

Public Function FormatData(ByVal FormatName As String, ByVal DataType As String, ByVal Value As String)
Dim FormatList As System.Collections.Generic.Dictionary(Of String, IDataFormatter) = GetReportFormatList()
If Not String.IsNullOrEmpty(FormatName) And Not IsNothing(FormatList) Then
If FormatList.ContainsKey(FormatName) Then
Return FormatList(FormatName).FormatData(Value)
End If
End If

If Not String.IsNullOrEmpty(DataType) Then
If DataType = "DateTime" Then
Return FormatDateTime("g", CDate(Value))
ElseIf DataType.StartsWith("UInt") Then
Return FormatNumber("G", Value)
End If
End If

Return Value
End Function

REM ----------------------------------------

Public Dim CurrentObjectList As String

Public Function InitList(ByRef List As String) As String
List = String.Empty
Return List
End Function

Public Function AddListItem(ByRef List As String, Item as String) As String
List = List + Item
Return List
End Function

Public Function GetObjectList(ByVal OptionsXml As String) As String()
Dim Xml As System.Xml.XmlDocument
Xml = New System.Xml.XmlDocument()
Xml.LoadXml(OptionsXml)

Dim Result As System.Collections.Generic.List(Of String)
Result = New System.Collections.Generic.List(Of String)
For Each ObjectNode As System.Xml.XmlNode In Xml.SelectNodes("/Value/Object")
If Not Result.Contains(ObjectNode.InnerText) Then
Result.Add(ObjectNode.InnerText)
End If
Next

Return Result.ToArray()
End Function
</Script></Code>
<Language>en-US</Language>
<CodeModules>
<CodeModule>System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</CodeModule>
<CodeModule>Microsoft.EnterpriseManagement.Reporting.Code, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</CodeModule>
</CodeModules>
<ConsumeContainerWhitespace>true</ConsumeContainerWhitespace>
<rd:ReportUnitType>Inch</rd:ReportUnitType>
<rd:ReportID>8cfda3d8-0575-4fa2-9565-b97fa1b1e18b</rd:ReportID>
</Report>