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
MarcusH
3 years agoValued Contributor
Get member description in user's culture code
Does anyone know how to get the member description in the user's culture code?
ok, you can access the descriptions with the memberinfo object:
Dim MemberIdOfAccount As Integer = BRApi.Finance.Members.GetMemberId(si, DimTypeId.Account, "41010") Dim test As MemberInfo = BRApi.Finance.Members.GetMemberInfo(si, DimTypeId.Account, MemberIdOfAccount,,,New MemberDisplayOptions(True,"en-US",True,False,False,False,False,0)) BRApi.ErrorLog.LogMessage(si, test.Descriptions("en-US").Description & " " & test.Descriptions("fr-FR").Description)
20 Replies
- ChristianW
OneStream Employee
ok, you can access the descriptions with the memberinfo object:
Dim MemberIdOfAccount As Integer = BRApi.Finance.Members.GetMemberId(si, DimTypeId.Account, "41010") Dim test As MemberInfo = BRApi.Finance.Members.GetMemberInfo(si, DimTypeId.Account, MemberIdOfAccount,,,New MemberDisplayOptions(True,"en-US",True,False,False,False,False,0)) BRApi.ErrorLog.LogMessage(si, test.Descriptions("en-US").Description & " " & test.Descriptions("fr-FR").Description)- MarcusHValued Contributor
Thank you!
- XaviCNew Contributor III
Does it work to get the FX Rates description? I have tried without success.
Thanks
- JackLacava
OneStream Employee
The names and descriptions of Fx Rate Types don't have culture-specific versions, as far as I know. But if you mean simply getting what is there:
Dim scenarioid As Integer = BRApi.Finance.Members.GetMemberId(si, dimtype.Scenario.Id, "Actual") Dim objFxRateType As FxRateType = BRApi.Finance.Scenario.GetFxRateTypeForAssetLiability(si, scenarioid) brapi.ErrorLog.LogMessage(si, objFxRateType.NameAndDescription)
- JackLacava
OneStream Employee
BRApi.Finance.Members.ReadMemberDescriptionsNoCache(si, dimTypeId, memberId) should give you all the descriptions, then you can loop through them. Each MemberDescription has a MemberDescriptionPK with a property for the language, i think.
- ChristianW
OneStream Employee
Dim MemberIdOfAccount As Integer = BRApi.Finance.Members.GetMemberId(si, DimTypeId.Account, "41010") Dim list As List(Of MemberDescription) = BRApi.Finance.Members.ReadMemberDescriptionsNoCache(si, dimTypeId.Account, MemberIdOfAccount) Dim englisch As String = list.FirstOrDefault(Function(x) x.MemberDescriptionPk.Language = "en-US").Description Dim french As String = list.FirstOrDefault(Function(x) x.MemberDescriptionPk.Language = "fr-FR").Description BRApi.ErrorLog.LogMessage(si, englisch & " " & french)- WernerNContributor II
I love 'Dim englisch'. Endlich ein Tip in Deutsch!
But seriously, thank you so much for the tip. Exactly what we need to derive local account descriptions.
- MarcusHValued Contributor
ReadMemberDescriptionNoCache returns the list of aliases for the member (I've just tested it). If the member does not have an alias for a particular language it does not return anything. MemberDisplayOptions on the other hand returns the alias if it exists and the default value if there is no alias for the member which is what I want. Thank you for your time Jack. I will keep this in my little Rules bank.
- ChristianW
OneStream Employee
Markus, you can use Jack's suggestion as well, I tested it and added a sample.
- ChristianW
OneStream Employee
Hi Markus
Do you need to know, how to load it? Or how to access it?
Cheers
Christian
- MarcusHValued Contributor
How to access it. I am processing base members for Confirmation Rules and I want to show the user the member description in their language if it fails the Rule. I am currently using this to get the member list
Dim AllBase As List(Of Member) = api.Members.GetBaseMembers(BRApi.Finance.Dim.GetDimPk(si, UD6DimensionName), topUD6MemberID)
- WernerNContributor II
Christian, I would love to learn how to load local descriptions. With all the posts on this thread I am totally able to access and now to translate.
Thanks/Danke/Merci/Gracias/Grazie