- Notifications
You must be signed in to change notification settings - Fork550
Description
For some objects such asDTEL
,TABL
and probably others, requesting multiple languages omits the logon language from theI18N_LANGS
language segment in the XML. If it appears in the header segment it will not appear among the text segments.
I would expectevery requested language to be listed in theI18N_LANGS
andDD02_TEXTS
segments even if it is already in the leading segment (DD02V
for tables). It makes it difficult and unreliable if we want to do any language-related processing with the XML as we now need to cobble the list of texts together from multiple segments.
It's an easy PR to change this, but I thought I'd ask what the rationale for this is? It is deliberately excluded in the code. I think redundant logon language texts are OK as the segments would be processed for different purposes (use top level if we don't care about languages, useI18N
if we do).
So before I put effort in, are there any objections to a PR to change it?
Example:
<DD02V> <TABNAME>TADIR</TABNAME> <DDLANGUAGE>D</DDLANGUAGE> <TABCLASS>TRANSP</TABCLASS> <BUFFERED>E</BUFFERED> <DDTEXT>Katalog der Repository-Objekte</DDTEXT> <APPLCLASS>STRW</APPLCLASS> <AUTHCLASS>02</AUTHCLASS> <MAINFLAG>X</MAINFLAG> <CONTFLAG>W</CONTFLAG> <EXCLASS>1</EXCLASS> <PK_IS_INVHASH>X</PK_IS_INVHASH> </DD02V>... <I18N_LANGS> <LANGU>E</LANGU> </I18N_LANGS> <DD02_TEXTS> <item> <DDLANGUAGE>E</DDLANGUAGE> <DDTEXT>Directory of Repository Objects</DDTEXT> </item> </DD02_TEXTS>
Serialized with:
" Collect additional languages, skip main lang - it was serialized already lt_language_filter= mo_i18n_params->build_language_filter( ).SELECTDISTINCT ddlanguageAS languINTO TABLE cs_internal-i18n_langsFROM dd02vWHERE tabname= lv_nameAND ddlanguageIN lt_language_filterAND ddlanguage<> mv_languageORDERBY langu."#EC CI_SUBRC