Business rule to upload the file and then Import using Workflow

New Contributor


We are trying to automate the File-based Import data, Validate data, and Load data to the cube process using the business rule. So, could you please let me know how I can procced as I am new to the business rules in OneStream?



Valued Contributor

Hi @RamireddyPrem 

You should have a look at this code :

'Set Processing Switches 
Dim valTransform As Boolean = True
Dim valIntersect As Boolean = True
Dim loadCube As Boolean = True
Dim processCube As Boolean = False
Dim confirm As Boolean = False
Dim autoCertify As Boolean = False
Dim scenario As String = "Actual"
Dim timeperiod As String = "2017M3"

'Execute Batch
Dim batchInfo As WorkflowBatchFileCollection = BRAPi.Utilities.ExecuteFileHarvestBatch(si, scenario, timeperiod, valTransform, valIntersect, loadCube, processCube, confirm, autoCertify, False)


I would like to point at you that there is a solution that can also use the Task Scheduler - not the vanilla one, but an advanced version of it. Have a look at it, it is called the data import shedule manager :

If it helps, please give a kuddo.

Connect with me on:
If you want to lift yourself up, lift up someone else.

Does it really work? How do we point to the workflow we want to execute? I tried this by opening the chosen workflow and no result after business rule execution.

I found in another topic that there is a formula BRApi.Import.Process.ExecuteParseAndTransform(), but I do not know how to define the source.

>>> Solved: Automating WF Execution - OneStream Community (

Dim wfClusterPkBig As WorkflowUnitClusterPk = BRApi.Workflow.General.GetWorkflowUnitClusterPk(si, "WorkflowName", "Actual", "2023M1") 

Dim wfClusterPk As WorkflowUnitClusterPk = BRApi.Workflow.General.GetWorkflowUnitClusterPk(si, "WorkflowName.Import", "Actual", "2023M1") 

BRApi.Import.Process.ExecuteParseAndTransform(si, wfClusterPk, "DataSourceNameYouCanFindInOneStreamApplication", Nothing, TransformLoadMethodTypes.Replace, SourceDataOriginTypes.FromDirectConnection, False) 

BRApi.Import.Process.ExecuteRetransform(si, wfClusterPk) 

BRApi.Import.Process.ValidateTransformation(si, wfClusterPk, True) 

BRApi.Import.Process.ValidateIntersections(si, wfClusterPk, True) 

BRApi.Import.Process.LoadCube(si, wfClusterPk) 

BRApi.Workflow.Status.GetWorkflowStatus(si, wfClusterPk, True) 

BRApi.DataQuality.Process.StartProcessCube(si, wfClusterPkBig, stepClassificationTypes.ProcessCube, True)



My solution for a part of the problem (it works in case we defined Connector, not sure how to import files)

New Contributor III

Hey, did you manage to solve this? I have the same wonder. All seems to work unless the Path= for source file. 

New Contributor III

Manage to find my issue. sourcedataorigintypes syntax was wrong.



I would rather use the API to do this vs. the Harvest file. If you use the search feature on the forum (search for automate workflow), you should see numerous topics with solutions to this same question.