LKU написал:
Любое поле цены в SAP имеет три знака после запятой.
С чего вы это взяли
Хелп к тр. OY04:
Code:
Поля валюты сохраняются в таблицах системы R/3
как десятичные числа с переменным десятичным
числом. Десятичный знак сохранен не в поле в
базе данных. Вместо этого каждое поле валюты
ссылается на поле кода валюты. Этому коду валюты
Вы присваиваете в этой транзакции однозначное
число десятичных знаков.
Если Вы, например, настроили валюту USD на два
десятичных разряда и выполняете проводку суммы в
100 USD, то в базе данных в поле валюты стоит
сумма 10000. Только при дальнейшей обработке или
выводе этой суммы система обращается к коду
валюты из поля ссылки и определяет через эту
таблицу число десятичных разрядов. Таким образом
возможна правильная интерпретация содержимого
таблицы для дальнейшей обработки или
форматирование для вывода с правильными знаками
препинания.
Если после удачной проводки Вы измените
десятичные разряды для USD, например, на 3, то
существующее содержимое поля 10000 для
дальнейшей обработки или вывода будет
интерпретировано как 10 USD (10.000). Таким
образом все содерж. таблиц во всей системе для
всех полей валют с суммой в USD неправильно
интерпретируются на десятичный порядок. Для
изменения числа десятичных разрядов уже
использованной валюты необходимо преобразовать
все таблицы системы R/3, содержащие поля валют,
чтобы сохранить целостность данных. К сожалению,
по причинам организационного характера, а также
времени выполнения это невозможно выполнить в
продуктивной системе.
Следующие изменения в таблице TCURX могут, таким
образом, привести к утрате целостности данных,
если изменение выполняется в продуктивной
системе или переносится в продуктивную систему:
o Изменение числа десятичных разрядов
существующей валюты.
o Удаление записи из таблицы TCURX
(соответствует изменению десятичных разрядов
со стандартного значения 2 десятичных разряда
на другое значение), если речь идет об уже
существующем коде валюты.
o Добавление записи в TCURX (соответствует
изменению стандартного значения в 2 десятичных
разряда на другое значение), если речь идет об
уже существующем коде валюты.
Некритичными же являются все изменения в этой
таблице во время настройки новой инсталляции или
добавление записей TCURX по ходу текущей
эксплуатации, если коды валюты были только что
занесены с помощью транзакции OY03 в таблицу
TCURC, т.к. таким образом пока не могла быть
выполнена проводка для этих кодов валюты.