如何使用WRITE语句结合字符串模板打印图标?
ABAP WRITE字符串模板拼接图标不生效的解决方案
当你用&&拼接多个字符串模板输出图标时,ABAP会先将模板解析为普通字符串,导致@xx@图标标记被当作纯文本处理,无法被WRITE识别。不用非得沿用传统写法,试试以下两种解决方式:
方案1:将文本与图标放在同一个字符串模板中
直接在单个模板里整合内容,WRITE会正常解析图标标记:
WRITE: |Test @09@|.
如果需要引入动态变量:
DATA(lv_test_text) = 'Test'. WRITE: |{ lv_test_text } @09@|.
方案2:先构造包含图标的完整字符串再输出
先把文本和图标拼接成一个字符串变量,再用WRITE输出:
DATA(lv_full_content) = |Test @09@|. WRITE lv_full_content.
为什么原写法无效?
WRITE: |{ 'Test' } | && |{ '@09@' }|的执行逻辑是:先分别解析两个模板得到普通字符串'Test '和'@09@',拼接后生成纯文本字符串'Test @09@',此时WRITE接收的是普通文本,不会再解析其中的图标标记,因此无法显示图标。
内容的提问来源于stack exchange,提问作者Frontmaniaac
相关产品推荐
相关产品推荐

