The OneStream Community is temporarily frozen until June 29th due to the ongoing maintenance. Please read the blog post here to learn more.
Forum Discussion
jeffvdt
1 year agoNew Contributor III
connector business rule
Hi All,
I think i have a very simple requirement but i cant seem to get it to work. I just want the API to make use of the entity which the user is currently using in the workflow. The code i now have is as following
Dim sURL As String = "xxx"
Dim pkWFunitPk As WorkflowUnitPk = BRApi.Workflow.General.GetWorkflowUnitPk(si)
Dim sYear As String = TimeDimHelper.GetYearFromId(pkWFunitPk.TimeKey).ToString
Dim sPeriod As String = TimeDimHelper.GetSubComponentsFromId(pkWFunitPk.TimeKey).Month.ToString
Dim sAPIKey As String = "xxx"
Dim sYearPeriodParam As String = String.Format("?yearPeriod={0}{1}", sYear, sPeriod)
Dim sEntities As String = "&company=244"
'Dim sEntityParam As String = String.Format("&company=[{0}]", sEntities)
Dim sJson As String = String.Empty
'----------------------------------------------------------------------------------------------------
'Execute HTTP Request
Using client As New HttpClient
client.DefaultRequestHeaders.Add("Client_Secret", sAPIKey)
'Send the GET request
Dim response As HttpResponseMessage = client.GetAsync(String.Format("{0}{1}{2}", sURL, sYearPeriodParam, sEntities)).Result
response.EnsureSuccessStatusCode()
Hi,
If all this is in a Connector Rule then you can use the api object to get the information for the current workflow so you don't need to use the BRApi to retrieve the WorkflowInfo object i.e. api.WorkflowProfile.ProfileKey
So you would only need this code:
Dim sEntityFilter As String = BRApi.Workflow.Metadata.GetProfileEntitiesAsMemberFilter(si, api.WorkflowProfile.ProfileKey)
6 Replies
- SimonHesfordContributor II
Hi,
Just to clarify are you trying to get the Entities assigned to the current workflow and are the Entity names the same as in the source system?
- jeffvdtNew Contributor III
Yes, i just want to use the entities assigned to the current workflow. Entity name is the same as in ERP so thats easy i think 🙂 Thanks for your help!!!!
- SimonHesfordContributor II
The following will return you a comma delimited string like this:
E#[381],E#[145],E#[492],E#[573]
Dim wfProfileInfo As WorkflowProfileInfo = BRApi.Workflow.Metadata.GetProfile(si, "NameOfYourWFProfile")
Dim sEntityFilter As String = BRApi.Workflow.Metadata.GetProfileEntitiesAsMemberFilter(si, wfProfileInfo.ProfileKey)Therefore you will probably want to format the string to get rid of the Dimension flag e.g.
sEntityFilter.Replace("E#",String.Empty)
- jeffvdtNew Contributor III
Thanks! Worked!!!
Related Content
- 9 months ago
- 2 years ago