#abap
Вопрос:
Я пытался научиться использовать шаблоны строк и сталкивался с отображением символов.
То, что я пытался показать, это:
Языковой ключ входа в систему SAP RU
используя эту строку кода:
WRITE: |{ text-003 } { sy-langu }|.
Но вместо этого он отображает только:
Языковой ключ входа в систему SAP E
он отображает только первый символ языка вместо полных 2 букв, которые являются EN
Ответ №1:
Коды языков SAP отображаются в виде двух букв, но внутренне сохраняются только как одна. Существуют различные типы данных, в которых внутреннее и внешнее представление различаются. Это называется процедурой преобразования и определяется на уровне домена в словаре ABAP.
Если вы хотите преобразовать во внешнее представление языкового поля, используйте функциональный модуль CONVERSION_EXIT_ISOLA_OUTPUT
. Если вы хотите сделать обратное — преобразовать представление пользовательского интерфейса в представление базы данных — используйте CONVERSION_EXIT_ISOLA_INPUT
.
Комментарии:
1. не знаю, как это использовать, но попробую. Спасибо
Ответ №2:
Чтобы завершить ответ Филиппа, вы также можете использовать WRITE
преобразование из базы данных во внешнее представление, оно автоматически выполнит поиск нужной процедуры преобразования ( ISOLA
когда речь идет о SY-LANGU
):
DATA display_language_code TYPE c LENGTH 2. WRITE sy-langu TO display_language_code. ASSERT display_language_code = 'EN'.