Интернет проект
SAP Professional Journal Россия

Эксперт-Клуб

Наш подписчик, Подкорытов Алексей:

1Вопрос:

В процессе работы столкнулся со следующими проблемами:

1) при вводе стоимости позиции заказа на поставку в валюте JPY, система выдает сообщение об ошибке, если количество знаков до запятой превышает 8 (т.е. сумму свыше  99.999.999 единиц валюты указать невозможно). Однако, при использовании других валют, например RUB или EUR, ошибки не возникает: 

 

Подскажите пожалуйста, как можно решить данную проблему?

Ответ

Ответ подготовлен фрилансером Олегом Точенюком.

Принципы организации разрядности  в системе

В общем виде в системе поле ввода суммы имеет максимальную разрядную сетку в 11 знаков, т.е. максимальное целое число, которое можно внести, подчеркиваю, целое число - это 99 999 999 999, (11 знаков). Ограничение в 11 знаков, можно увидеть в определении домена описывающего данные валюты, это тип CURR.

Обращаю внимание: если мы указываем, что для суммы возможно ведение дробных чисел, например копеек и задаем разрядность числа копеек - 2, то этим мы уменьшаем максимально возможное целое число, которое можно внести для валюты. По факту, после задания разрядности 2 максимальное целое число становится 999 999 999 и два знака резервируется на ввод копеек. Стандартно, по умолчанию, система предполагает, что для валюты используется два знака на копейки, т.е. когда в систему вводится код валюты система предполагает, что маска ввода, максимального числа по умолчанию следующая 999 999 999,99. Однако этим процессом можно управлять: увеличить максимально вносимое целое число в принципе невозможно (т.е. в числе допустимо не более 11 знаков), но можно указать, что число будет без копеек и, таким образом, в поле валюты можно будет внести уже сумму как 99 999 999 999,00. То есть увеличение точности суммы до копеек уменьшает максимальную разрядность числа (вводимой суммы) в поле ввода.

Настройка разрядности сумм в системе

Для настройки разрядности используется транзакция OY04 или по дереву настройки в транзакции SPRO (см. Рис.1).

Рис. 1 Просмотр руководства по внедрению

ВНИМАНИЕ! Использование данной транзакции может привести систему в полностью не консистентное состояние, если вы будете делать изменения для кодов валют, которые уже использовался для проводок документов. Т.е. изменение, можно проводить только для кода валюты, который не использовался в операциях.

 
Запускаем транзакцию настройки десятичных разрядов для валют (OY04). Система не-сколько раз попытается вас отговорить от этого действия, т.е. если вы уверены в своих дейст-вия, то не следует вносить изменений.
 
Итак, первое предупреждение (Рис.2): суть предупреждения заключа-ется в том, что данные изменения повлекут изменения для всей системы, т.е. коды валют межмандантные данные и их нельзя настроить или изменить для какой-то одной БЕ, измене-ния произойдут во всех мандантах для всех БЕ.
 
Рис. 2 Предупреждение!

Далее система предупредит: валюта уже используется. Обратите внимание, при использовании валюты где-либо в системе (в любом манданте) по факту изменений все введенные документы с изменяемой валютой будет ошибочными (Рис.3).

Рис. 3 Предупреждение!

Если вас не испугали два предыдущие сообщения, то система попытается «как в сказ-ке» в третий раз отговорить вас от выполняемых действий, причем в сообщении будет дана попытка объяснить почему вам это не следует делать (Рис.4).

Рис. 4 Предупреждение!

 

Полный текст выдаваемый в этом окне следующий (ошибки в синтаксисе в тексте, на-пример  «вниматИльно», «щапрос на перенос» - результат работы переводчиков):

Перед тем как продолжить, вниматильно прочитайте этот текст.

Эта транзакция может причинить почти непоправимый ущерб Вашей системе, если Вы не примите во внимание данное указание. Поля валюты сохраняются в таблицах системы R/3 как десятичные числа с переменным десятичным числом. Десятичный знак сохранен не в поле в базе данных. Вместо этого каждое поле валюты ссылается на поле кода валюты. Этому коду валюты Вы присваиваете в этой транзакции однозначное число де-сятичных знаков.

Если Вы, например, настроили валюту USD на два десятичных разряда и выполняете проводку суммы в 100 USD, то в базе данных в поле валюты стоит

сумма 10000. Только при дальнейшей обработке или выводе этой суммы система обра-щается к коду валюты из поля ссылки и определяет через эту таблицу число десятич-ных разрядов. Таким образом возможна правильная интерпретация содержимого таблицы для дальнейшей обработки или форматирование для вывода с правильными знаками пре-пинания.

Если после удачной проводки Вы измените десятичные разряды для USD, например, на 3, то существующее содержимое поля 10000 для дальнейшей обработки или вывода бу-дет интерпретировано как 10 USD (10.000). Таким образом все содерж. таблиц во всей системе для всех полей валют с суммой в USD неправильно

интерпретируются на десятичный порядок. Для изменения числа десятичных разрядов уже использованной валюты необходимо преобразовать все таблицы системы R/3, со-держащие поля валют, чтобы сохранить целостность данных. К сожалению, по причинам организационного характера, а также времени выполнения это невозможно выполнить в продуктивной системе.

Следующие изменения в таблице TCURX могут, таким образом, привести к утрате цело-стности данных, если изменение выполняется в продуктивной системе или переносится в продуктивную систему:

  • Изменение числа десятичных разрядов существующей валюты.
  • Удаление записи из таблицы TCURX (соответствует изменению десятичных разря-дов со стандартного значения 2 десятичных разряда на другое значение), если речь идет об уже существующем коде валюты.
  • Добавление записи в TCURX (соответствует изменению стандартного значения в 2 десятичных разряда на другое значение), если речь идет об уже существую-щем коде валюты. Некритичными же являются все изменения в этой таблице во время настройки новой инсталляции или добавление записей TCURX по ходу те-кущей эксплуатации, если коды валюты были только что занесены с помощью транзакции OY03 в таблицу TCURC, т.к. таким образом пока не могла быть вы-полнена проводка для этих кодов валюты.

Как видим, фактически расписаны проблемы и варианты возможных изменений в дан-ной настроечной транзакции. Приведены примеры последствий вызванных изменениями для уже применяющихся в документах  кодов валют.

В стандарте IDES для валюты российский рубль и японская иена десятичные разряды не ведутся (Рис.5).

Рис. 5 Предупреждение!

Я думаю, что скорее всего, в системе для японской иены стоит ненулевое значение десятичных разрядов в этой таблице, поэтому и возникает ошибка.

Все комментарии (2)


Сергей Попов 16:25 20 сентября 2011

Ну а если после всех мучений и страхов, возникших при настройке десятичных разрядов валюты все равно не хватает разрядности поля отображения, - начните использовать десятичные разряды базиса расчета цены. Базис расчета, это то значение, которое указывается в поле "За" на скринах вопроса.
Ответить

Олег Точенюк 15:50 23 сентября 2011

Что-то я не вкурил, а чем это поможет, если "цена за", целочисленное значение, при этом 1 штука стоит в примере явно больше, чем разрядная сетка валюты, соответственно "цена за" хотя бы 2 штуки будет явно больше цены за 1 штуку?! Не можете подробнее прояснить свой совет?
Ответить
Support Письмо  
 

Фильтр

Карта сайта

 
Путеводитель
по порталу SAPLand

Содержание портала представляет собой уникальное, непрерывно пополняемое хранилище знаний и решений в различных областях SAP.

Предназначение портала:

  1. Распространение профессиональных знаний;
  2. Сбор и агрегирование (определение лучших) решений по SAP;
  3. Формирование экспертами ответов на самые сложные вопросы внедрения и применения сиcтемы SAP.

Подробнее →

  • ico
    Поиск по Порталу
  • ico
    Статьи и рекомендации
    Статьи и рекомендации

    В разделе «Статьи и рекомендации» специалисты найдут решения и рекомендации, которые они смогут применить при внедрении и эксплуатации системы SAP.

    Перейти →

  • ico
    Новости
    Новости

    В разделе «Новости» регулярно публикуется информация о текущих событиях на рынке SAP.

    Перейти →

  • ico
    О портале
    О портале

    В разделе «О портале» посетители портала найдут информацию о концепции портала, о компаниях - партнерах портала и наши контактные данные.

    Перейти →

  • ico
    Материалы SAP CIS
    Материалы SAP CIS

    В разделе «Материалы SAP CIS» и специалисты, и менеджеры найдут материалы мероприятий, проведенных компанией SAP. В этом же разделе посетители, желающие пройти обучение на курсах компании SAP, найдут всю необходимую информацию.

    Перейти →

  • ico
    Решения партнеров
    Решения партнеров

    В разделе «Решения партнеров» и менеджеры, и специалисты найдут описания лучших решений консалтинговых компаний. Все решения прошли проверку внедрением.

    Перейти →

  • ico
    Магазин
    Магазин

    Сервис раздела «Магазин» дает возможность всем посетителям приобрести любые книги издательства SAP Press на английском языке, книги по SAP на русском языке, подписки на журнал SAP Professional Journal Россия и базы знаний SAP Experts, а также мультимедийные курсы по SAP.

    Перейти →