2015-01-28 10 views
0

Я был в предположении, что каждый раз, когда я использую следующий оператор во время выполнения отчета ABAP, текстовые символы с соответствующего языка будут использоваться оттуда (если они были переведены соответственно):Изменение языка отчета ABAP во время выполнения

SET LANGUAGE 'EN'. 

Однако этот язык переключатель только кажется, работать один раз, потому что в моем докладе (где я хочу, чтобы пользователь смог выбрать язык вывода) можно использовать любой язык, который я хочу во время первого запустить. Но как только я вернусь на экран выбора и введите другой код языка, второй SET LANGUAGE не имеет никакого эффекта.

Есть ли какие-то кеширование текстовых символов? Есть ли способ предотвратить это для одного отчета или вызвать обновление во время выполнения?

ответ

0

Я только что нашел решение: его нет, поскольку нет необходимости.

SAP не кэширует текстовые символы, зависящие от языка. Вы можете в любой момент выполнения изменения языка во время выполнения с помощью:

SET LANGUAGE 'EN'. 

Причина, я думал, что это не сработало было то, что я использовал элемент управления HTML встраиваются в SAP GUI, которые не должным образом обновить и, следовательно, на втором дисплее HTML все еще показывались тексты старого языка.

0

Возможно, Вортс использовать CL_GUI_TIMER, чтобы обновить экран после того, как вы переключились язык. Вы можете проверить это с помощью SAP_TIMER_DEMO программа.

+0

Я не вижу, как таймер подключен к моей проблеме. Не могли бы вы рассказать. Таймер не обновляет экран, а просто выполняет логику после заданного интервала. –

+0

Я имею в виду, чтобы выполнить перезагрузку отчета, когда произойдет событие *** FINISHED ***. Пример автоматического обновления отчета: http://www.sapdev.co.uk/reporting/rep_autorefresh.htm –

Смежные вопросы