Forum Discussion
Greg - have you considered a different approach? By bypassing Entities through Transformation Rules, the Source File/Connector or even on the Load Cube step (or other) I can see there being an issue where Stage doesn't reflect what is in the Cube (although what you are asking is possible). You may want to consider loading the Entities on the Workflows where they are assigned (and can take advantage of parallel processing) and then if the Profile is certified then the whole Import wouldn't get executed.
Hi Eric, thanks for the reply. Due to the ERP vendor, there is no direct connect available, so we have a fairly static TB file from the ERP with no parameters passed from OneStream to isolate specific workflow entities. Creating 50 different versions of the import files, in the ERP, to match the entities seemed cumbersome. Is there another way to load from one file through specific workflows?
We are going down the SFTP path. I would imagine Martin's group could parse and load the file by workflow entities, although to automate he would have to check for certification as well?
Appreciate the help on this.
- EricOsmanski3 years agoValued Contributor
Correct, you can actually open the file and create the 50 versions of the file with only the assigned Entities in each of the 50 through a BR. Then in the rule you can check the WF Status before you execute Import. This would make sure that the Stage Records match the Cube and not have the link compromised.
- KurtMayer2 years agoContributor
Eric, I'm very late to the party here, but couldn't you also add a Complex Expression to the Entity dimension of the Data Source that would reject any record that didn't belong to the Workflow's Assigned Entities? That way you could create the 50 Workflows, each with their own assigned entities, and literally load the same file to all 50 Workflows.
The Complex Expression for the Data Source's Entity dimension would look something like this:
Dim entity As String = args.Value Dim profileEntityInfo = New List(Of WorkflowProfileEntityInfo)( brapi.Workflow.Metadata.GetProfileEntities(si,api.WorkflowProfile.ParentProfileKey)) Dim profileEntityInfoString = New List(Of String)(profileEntityInfo.ConvertAll(Function(x) x.EntityName)) If profileEntityInfoString.Exists(Function(x) x = entity) Then Return args.Value Else Globals.Bypass = True End If
Related Content
- 11 months ago
- 6 months ago
- 4 months ago