If you configed a fiori launchpad you probably noticed that despite it has a language dropdown, by changing the language of the dropdown the language of the login page is not changed.
For example in the following figure you can see that user changed the language to English but the login page still is in German.
Figure 1: A Fiori Launchpad
If user really wants to see the login page in the selected language, actually must change a HTTP GET parameter in the url or add it if it does not exist and load the page again. That GET parameter is
For example for visiting the login page in English language user must add
?sap-language=EN to the url or if it already exists in the url with another locale code (e.g.
&sap-language=DE ) then he or she must change that locale code to the desire locale (e.g. to
EN for English instead of
DE which is for German).
It is a little bit annoying and of course all the users do not have enough knowledge regarding these changes, so I tried to find a way to solve this issue.
For the rest of this tutorial we assumed you know how to create a custom launchpad in
SAP On Premise System, and you have a customised launchpad currently.
When you created a launchpad in
SAP NetWeaver you mostly used
SICF transactions in your steps, this is the place that we need to start our investigations.
SICF transaction (like figure 2) and then press on
Execute (F8) button on the new opened view.
Figure 2: SICF
After pressing the execution button you have to see a window like the figure 3.
Figure 3: After Execution
default_host from the list and the find the
ushell under the following path:
/default_host/sap/bc/ui5_ui5/ui2/, then double click on ushell.
You have to see a view like the figure 4.
Figure 4: “/default_host/sap/bc/ui5_ui5/ui2/ushell” view
Now select the
Error Pages tab and press on
Figure 5: Error Pages view
You must see a window similar to figure 6. What is important in
System Logon Configuration window is the ABAP Class textbox.
Normally, you will see the name of the class that is from SAP originally and contains the login page code. This class is
/UI2/CL_SRA_LOGIN. This class involves some HTML, CSS and JS codes. What you see as a login page is the result of compiling the codes that were enclosed inside of this class.
Figure 6: System Logon Configuration Window
Now, we have to make a copy of this class because we need to modify a method in this class. You can use the transaction code
SE24 to copy the class. I hope you know how to make a copy as it is not relevant to this post’s aims.
I called my copied class
ZCL_ZMDM_LOGIN_CUST. After you made your copy successfully, you have to edit the content of the
System Logon Configuration window and put the name of your newly created class instead of the default class. At the end you have to have something like figure 7.
Figure 7: System Logon Configuration Window after customizing
Now open the copied class inside of the
Figure 9: Display class
ZCL_ZMDM_LOGIN_CUST inside the
Scroll down in the list of methods and find the
And you have to change it like this:
This code try to reload the page with suitable locale as soon as user change the language on login page.
Check (Ctrl + F2) and
Activate (Ctrl + F3) the class.
Return back to the path
/default_host/sap/bc/ui5_ui5/ui2/ushell inside of the transaction
SICF. Right click on the
ushell and select the
Test Service option from the context menu.
Figure 10: Context menu of
By clicking on
Test Service option you probably must allow execution of the file. Press on
Allow in case you see a window like figure 11.
Figure 11: Execution of ushell service.
After loading of the launchpad url inside of your browser you must be able to see the possibility to automated reloading the launchpad as soon as user changed the language dropdown. Something like figure 12.
Figure 12: View of the added functionality
If you review the HTML source code of the launchpad, then you have to see the highlighted codes inside of the figure 13 has been added to your page as well.
Figure 13: The highlighted codes are added to the launchpad.
I hope you find it useful.