Forum Discussion

OS_Pizza's avatar
OS_Pizza
Contributor III
8 months ago

Summary: Unable to execute Business Rule ' '. Object reference not set to an instance of an object.

I have a dashboard with a Label component that uses a Cube View as the data adapter. Here's how it's set up:

  1. The Cube View (CV) employs an XFBR in the account POV to retrieve one account number. Therefore, I've assigned XFBR(BRName, Function_Name, Account =[|!Param_Account!|]).

  2. The XFBR utilizes a Member List parameter from the same dashboard, where I've set the parameter's default value.

The error occurs when I open the dashboard. The Label value attempts to run the Cube View, triggering the XFBR rule. However, it fails to capture the default value of the parameter, resulting in an error.

My assumption is that the XFBR is unable to transmit the default parameter value.


The workaround is to directly open the Cube View section and modify the account POV field to only include |!Param_Account!|, then run it once. This action somehow prompts the system to store the parameter value for that user. Subsequently, when the user runs it from the dashboard, the error is resolved.

Do you have any insights into why this issue is happening?"

  • sameburn's avatar
    sameburn
    Contributor II

    To resolve parameters at runtime for all users, please consider using a DashboardExtenderFunctionType.LoadDashboard function (DashboardExtender).  There are lots of examples in Golfstream.  That is a generic error that states that one of your parameters is not resolved in your logic.  So you either need (a) null handling in your logic (which is best practice) and / or (b) LoadDashboard logic when your dashboard is invoked e.g. setting parameter values as defaults e.g.

    				Select Case args.FunctionType
    					
    					Case Is = DashboardExtenderFunctionType.LoadDashboard
    						If args.FunctionName.XFEqualsIgnoreCase("OnLoad") Then
    							
    							'Implement Load Dashboard logic here.
    							
    							If args.LoadDashboardTaskInfo.Reason = LoadDashboardReasonType.Initialize And args.LoadDashboardTaskInfo.Action = LoadDashboardActionType.BeforeFirstGetParameters Then
    								Dim loadDashboardTaskResult As New XFLoadDashboardTaskResult()
    								loadDashboardTaskResult.ChangeCustomSubstVarsInDashboard = True
    								loadDashboardTaskResult.ModifiedCustomSubstVars.Add("Param_Account", "AccountName")
    								Return loadDashboardTaskResult
    							End If
    						End If
    						
    				End Select