Derivative Transformation Rules
Hello! I need to split an entity into three separate entities using transformation rules and percentages. For example, I need to split E#50 into E#50B - 33%, E#50D - 33%, and E#50L - 33%. I've read that derivative transformation rules can be used for this purpose, but I'm unsure how to implement them. Additionally, I need to divide the amount of E#50B into two UD1s U1#2345 -50% and U1#2346 - 50%. Here's what I've attempted so far: What would be the proper way to do it? Ideally, we would like to store the percentages in UD4, so users can update them in a form. Is that possible? Thanks,27Views0likes1CommentUpdating Business Rule from WFYEAR to Global POV
Hello, I am trying to update a business rule that is currently set to WFYear to the Global Time. We use the SAP Selector Solution, but I am new to it. Currently the WFYear of the user who schedules a trial balance import impacts what data is being loaded. For example, if the user's WF POV is 2024, then data is pulling from the source for 2024. I appreciate any suggestions. Original Rule This is one idea I had, I am not sure T#|Global| will work since it is not a local variable. I also don't know if I need to change the "Dim wfYear As String = timeStr.Substring(0,4)" script. Thanks, RonnieSolved63Views1like9CommentsEnhancing User Management in Security Groups
Hi, We are currently using a Dashboard that allows admin to remove users from Security groups. I would like to enhance this functionality so that approvers, rather than admins, have the ability to remove users from security groups. Currently, the system security roles under the " System tab" are set to "ADMIN" by default for the "Manage System Security Groups" setting. Unfortunately, we cannot make changes to these System Security roles due to the large number of approvers across various groups. Could you offer suggestions or guidance on how we can implement this enhancement effectively? Thanks in advance.18Views0likes0CommentsDataManagementEventHandler Args
Hi, I try to get the data unit information of different DM steps, such as Calculate, Copy Data, Reset Scenario, Clear Scenario, Custom Calculate. For a regular "Calculate" I'll get the information via Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DataManagementEventHandlerArgs) As Object Dim sbLog As New Text.StringBuilder Try Dim returnValue As Object = args.DefaultReturnValue Dim dmStepMetadataInfo As DataMgmtStepMetadataInfo If args.OperationName = BREventOperationType.DataManagement.ExecuteStep Then dmStepMetadataInfo = DirectCast(args.inputs(0), DataMgmtStepMetadataInfo) Dim entList As String = String.Join(",",dmStepMetadataInfo.EntityInfos.Select(Function(miMem) miMem.member.Name).ToList().ToArray()) as it is described in another communits-post. But if I do a "Copy Data", I don't know how to get the submitted data unit. args.inputs(0) is of type OneStream.Finance.Engine.DataMgmtStepMetadataInfo as far as I know from using the error log messages. But there is no documentation of the type "DataMgmtStepMetadataInfo" and I won't get the data unit infos the same way I did in the code above. args.inputs(1) is less interesting. It contains the user name, the DM step description and task activity information. There are no more args inputs. Any ideas how to pull the data unit information out of "DataMgmtStepMetadataInfo"? Regards, Marcus19Views0likes0CommentsChange View POV inside Custom Calculate BR
Dear all, We have 2 custom calculate functions (Finance BR) that are executed one after the other. The 1st one uses V#Period as POV and the 2nd uses V#YTD as View POV. These POV are set on the data management steps that use these functions. We'd like to merge both functions into one to simplify maintenance but the fact that they use different View POV creates an issue; if the data management steps uses V#Periodic or V#YTD, one function will work properly but not the other. Do you know how it can be set as a fixed View POV into the functions itself? Maybe there's a way updating the value of the "args" variable that is used as an input into the formula. Thank you for the help and guidance. Best regards, CarlosSolved47Views0likes3CommentsOLEDB positional parameters with a WHERE IN clause
We have FX rates published in a table to/from virtually every currency in the world. However, this is something like 70k rates a month and the vast majority are for currencies we don't use in our OneStream application. The majority of the rest are for combinations that we don't use. Of these tens of thousands of rates, only about 25-30 are actually relevant. I'm trying to automate this filtering using the currency filter from the application properties, which returns a simple comma-separated list, like so: CAD,EUR,JPY,USD In this example, I want all rates to/from USD. So, I ditch the ",USD" and want to filter on the three remaining currencies: CAD,EUR,JPY Writing a query in SSMS, this is trivial. Writing the query with straight up string manipulation in the BR is also straightforward. However, I'm trying to be (perhaps needlessly strict/cautious) by passing this in as a parameter. This makes me want to use my laptop as a non-brand-specific flying disc and restart life as a hermit in a cave with no electricity. Un-typed positional parameters in an OLEDB connection are a nightmare (but probably because I need to learn more.) My basic thought is something like this: BRApi.Database.ExecuteSqlUsingReader(dbConnInfo, sql, params, False) SELECT FromCurrency,ToCurrency,Rate FROM FxRateTable WHERE (FromCurrency IN (?) AND ToCurrency = 'USD') OR (ToCurrency IN (?) AND FromCurrency = 'USD') I parsed the currency list to include single-quotes around the currencies and then just passed in P1 and P2 parameters as the same value so it should evaluate to a very normal WHERE IN clause. I get zero results from within OS. If I hardcode the list of currencies (comma-separated with single-quotes) in place of those ?s in the BR, the code succeeds and updates the rates in my OS application. I can only assume there's some type of data type problem that isn't making the translation through the OLEDB driver. I can conceive of a several possible avenues of investigation: There's a way of passing in these currencies as a string and I'm just doing something wrong that should be obvious. I need to add data-typing code in the BR (and perhaps store the currencies in a compatible data type) for OLEDB to play nice. I switch all of our external DB connections to SqlServer native so I can pass in named, typed parameters. (In this case, the docs only have instructions for setting up OLEDB, not native SqlServer. Does anyone have info on this?)Solved31Views0likes3Comments