Run a DM as a different user
Hi there, We have one Business Rule that reorganize some security groups adding/removing Parent Groups based on a certain hierarchy, however, we are facing the issue that when the user executing this Business Rule belongs to a group that is being reorganized, we get the following error message: "Security Access Error. You cannot add/remove yourself or a group that you belong to or an Administrators group to/from the current group." That error is perfectly reasonable, but we need to find a way to bypass that. In other softwares exists the possibility to execute a Job as a different user (usually non-interactive) which has the required security configuration to ensure the process is executed successfully. How can we achive that same result in OneStream? Thank you! Bests,Solved142Views0likes4CommentsHow to Recall Another Business Rule into a Different Business Rule
Hello, Trying to build a business rule to send an email once a button is pressed. The business rule that I'm trying to use is encrypted and I cannot get into it so I was trying to figure out a way to recall that business rule to check if a Lease change status to submitted. I read something about Referenced Assemblies, but I'm not fully sure if that's right or what I even code it as in my current business rule. This is the BR I'm trying to call into my current rule Thanks, Will47Views0likes1CommentGet UD member Display member Group
Hello OneStreamers, Good day! Could you please guide me on how to retrieve the Display Member Group for a UD dimension member? I am currently looping through UD1 members using a GetMembersUsingFilter function, and I would like to capture the Display Member Group associated with each UD member. Any guidance or suggestions would be greatly appreciated. Thank you in advance!Solved38Views0likes1CommentHow to Pull Workflow Certify Comment into BR Email
Hello, I'm trying to pull in the certify comment section when a user clicks on the "Set Certification Status" button. We currently are using the Workflow Event Helper to send the email when the certification is set to In-Process or Certified. Dim oEntityList As List(Of WorkflowProfileEntityInfo) = BRApi.Workflow.Metadata.GetProfileEntities(si, oWorkflowInfo.WfUnitPk.ProfileKey) emailTo = BRApi.Finance.Entity.Text(si, oEntityList(0).EntityMemberID, 8, False, False) emailBody = $"[{si.AppName}] - Status Of {sWFProfileName} WF | {sWFScenario} Scenario For {sMonth} {iYear} was changed To {If(oWorkflowInfo.IsCertified, "Certified", "InProcess")} By {si.UserName}" emailSubject = $"FM Task: {sWFProfileName} Certification Status has been changed to {If(oWorkflowInfo.IsCertified, "Certified", "InProcess")}" FBR_ConnectorLibrary.emailSend(si, emailTo, emailBody, emailSubject, emailBody) Thanks, Will31Views0likes0CommentsDynamic Cube Views and Workspaces
Dear community, I was reading the documentation about cube view services, which implies that the dynamic cube views that are accessible by Dynamic Cube View Services need to be in the same workspace. Do you know if this is mandatory to have dynamic cube views in the same workspace (as it seems a like a real issue in production) or is there a workaround to address dynamic cube views that are outside of the assembly's workspace ? Many thanks,99Views0likes3CommentsI want to Validate that the Data is cleared and validate the calculate
Hi all - We have a Labor Allocation Process that runs manually which we have seen some silent failures occur through our Api Calculate or Api Clear data. I am attempting to go through our business rules and add more complex logging to get a better understanding where/when these things occur. Lets say I had this code block.. Dim sourceDims As String = "U2#None:U3#None:O#Import:I#None:F#None:V#Periodic:C#USD" Dim destinationDims As String = "U2#None:U3#None:O#Import:I#None:F#None:V#Periodic:C#USD" If args.CustomCalculateArgs.FunctionName.XFEqualsIgnoreCase("Copy3rdPartyImportData") Then 'Only run for the Base Entities and local currency If (Not api.Entity.HasChildren()) And (api.Cons.IsLocalCurrencyForEntity()) 'Get the current scenario Name Dim curScenarioName As String = api.Pov.Scenario.Name If curScenarioName = "Rpt_Mar" Then 'Clear previously calculated data api.Data.ClearCalculatedData(True, True, True, True,"A#3PFB_Capital","O#Import","I#None","V#Periodic","C#USD") api.Data.ClearCalculatedData(True, True, True, True,"A#3PFB_Expense","O#Import","I#None","V#Periodic","C#USD") api.Data.ClearCalculatedData(True, True, True, True,"A#Travel_Capital","O#Import","I#None","V#Periodic","C#USD") api.Data.ClearCalculatedData(True, True, True, True,"A#Travel_Expense","O#Import","I#None","V#Periodic","C#USD") 'Seed Current Scenario with previous imported 3rd party data api.Data.Calculate("S#" & curScenarioName & ":A#3PFB_Capital:" & destinationDims & " = RemoveZeros(S#Rpt_Feb:A#3PFB_Capital:" & sourceDims & ")",True) api.Data.Calculate("S#" & curScenarioName & ":A#3PFB_Expense:" & destinationDims & " = RemoveZeros(S#Rpt_Feb:A#3PFB_Expense:" & sourceDims & ")",True) api.Data.Calculate("S#" & curScenarioName & ":A#Travel_Capital:" & destinationDims & " = RemoveZeros(S#Rpt_Feb:A#Travel_Capital:" & sourceDims & ")",True) api.Data.Calculate("S#" & curScenarioName & ":A#Travel_Expense:" & destinationDims & " = RemoveZeros(S#Rpt_Feb:A#Travel_Expense:" & sourceDims & ")",True) I have tried: Dim srcCap As Decimal = api.Data.GetDataCell("S#Rpt_Nov:A#3PFB_Capital:U1#TotUD1:U2#None:U3#None:U4#TotUD4:U5#None:U6#None:U7#None:U8#None:O#Import:I#None:F#None:V#Periodic:C#USD:E#CHN000").CellAmount BRApi.ErrorLog.LogMessage(si, "SOURCE 3PFB_Capital=" & srcCap.ToString("N2")) Which results in 0. api.Data.Calculate(formula1, True) Dim verify1 As Decimal = api.Data.GetDataCell("S#Rpt_Dec:A#3PFB_Capital:U1#TotUD1:U2#None:U3#None:U4#TotUD4:...E#" & api.Pov.Entity.Name).CellAmount BRApi.ErrorLog.LogMessage(si, "DEST read-back=" & verify1.ToString("N2")) same with something like this.45Views0likes1CommentOrders calculation formula using Backlog and Sales Accounts
Hello, I'm attempting to create an orders (500055) account, calculated using existing Backlog (500054) and Sales (100020) Accounts. (Current Month Backlog - Prior Month Backlog + Current Month Sales) When I run this calculation in the forecast scenario, February - December work as expected, but there is an issue with January that I can't pinpoint. Any ideas where I've gone wrong? Thank you in advance, Justin Trad If ((Not api.Entity.HasChildren()) And (api.Cons.IsLocalCurrencyForEntity)) And api.Time.GetPeriodNumFromId(api.Pov.Time.MemberID) = 1 Then api.data.calculate("A#500055:T#PovYearM1:O#import:U1#none:U2#none:U5#none:U6#none = (A#500054:T#PovYearM1:O#top:U1#top:U2#top:U5#top:U6#top - A#500054:T#PovPriorYearM12:O#top:U1#top:U2#top:U5#top:U6#top) + A#100020:T#PovYearM1:O#top:U1#top:U2#top:U5#top:U6#top") Else If ((Not api.Entity.HasChildren()) And (api.Cons.IsLocalCurrencyForEntity)) Then api.data.calculate("A#500055:T#Pov:O#import:U1#none:U2#none:U5#none:U6#none = (A#500054:T#Pov:O#top:U1#top:U2#top:U5#top:U6#top - A#500054:T#PovPrior1:O#top:U1#top:U2#top:U5#top:U6#top) + A#100020:T#Pov:O#top:U1#top:U2#top:U5#top:U6#top") End If97Views0likes2CommentsHow to round the result of a calculation?
Hi everyone, I would like to round the value for a calculation, I try wit this api.Data.Calculate("A#P_EBPPrct:O#Import:U1#D0000:U2#P0000:U3#CORP_ADJ:U4#PJ00000 = Round(Divide(A#433100, A#411000:E#" & strEntTx3 & ":C#Local:O#Top:U1#ALL_DEPARTMENTS:U2#PROMO:U3#CORP_RPT:U4#ALL_PROJECTS))") or this api.Data.Calculate("A#P_EBPPrct:O#Import:U1#D0000:U2#P0000:U3#CORP_ADJ:U4#PJ00000 = Divide(A#433100, A#411000:E#" & strEntTx3 & ":C#Local:O#Top:U1#ALL_DEPARTMENTS:U2#PROMO:U3#CORP_RPT:U4#ALL_PROJECTS)",AddressOf OnEvalDataBuffer) Private Sub OnEvalDataBuffer(ByVal api As FinanceRulesApi, ByVal evalName As String, ByVal eventArgs As EvalDataBufferEventArgs) Dim resultCells As New Dictionary(Of DataBufferCellPk, DataBufferCell) For Each sourceCell As DataBufferCell In eventArgs.DataBuffer1.DataBufferCells.Values sourceCell.CellAmount = math.round(sourceCell.CellAmount) Next eventArgs.DataBufferResult.DataBufferCells = eventArgs.DataBuffer1.DataBufferCells End Sub but didn't work, so, OS have a way to round values in a calculation?79Views0likes2CommentsAUDIT log not appearing for BRAPI access provision
Hi all, I am using the Business Rule to perform the user access provisioning using BRApi for security management. And used this BR in DAM job, added the DM to a task scheduler job to run it. All are working fine, but in the DASHBOARD -->NAVIGATION CENTER--> SECURITY AUDIT REPORTS --> USER CHANGE AUDIT. I cannot see the change line appearing in this report, executed by task scheduled for the DM (run by Business Rule.). Is there a way to enable the time in this report. apart from this i see the audit data and time in TOTAL USERS, USER LIST reports. -------------------------------------------------------- another important point i noted was ,those new user whoever i provisioned through the BR are uanable to authenticate. but when i make a small change like space or some modification in the user parameter save it. then undo the change and save it. they are able to authenticate the applciation.105Views0likes1Comment