Forum Discussion
NicolasArgente
2 years agoValued Contributor
Hi DiegoRomero
Please have a look at GolfStream. You should find there a business rule called BFRM_SolutionHelper.
In this BR you should find what you want. You can test it also from the dashboard that works with it. I think it should help you a lot. (see extract below)
Nic
Line 26 : You will find your LoadCube
Public Function AutoCompleteLoadAndProcessWF(ByVal si As SessionInfo, ByVal wfPlanClusterPk As WorkflowUnitClusterPk, ByVal wfImportChildSuffix As String) As Boolean
Try
Dim completed As Boolean = False
'If a suffix was not provided, just exit sub
If Not String.IsNullOrWhiteSpace(wfImportChildSuffix) Then
'Get the workflow unit PK and process the workflow
Dim wfProfile As WorkflowProfileInfo = BRApi.Workflow.Metadata.GetProfile(si, wfPlanClusterPk.ProfileKey)
Dim wfProfileParent As WorkflowProfileInfo = BRApi.Workflow.Metadata.GetProfile(si, wfProfile.ParentProfileKey)
Dim wfImportChildName As String = wfProfileParent.Name & "." & wfImportChildSuffix
Dim scenarioName As String = ScenarioDimHelper.GetNameFromId(si, wfPlanClusterPk.ScenarioKey)
Dim timeName As String = TimeDimHelper.GetNameFromId(wfPlanClusterPk.TimeKey)
Dim wfChildClusterPk As WorkflowUnitClusterPk = BRAPi.Workflow.General.GetWorkflowUnitClusterPk(si, wfImportChildName, scenarioName, timeName)
'Execute IMPORT-VALIDATE-LOAD-PROCESS workflow
If Not wfChildClusterPk Is Nothing Then
Dim impProcessInfo As LoadTransformProcessInfo = BRApi.Import.Process.ExecuteParseAndTransform(si, wfChildClusterPk, "", Nothing, TransformLoadMethodTypes.Replace, SourceDataOriginTypes.FromDirectConnection, True)
If impProcessInfo.Status = WorkflowStatusTypes.Completed Then
'Validate Transformation (Mapping)
Dim valTranProcessInfo As ValidationTransformationProcessInfo = BRApi.Import.Process.ValidateTransformation(si, wfChildClusterPk, True)
If valTranProcessInfo.Status = WorkflowStatusTypes.Completed Then
'Validate Intersections
Dim valIntersectProcessInfo = BRApi.Import.Process.ValidateIntersections(si, wfChildClusterPk, True)
If valTranProcessInfo.Status = WorkflowStatusTypes.Completed Then
'Load the cube
Dim lcProcessInfo = BRApi.Import.Process.LoadCube(si, wfChildClusterPk)
If lcProcessInfo.Status = WorkflowStatusTypes.Completed Then
BRApi.DataQuality.Process.ExecuteProcessCube(si, wfChildClusterPk, StepClassificationTypes.ProcessCube, False)
completed = True
End If
End If
End If
End If
Else
BRApi.ErrorLog.LogMessage(si, StringHelper.FormatMessage(Me.m_MsgAutoLoadWFProfileDoesNotExist, wfImportChildName, scenarioName, timeName))
End If
End If
Return completed
Catch ex As Exception
Throw ErrorHandler.LogWrite(si, New XFException(si, ex))
End Try
End Function
- DiegoRomero2 years agoNew Contributor II
Thanks Nicolas, will try it out and comment with the results!
Related Content
- 10 months ago
- 2 years ago
- 4 years ago
- 3 months ago