Skip to Content

Hi community,

in my last DesignStudio customer training my participants were discussing about possibilities to internationalize a DesignStudio application. Here is a way that seems to be a good one even if it is still a workaround for a missing native functionality coming hopefully soon.

If you have used BEx Web Application Designer you know that there is a table in BW called RSBEXTEXTS with the following structure…

/wp-content/uploads/2013/12/rsbextexts_345545.jpg

Step 1:

Create a generic datasource for that table in your BW system

Step 2:

Create a new characteristic having only the minimum elements key and language dependent text

Step 3:

Create a dataflow from your datasource to the text table with all needed elements using the following mapping. I don’t want to explain all the details which elements are involved, I think all BW people know that 🙂

/wp-content/uploads/2013/12/mapping_rsbextexts_345557.jpg

Step 4:

In your Application create a new datasource directly on your new infoobject (step 2). No need for a query or something like that. Go to the “Initial View” editor so that your Initial View looks like that…

intial view.jpg

Step 5:

Add a dropdownbox to your application and make it not visible in the properties. This element will be used later on for getting the right text.

Step 6:

Fill the dropdownbox with the elements from your datasource e.g. in the Application OnStartup event with the code
DROPDOWN_1.SetItems(DS_1.getMemberList(<<name of your infoobject>>, MemberPresentation.INTERNAL_KEY, MemberDisplay.TEXT, <<maxnumber of elements in your infoobject>>));

Step 7:

Now you can fill your TextBoxes with the language dependend texts assigned to your TextKeys you know from BexWAD with code like that:

DROPDOWN_1.SetSelectedValue(“<<id of your element>>”);

TEXT_1.SetText(“DROPDOWN_1.GetSelectedText()”);

That’s all 🙂 Hope you like it.

Dirk

To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

  1. Michael Simon

    Nice & easy approach, we implemented this successfully. Do you know a way to influence the backend language without changing the user settings (e.g. in SU3 in BW system)? I’d like to set the language via Design Studio URL variable and to hand this over to the BW.

    Best regards,

    Michael

    (0) 
    1. Dirk Mayrock Post author

      Hi Michael,

      there is only one thing that might be a solution for that. I did not try, but might be worth to build a test case.

      The idea is to build 2 OLAP connections with fixed languages lets say DE and EN. In the DS Application when you want to switch the language you can script to assign a new source to the existing datasource. You can use

      DS_1.assignDataSource(dataSourceConnection, dataSourceType, dataSourceName) as command. If you then assign the same query using the other connection… that might work 😉

      Dirk

      (0) 
  2. Michael Simon

    I wanted to share our long-term-experiences with this solution (all of our DS applications use this approach since 1.5 years):

    Pro:

    • Very good reusability (one central place for the language dependent texts -> once changed, the new text is directly available in all DS applications without changes on the DS apps necessary) compared to the inflexible TEXT_POOL (Texts need to be maintained in every DS app)
    • No need for other tools (BO client tools not necessary)

    Con:

    • Unfortunately we have a negative performance impact; The access to the text datasource is quite fast (we have about 60 texts per dashboard), but the setSelection on the hidden Dropdown-box is pretty slow (varies between 50 and 150 ms per entry) – this results in about 2-3 seconds for the text settings in our dashboards; So I fear we have to switch towards the TEXT_POOL solution 🙁

    Best regards,

    Michael

    (0) 

Leave a Reply