Translating texts in Employee Self-Service
When working in a multilingual environment, it is important to know where to translate all the customer-specific texts in all languages in scope. We will give here an overview of all the techniques used for translations in Employee Self-Service (most also apply to other SAP areas).
The first place where customer-specific text is written will be on the home page of ESS, which as of ERP6.05 uses the “Launchpad” framework (LPD_CUST). Translating texts in the launchpad is a tedious task. First, you need to generate a key for your text. This occurs when you put your launchpad in a transport request (Launchpad > Transport in the menu when your launchpad is opened).
When the key is generated, you can look it up by running report APB_LPD_SHOW_TEXT_KEYS. When you have the key of the text you want to translate, go to the main transaction for translations, namely SE63. From there, you can use the shortcut and type TX in the transaction bar. Then, enter the key you have in the “object name” field. Select a source and target language and click on Edit.
In newer version of transaction LPD_CUST you will find a menu entry ‘Launchpad -> Textkey / Translation’. From there you will be lead to SE63 to do the translation.
Smartform and workflow texts
Smartform and workflow texts can be translated most of the time using SE63 too. For smartforms, use shortcut SSF in the transaction bar, while for workflow, you can use TLGS to translate the workitem title and WFLW for the workitem description. The object name will be the smartform name for smartforms, and for workflow, concatenate PDTS, the task ID, the wildcard (*) and 06 to find the object name of the workitem title. For workitem description, replace 06 in the previous concatenation by 120.
Most ESS applications currently run on Web Dynpro ABAP, which uses OTR texts for most small pieces of texts displayed on the screens. If you need to change a standard OTR text into some other text, you can do so in transaction SOTR_EDIT. Enter the OTR alias in the corresponding input field. Then, in the menu, open “Edit > Context > Create” to create a new context for your customer. Select the country and industry. In the next screen, you can type your customer text, which will not affect the standard text as this version is created in your customer context.
Then, you only need to tell SAP to first look at the customer context version of the OTR texts. You can do this by implementing BAdI BTFR_CONTEXT, as explained in SAP note 579365.
When creating your own customer-specific OTR texts (e.g. for a customer-specific development), you will sometimes notice a change in a text will not be reflected directly in your application. This can be due to buffering. To clear the OTR buffer, you can enter /$otr in the transaction bar.
In some applications like in Leave Request for instance, you will need to translate customizing entries like types of leave from table T554S. To do so, just open the maintenance view of the table, select the entries to translate and click ‘Go to > Translation’ in the menu.
As ESS uses often the FPM framework for Web Dynpro ABAP, some texts are defined in the FPM feeder classes, mostly in the GET_DEFINITION method. Sometimes, the text is even derived from the feeder class text elements, like the title of the Personal Profile detail screen (e.g. Edit address) which is written in the text elements of class CL_HRESS_PER_OVERVIEW. Those texts can be translated directly using the menu item ‘Go to > Translation’.
In MSS, many POWLs are used. The text of categories or queries in POWL is defined in the customizing in transaction POWL_COCKPIT. However, changing the text will only be reflected after you delete the queries buffered using report POWL_D01.
When you create translations using transaction SE63, your translations are not put in a transport request. This must be done explicitly, in transaction SLXT. First, select the target language (in most recent versions of this report, you can select several languages or all existing languages). Then, enter a description for your transport request. Finally, filter the translations to be selected using e.g. dates, time spans, object types, users, etc. or a combination of those criteria.
The output of this report is that a transport request is created, containing the translations. An example for translation of smartforms texts can be consulted here.
Hi Julien, Nice document. The information on changing standard OTR is useful.
Glad you found it useful Sagar! I've expanded the section on OTR if you want. Can be helpful too (OTR buffer).
Kindly let me know when transporting launchpad from DEV to QAS ,do we need to perform initially the above mentioend steps,the major problem I got is text is getting display correctly same as in DEV portal for the services whereas in QAS PORTAL it is missing , I tried on applying some notes, but still not working. Done some text changes in QAS ,but i dont think so that is correct ,becoz as we transport any object request from DEV to QAS we shud get the changes updated in QAS also.but when I transport launchpad its not reflecting in QAS, I have done all necessary settings in SE80 also,kindly suggest the solution,if posbile i will attach the video.
May I suggest you start a discussion thread for this? Have you transported your translations using transaction SLXT as mentioned here?
Hi julien ,
Yas.I have!! becoz many people dont know in ehp6 while trasporting launchpad the same will not reflect in QAS server and Julein can u tell me when we create launchpad what exact namespace we need to give there , as seen in some documents and threads ,it is /OCUST/ ----(-Number range ) and in some for Namespace we need to give the package name which we use like our package name here is ZHR we use , so here I Have given ZHR for Namespace ...is this correct or any other we need to give ..kindly suggest....if possible kindly follow me on my profile as I am doing some R & D on Portal 7.03 as well as ESS MSS deeply.
Can you tell me what we need to do in that scrren plz share some info
It's nice document, made my life easier while changing already defined OTR along with translation & transport.
Thanks a lot for sharing.
Thanks for your documentation. I have used SOTR_EDIT to maintain standard text in package PA0C_HAP_DOCUMENT_WD_UI in EHP4 and 5. Now that we are upgrading to EHP6, I get a message that each of the objects were created in German and the text is grey'ed out. I'm trying to edit the text for "Value Description" for example, when Iocate the text line, click on it and I get "Text Created in language D".
Have you experienced this ? I tried to edit the same field in German but did not see my changes in the application.