我假设每次在 ABAP 报告的运行时使用以下语句时,都会从那里开始使用相应语言的文本符号(如果它们被相应地翻译):
SET LANGUAGE 'EN'.
但是,此语言切换似乎只工作一次,因为在我的报表中(我希望用户能够选择输出语言),我可以在第一次运行期间使用所需的任何语言。但是一旦我返回选择屏幕并输入不同的语言代码,第二个SET LANGUAGE
就没有任何影响。
是否涉及某种文本符号缓存?有没有办法防止单个报表出现这种情况或在运行时触发刷新?
也许,在切换语言后,值得使用 CL_GUI_TIMER 刷新屏幕。您可以使用SAP_TIMER_DEMO程序进行检查。
我刚刚找到了解决方案:没有,因为不需要。
SAP 不会缓存与语言相关的文本符号。您可以在执行过程中的任何时候通过以下方式更改运行时语言:
SET LANGUAGE 'EN'.
我认为它不起作用的原因是,我使用的是 SAP GUI 中内联的 HTML 控件,该控件未正确刷新,因此在第二个 HTML 显示屏上仍然显示旧语言文本。