在运行时更改 ABAP 报表语言

Change ABAP report language at runtime

我假设每次我在 ABAP 报告的 运行 期间使用以下语句,从那时起就会使用相应语言的文本符号(如果它们是相应翻译):

SET LANGUAGE 'EN'.

但是,这种语言切换似乎只起作用一次,因为在我的报告中(我希望用户能够 select 输出语言)我可以在第一个 运行。但是一旦我回到 selection 屏幕并输入不同的语言代码,第二个 SET LANGUAGE 就没有任何效果。

是否涉及某种文本符号缓存?有没有办法防止单个报告出现这种情况或在 运行 时间触发刷新?

可能,切换语言后使用CL_GUI_TIMER刷新屏幕是值得的。你可以用SAP_TIMER_DEMO程序查看。

我刚找到解决方案:有 none,因为需要 none。

SAP 不缓存依赖于语言的文本符号。您可以在执行过程中的任何时候通过以下方式更改运行时语言:

SET LANGUAGE 'EN'.

我认为它不起作用的原因是,我使用的是 SAP GUI 中内联的 HTML 控件,它没有正确刷新,因此在第二个 HTML 显示器上仍然显示旧语言文本。