Testing

jtOnestream
New Contributor
 
1 REPLY 1

T_Kress
Contributor III

I have seen this done before with a dashboard extender BR.  

Here is some DB extender BR sample code that should get you started:

Namespace OneStream.BusinessRule.DashboardExtender.SetDefaultParamValue
	Public Class MainClass
		Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardExtenderArgs) As Object
			Try
				Select Case args.FunctionType
								
					Case Is = DashboardExtenderFunctionType.LoadDashboard

						If (args.FunctionName.XFEqualsIgnoreCase("OnLoadMainDashboard_Sales")) Then	
							If args.LoadDashboardTaskInfo.Reason = LoadDashboardReasonType.Initialize And args.LoadDashboardTaskInfo.Action = LoadDashboardActionType.BeforeFirstGetParameters Then
								
								'Initialize Message
								Dim loadDashboardTaskResult As New XFLoadDashboardTaskResult()
								loadDashboardTaskResult.ChangeCustomSubstVarsInDashboard = True

								'Grab the default value to pass into the dashboard
								Dim defaultSalesperson As String = BRApi.Dashboards.Parameters.GetLiteralParameterValue(si, False, "Salesperson_DefaultValue")
																
								'Modify the workflow profile entity parameter to pass in the default value at run time
								loadDashboardTaskResult.ModifiedCustomSubstVars.Add("paramSecuritySalesPersonBase", defaultSalesperson)
								
'								brapi.ErrorLog.LogMessage(si, "defaultSalesperson = " & defaultSalesperson)

								Return loadDashboardTaskResult	
							End If
						End If
						
						If (args.FunctionName.XFEqualsIgnoreCase("OnLoadMainDashboard_SGA")) Then	
							If args.LoadDashboardTaskInfo.Reason = LoadDashboardReasonType.Initialize And args.LoadDashboardTaskInfo.Action = LoadDashboardActionType.BeforeFirstGetParameters Then
								
								'Initialize Message
								Dim loadDashboardTaskResult As New XFLoadDashboardTaskResult()
								loadDashboardTaskResult.ChangeCustomSubstVarsInDashboard = True

								'Grab the default value to pass into the dashboard
								Dim wfSGABranch As String = BRApi.Dashboards.Parameters.GetLiteralParameterValue(si, False, "SGA_Branches_DefaultValue")
																
								'Modify the workflow profile entity parameter to pass in the default value at run time
								loadDashboardTaskResult.ModifiedCustomSubstVars.Add("SGA_Branches", wfSGABranch)
								loadDashboardTaskResult.ModifiedCustomSubstVars.Add("paramWFBranch", wfSGABranch)
																
'								brapi.ErrorLog.LogMessage(si, "wfSGABranch = " & wfSGABranch)

								Return loadDashboardTaskResult	
							End If
						End If
						
						If (args.FunctionName.XFEqualsIgnoreCase("OnLoadMainDashboard_CONSGA")) Then	
							If args.LoadDashboardTaskInfo.Reason = LoadDashboardReasonType.Initialize And args.LoadDashboardTaskInfo.Action = LoadDashboardActionType.BeforeFirstGetParameters Then
								
								'Initialize Message
								Dim loadDashboardTaskResult As New XFLoadDashboardTaskResult()
								loadDashboardTaskResult.ChangeCustomSubstVarsInDashboard = True

								'Grab the default value to pass into the dashboard
								Dim wfSGABranchCon As String = BRApi.Dashboards.Parameters.GetLiteralParameterValue(si, False, "SGA_Branches_Copy_3_Default")
								Dim wfSGABranch As String = BRApi.Dashboards.Parameters.GetLiteralParameterValue(si, False, "SGA_Branches_DefaultValue")
'								brapi.ErrorLog.LogMessage(si, "wfSGABranchCon = " & wfSGABranchCon)
								
								
								'Modify the workflow profile entity parameter to pass in the default value at run time
								loadDashboardTaskResult.ModifiedCustomSubstVars.Add("SGA_Branches_Copy_3", wfSGABranchCon)
								loadDashboardTaskResult.ModifiedCustomSubstVars.Add("SGA_Branches", wfSGABranch)
								loadDashboardTaskResult.ModifiedCustomSubstVars.Add("paramWFBranch", wfSGABranch)
																
'								brapi.ErrorLog.LogMessage(si, "wfSGABranch = " & wfSGABranch)

								Return loadDashboardTaskResult	
							End If
						End If
						
						
				End Select

				Return Nothing
			      Catch ex As Exception
				Throw ErrorHandler.LogWrite(si, New XFException(si, ex))
			End Try

		End Function
	End Class
End Namespace

 

Teresa C. Kress
Principal Delivery Manager Partner Enablement | OneStream Software