How to transport translations made in SE63 without access to SLXT or authorization for transport request creation
When working on international projects, there is a need to translate new developments done in ABAP. In standard SAP provides SE63 tool, which help executing the translations for many objects at the same time. You can complain it is not intuitive and user friendly, but it if you have many translations to be done you cannot do much about it. After completing the translations in SE63, you need to put the translations in a transport request, as opposite to translation of customizing, the system does not prompt for transport request nor assigns the entries to a transport request when saving in SE63. In most cases you are just about to face new challenges. It is quite often nowadays, that you do not have authorization for transport request creation, as it is managed by central support team using SolMan, or you do not have authorization to SLXT transaction, which is provided in standard SAP to put all the translations done in SE63 into a transport request to be able to import it trough system landscape. When you do many translations, you can spent some time on getting proper authorization or request creation of the transport request with translation by central support team, but if you have just a few additional/new translations to be done, it seems to be too much hustle. In such a case there is a workaround to create the entries in transport task manually, it takes 15 minutes and you’re done 🙂
List of objects translated in SE63
First get the list of translations done in SE63 or in ABAP dictionary or directly ABAP workbench objects. The list is stored on DB table LXE_LOG:
You can select the entries based on you user name or the date and time of translation:
Mapping of translation objects to transport objects
Seems easy and what would you do is to put the entries from LXE_LOG directly to entries in the transport task, however some adjustments are required before doing that. Namely the object type has to be adjusted, as the ones used in transport request are different that stored in the table (strange, but it’s like that). But there is nothing that cannot be done without some analysis of ABAP code. SLXT uses FM LXE_OBJ_CREATE_TRANSPORT_ENTRY to conver the LXE_LOG entries into transport request entries. So actually the work is a piece of cake now.
All you need to do is take the object type from LXE_LOG entry and lookup the proper object type to be used in the transport entry.
Let’s take object type DOMA for a domain from LXE_LOG as example. You go to the FM and find the object type in the big CASE statement:
You see that for LXE_LOG object type DOMA (domain) the object type DOMD should be used in the transport entry.
Create transport entries for translated objects
So all you need to do now is edit a workbench Development/Correction task and add a new entries to it:
After putting the key (LANG/DOMD/<object name>) you will get a pop-up to provide the language of the translation (in our case it’s NL). After you provide it once, the language is used as default for all new translation entries you create in the transport request task.
I hope you find it useful and will enjoy your small translations! 🙂
Great tip, perfect for my needs!!
One additional tip though is that rather than just reading the code of LXE_OBJ_CREATE_TRANSPORT_ENTRY you can use SE37 to test it and get the result. Just remember to select 'Lowercase' option because input language is case sensitive and as per LXE_LOG entry. This is nice for thing like RPT8 which are class texts and the Object ID is masked with '='s.
Good tip! Thanks for sharing.
Good stuff! Saved my bacon.
Note that you can also find out the details of the object to be transported by choosing Goto > Transport Objects in SE63,
Nice to know this things thanks for sharing....
Nice ! Thanks !!
Thank you.. ^^
In 2015 this is still a good tip. I wonder what translation tools are available in S4HANA because SE63 is a solid contender for Top 10 most confusing and least functional SAP transactions. Why there is no transport option when saving? C'mon now...
We can make an enhancement and create an automatic request for saving transport
Great tips! Thanks!
I found program RS_LXE_LOG_EXPORT which creates change request with selected translation entries. Does anyone know reason not to use this for transporting?
Report RS_LXE_LOG_EXPORT is transaction SLXT.
As the post title states: "How to transport translations made in SE63 without access to SLXT or authorization for transport request creation".
Good document / steps. I am trying to use given technique.
Thanks Marcin for this document !! Really helpful !!
Happy writing...!! 🙂
Nice document ,we had issue with thai language conversation this document helped me to translate and attach transport the object