Forum Discussion

RamireddyPrem's avatar
RamireddyPrem
New Contributor
2 years ago

Business rule to upload the file and then Import using Workflow

Hi,

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?

Thanks

  • NicolasArgente's avatar
    NicolasArgente
    Valued Contributor

    Hi RamireddyPrem 

    You should have a look at this code : https://community.onestreamsoftware.com/t5/Accepted-Code-Samples/Extender-Automate-Import-Validate-Load/ta-p/6915

    '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 : 
    https://solutionexchange.onestream.com/dashboard/home/browse

    If it helps, please give a kuddo.
    Thanks

      • Jarek_Sadowski's avatar
        Jarek_Sadowski
        New Contributor II
        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)

  • 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.