В конце концов я натолкнулся на удивительный факт, что внутренние типы словаря ABAP для валюты и количества (элементы данных на их основе) неявно сохраняют информацию о знаке независимо от того, какой параметр был установлен в области элементов данных ,Знак подавления для типов DDIC CURR и QUAN в ALV
Даже с указанным доменом элемент данных сохраняет знак в ALV. Можем ли мы предотвратить ALV (или ABAP) от такого поведения?
Я тщательно прочитал документацию обо всех CURR и QUAN, но не нашел ни одного слова о знаке. Может ли кто-нибудь объяснить это?
Единственным решением, с которым я закончил, было использование типа DEC и элементов данных на основе DEC.
Сложение: простой тест, чтобы проверить описанную проблему
1. Создайте три переменные типов BNOMS
(домен BWHR
), MATQUAN
(домен MENG10
) и MENGEP
(домен MENGEP
). Все эти типы являются стандартными типами DDIC с unchecked знак поля в домене.
2. Присвоить отрицательное значение для них
3. выводить их в ALV
Как BNOMS
и MATQUAN
типов CURR и Quan типы, они будут выводить знак в любом случае, тогда как MENGEP
не будет, так как она имеет тип декабря , Во время выполнения все они сохраняют знак, однако в отношении ограничений домена ALV DEC-типа соблюдаются, поэтому я склонен думать, что это проблема, связанная с ALV.
«сохранить информацию о знаке» где? – vwegert
@vwegert Я не знаю, где именно это происходит (отсюда и мой вопрос), по крайней мере, я вижу это в отладчике и при выходе в ALV-сетку. – Suncatcher