最终,我发现了一个令人惊讶的事实,即货币和数量的内部 ABAP 字典类型(基于它们的数据元素)隐式保存符号信息,无论在数据元素域中设置了什么设置。
即使使用上述域,数据元素也会保留 ALV 中的符号。我们可以防止 ALV(或 ABAP)出现这种行为吗?
我彻底阅读了有关CURR和QUAN的文档,但没有找到任何关于符号的词。有人可以解释一下吗?
我结束的唯一解决方案是使用基于 DEC 的 DEC 类型和数据元素。
补充:检查所描述问题的简单测试
1. 创建三个变量类型BNOMS
(域BWHR
)、MATQUAN
(域MENG10
)和MENGEP
(域MENGEP
)。所有这些类型都是标准 DDIC 类型,在域中具有未选中的符号字段。
2. 为它们分配一个负值
3. 将它们输出到 ALV
由于BNOMS
和MATQUAN
类型是 CURR 和 QUAN 类型,它们无论如何都会输出符号,而不会输出符号MENGEP
,因为它具有 DEC 类型。在运行时,它们保留的所有符号都在 ALV DEC 类型的域限制中得到尊重,所以我倾向于认为这是更多与 ALV 相关的问题。