Imports System Imports System.Data Imports System.Data.Common Imports System.IO Imports System.Collections.Generic Imports System.Globalization Imports System.Linq Imports Microsoft.VisualBasic Imports System.Windows.Forms Imports OneStream.Shared.Common Imports OneStream.Shared.Wcf Imports OneStream.Shared.Engine Imports OneStream.Shared.Database Imports OneStream.Stage.Engine Imports OneStream.Stage.Database Imports OneStream.Finance.Engine Imports OneStream.Finance.Database Namespace OneStream.BusinessRule.DashboardStringFunction.XFBR_CV_Helpers Public Class MainClass '------------------------------------------------------------------------------------------------------------ 'Reference Code: XFBR_CV_Helpers ' 'Description: XFBR Examples ' 'Usage: Used to provide conditional parameter processing functions that allow a parameter ' value to be interpreted and subtituted with a different string. 'Usage Example: BRString(XFBR_CV_Helpers, FunctionName, ParamName=ParamValue) ' 'Created By: OneStream Software 'Date Created: 01-06-2015 '------------------------------------------------------------------------------------------------------------ Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardStringFunctionArgs) As Object Try If (args.FunctionName.XFEqualsIgnoreCase("CheckDataForVisibleColumn")) Then Return Me.CheckDataForVisibleColumn(si, globals, api, args) End If Return Nothing Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End Function #Region "Standard Helper Functions" Public Function CheckDataForVisibleColumn (ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardStringFunctionArgs) As String Try 'Get WFCluster Criteria Values Dim profileName As String = BRApi.Workflow.Metadata.GetProfile(si, si.WorkflowClusterPk.ProfileKey).Name Dim scenarioName As String = ScenarioDimHelper.GetNameFromId(si, si.WorkflowClusterPk.ScenarioKey) Dim timeName As String = TimeDimHelper.GetNameFromId(si.WorkflowClusterPk.TimeKey) Dim priTimeName As String = TimeDimHelper.GetNameFromId(TimeDimHelper.GetPriorPeriod(si.WorkflowClusterPk.TimeKey)) 'Get the name value pairs passed in with the function call Dim entityMember As String = args.NameValuePairs.XFGetValue("entityMember").ToString.Replace("'","") If entityMember = Nothing Then entityMember = "None" 'Build the member string to check data Dim memberString As String memberString = "E#" & EntityMember memberString = memberString & ":C#Local" memberString = memberString & ":S#" & scenarioName memberString = memberString & ":T#"& timename memberString = memberString & ":V#YTD" memberString = memberString & ":A#69000" memberString = memberString & ":F#None" memberString = memberString & ":O#Top:I#Top:U1#Top:U2#Top:U3#None:U4#None:U5#None:U6#None:U7#None:U8#None" 'Get the datacell Dim DataCell As DataCell = BRApi.Finance.Data.GetDataCellUsingMemberScript(si, "GolfStream", memberString).DataCellEx.DataCell 'If the cell has real data then set the return value to True If DataCell.CellAmount <> 0 Then Return "True" Else Return "False" End If Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End Function #End Region End Class End Namespace