Правило пересчета валют

Этот инструмент используется для преобразования значений во внутренней валюте в одну или несколько валют отчетности или группы в соответствии с общепринятыми принципами учета.

Правила пересчета валют выполняются как отдельная задача с помощью пакета администратора данных. Их также можно выполнять из монитора консолидации в области центральной консолидации.

Предпосылки

Пересчет валют применяется и к финансовым моделям консолидации, и к моделям консолидации согласно законодательству, на которые ссылалась соответствующая модель курсов валют.

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

Если данные требуется хранить во внутренней валюте сущности, а также пересчитывать их в одну или несколько валют отчетности или группы, должно существовать измерение типа "валюта". Кроме того, система должна иметь доступ к модели курсов валют, где хранятся валютные курсы, используемые для автоматического пересчета. Ниже представлен перечень требований к среде, которые должны соблюдаться для поддержки пересчета валют:

  • Среда должна содержать модель курсов валют, где хранятся валютные курсы. Эту модель курсов валют следует присвоить каждой модели, использующей ее.

  • Сама модель должна содержать измерение типа "валюта" и, возможно, измерение группы.

  • Измерение валюты (тип R) должно содержать следующие свойства:

    • REPORTING, - принимает значения Y (да) или пусто

    • CURRENCY_TYPE, - принимает значения R (валюты отчетности), T (валюта транзакции) или L (внутренняя валюта). Значение G для валюты группы применяется в тех случаях, когда измерение валюты используется также для управления группами. Это значение применимо только к моделям, перенесенным из предыдущей версии SAP Business Planning and Consolidation.

  • Для моделей типа "консолидация" измерение группы (тип G) должно содержать следующие свойства:

    • GROUP_CURRENCY, - принимает значения действительных валют из ранее упомянутого измерения валюты

    • CURRENCY_TYPE, - принимает значения G (валюта группы) или N (данные вне группы, то есть внутренние данные)

  • Измерение сущности (тип E) должно включать свойство CURRENCY (валюта) со значениями действительных валют ввода Input_Currencies. Валюты ввода перечислены в измерении валюты модели курсов валют.

  • Измерение счета (тип A) должно включать свойство RATETYPE, значениями свойства RATETYPE должны быть имена соответствующих правил пересчета валют.

  • Измерение времени (тип T) должно включать свойства YEAR, (год), PERIOD (период), TIMEID (ид. времени) и MONTHNUM (номер месяца).

  • Измерение аудита является необязательным для пересчета валют, но если оно включено, то должно содержать следующие свойства:

    • DATASRC_TYPE (тип источника данных) со следующими значениями:

      • I - ввод

      • M - корректировка вручную

      • A - исключения и корректировки

      • L - уровень аудита (используется только для консолидации)

    • IS_CONVERTED (пересчитывается) со следующими значениями:

      • N - эти элементы игнорируются при пересчете

      • Y (или пусто) - эти элементы пересчитываются из внутренней валюты (LC) в требуемую валюту, если не отмечены как требующие корректировки вручную; для этих элементов пересчет валют вводится вручную

      • G - эти элементы копируются из валюты отчетности группы, которая пересчитывается в элемент валюты, соответствующий данной группе

  • Измерение потока (тип S) является необязательным для пересчета валют, но если оно включено, то должно содержать свойство FLOW_TYPE (тип потока).

  • Измерение InputCurrency (валюта ввода) в применимой модели курсов валют должно включать свойство MD со значениями M (для умножения курсов) или D (для деления курсов).

  • Должна быть доступна соответствующая логика пересчета валют FXTRANS .

При пересчете по умолчанию выполняется считывание всех значений во внутренней валюте, где валюта = LC, затем применяется валютный курс, соответствующий применимой модели курсов валют, и записываются результаты в соответствующей валюте отчетности (долл. США, евро и т.д.).

Выбор курса

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

  • Исходная валюта определяется на основе свойства CURRENCY пересчитываемой сущности.

  • Курс, используемый при пересчете, такой как Endflow, Histrate и т.д., определяется на основе свойства RATETYPE пересчитываемого счета.

  • Действительные курсы валют - это курсы, соответствующие счету из модели курсов валют, для которого в свойстве GROUP указан валютный курс (FX).

  • Система не выполняет пересчет счетов с типом курса, не входящим в бизнес-правила пересчета валют, и пересчитывает все счета с использованием пустого типа курса с коэффициентом 1.

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

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

  • Использование различных таблиц курсов в зависимости от валюты отчетности (целевой валюты)

  • Возможность различать валюты, требующие умножения и требующие деления

Предварительные условия для выполнения пересчета валют

Пересчет валют может выполняться в следующих двух режимах:

  • Режим валюты отчетности

    В режиме валюты отчетности переменные данные, записанные во внутренней валюте, пересчитываются в указанную валюту отчетности. Скрипт для этого режима должен быть аналогичен следующему:

    *RUN_PROGRAM CURR_CONVERSION

    CATEGORY = %C_CATEGORY_SET%

    CURRENCY = %RPTCURRENCY_SET%

    TID_RA = %TIME_SET%

    RATEENTITY = GLOBAL

    ......

    *ENDRUN_PROGRAM

    Обратите внимание на ключевое слово CURRENCY. При выполнении пересчета валют для валюты отчетности ключевым словом в левой части должно быть CURRENCY. При выполнении пересчета валют для группы используйте ключевое слово GROUP.

  • Режим концерна

    В режиме группы данные дочерних компаний пересчитываются в валюту концерна Этот режим используется главным образом перед консолидацией.

Безотносительно режима пересчета валюты должны выполняться следующие условия:

  • Модель должна содержать только одно измерение валюты (тип R).

  • Модель должна содержать только одно измерение группы (тип G), если это модель консолидации.

    Для моделей консолидации, перенесенных из предыдущих версий SAP Business Planning and Consolidation, это измерение является необязательным для гарантии совместимости с текущей версией.

  • Модель отчетности должна ссылаться на модель RATE (курсы валют).

  • Некоторые измерения, такие как "Счет", "Сущность" и "Валюта", должны содержать соответствующие свойства, перечисленные в следующей таблице:

    Модель

    Измерение

    Свойство

    Описание

    Основная

    Счет

    RATETYPE

    Значение свойства RATETYPE должно быть именем правила пересчета валют, таким как AVG, END и ENDFLOW.

    Основная

    Сущность

    CURRENCY

    Свойство CURRENCY указывает внутреннюю валюту для текущей сущности. Например, для сущностей "США" или "Франция" валютой являются долл. США или евро соответственно. Значение этого свойства должно быть действительным элементом измерения InputCurrency (валюта ввода).

    Основная

    Валюта

    CURRENCY_TYPE

    Свойство CURRENCY_TYPE указывает тип валюты и должно принимать следующие значения:

    • L (внутренняя валюта)

    • R (валюта отчетности)

    • G (группа, только для совместимости моделей, перенесенных из предыдущих версий)

    Основная

    Группа

    CURRENCY_TYPE

    Свойство CURRENCY_TYPE указывает на принадлежность элемента к группе/подгруппе или на его использование для ввода внутренних данных:

    • G (группа)

    • N (вне группы, используется для ввода данных)

    Основная

    Время

    YEAR

    Свойство YEAR содержит информацию о годе идентификатора. Например, если идентификатор = 2016.AUG, YEAR = 2016.

    Основная

    Время

    PERIOD

    Свойство PERIOD обозначает период, к которому относится текущее время. Например, если идентификатор = 2016.AUG, PERIOD = AUG.

    Основная

    Время

    PERIOD

    Свойство TIMEID содержит числовое значение текущего времени. Например, для 2016.AUG TIMEID = 20160800.

    Основная

    Время

    MONTHNUM

    MONTHNUM определяет период закрытия года. Это число обозначает хронологический порядок базовых элементов в иерархии измерения времени в течение одного года. Например, для 2016.AUG MONTHNUM = 8.

    Базовым элементом может быть месяц или день, в зависимости от ваших настроек.

Если необязательные измерения, такие как аудит и поток (тип S), отсутствуют, пересчет валют и без них выполняется успешно. Однако если они существуют, они влияют на процесс пересчета. В этом случае для этих измерений обязательны следующие свойства:

Измерение

Свойство

Описание

Аудит

DATASRC_TYPE

Свойство DATASRC_TYPE указывает тип элемента аудита. Доступны следующие четыре значения:

  • I (ввод)

  • M (корректировка вручную)

  • L (уровень аудита audit, только для консолидации)

  • A (исключения и корректировки)

Аудит

IS_CONVERTED

Если свойство IS_CONVERTED имеет значение N или пусто, элементы игнорируются при пересчете. Если оно имеет значение Y, элементы пересчитываются из внутренней валюты в требуемую валюту.

Поток

FLOW_TYPE

Свойство FLOW_TYPE может принимать различные значения, но самым важным является значение CLOSING (закрытие). Оно используется правилом пересчета валют с FORCE_CLOSING = Y.

Для осуществления пересчета валют в режиме валюты отчетности должно быть выполнено упомянутое выше обязательное условие. Если существуют необязательные измерения, такие как аудит и поток (тип S), необходимо также условие необязательного измерения.

Для осуществления пересчета валют в режиме группы в дополнение к тому же требованию, что и для режима валюты отчетности, обязательны следующие дополнительные условия:

  • Должна быть настроена модель владения и ссылка на нее.

  • Только для моделей консолидации, перенесенных из предыдущих версий: информация группы должна храниться в отдельном измерении группы (это не относится к моделям, перенесенным из предыдущих версий, в которых информация групп может храниться в измерении валюты).

    При использовании измерения валюты информация о валютах и группах находится в одном измерении. В измерении валюты необходимы следующие свойства:

    • Свойство ENTITY должно быть пустым или допустимым идентификатором сущности. Используется для определения связи между группой и сущностью или для указания сущности, где должна храниться агрегация. (См. свойство STORE_ENTITY ниже.)

    • Свойство GROUP_CURRENCY может использоваться только для элементов CURRENCY со свойством CURRENCY_TYPE= G. Оно должно содержать действительный идентификатор из измерения валюты со свойством CURRENCY_TYPE = R.

    • Свойство STAGE_ONLY управляет способом сохранения пересчитанных значений в случае многоуровневого пересчета групп. У этого свойства может быть три значения: Y, E или N (пусто).

    • Свойство STORE_ENTITY может иметь значение Y или пусто. Оно указывает, должна ли система копировать результаты пересчета валют для текущей группы в сущность, указанную в свойстве ENTITY.

    • Свойство STORE_GROUP_CURR может иметь значение Y или пусто. Оно указывает, должна ли система хранить результаты пересчета валют в валюте группы. В противном случае система сохраняет результат только в gGoup, а не в валюте.

    • Свойство PARENT_GROUP определяет иерархию групп. Значением этого свойства должен быть действительный идентификатор группы в измерении.

    Если валюта и группа находятся в одном измерении, перед выполнением пересчета валют для группы убедитесь, что файл скрипта аналогичен следующему:

    *RUN_PROGRAM CURR_CONVERSION

    CATEGORY = %C_CATEGORY_SET%

    GROUP= %GROUPS_SET%

    TID_RA = %TIME_SET%

    RATEENTITY = GLOBAL

    ......

    *ENDRUN_PROGRAM

    Обратите внимание на ключевое слово GROUP. При выполнении пересчета валют в режиме группы ключевое слово GROUP должно использоваться вместо CURRENCY.

    В SAP Business Planning and Consolidation при формировании консолидации обязательными являются оба измерения: группы и валюты. Следовательно, элементы группы консолидации и элементы валюты хранятся отдельно.

    Новое специализированное измерение, например "Группа", должно относиться к типу G.

При ведении свойств времени следует иметь в виду, что выполнение программ, связанных с консолидацией, разрешено для базовых элементов только в том же самом году. На эти программы влияют четыре свойства базовых элементов: "TIMEID", "YEAR", "PERIOD" и "MONTHNUM".
  • Свойства вышестоящих узлов не влияют на эти программы, и значения этих 4 свойств не должны быть пустыми.

  • Значение свойства "TIMEID" должно быть уникальным для каждого базового элемента.

  • Значение свойства "YEAR" должно быть четырехзначным числом для каждого базового элемента.

  • Значение свойства "PERIOD" должно быть уникальным для каждого базового элемента в том же году ("YEAR"). Предлагается использовать для элементов месяца значения "JAN" (ЯНВ), "FEB" (ФЕВ) и т. д., для элементов недели - "week01" или "W01".

  • Значение свойства "MONTHNUM" должно быть уникальным для каждого базового элемента в том же году ("YEAR"). Оно должно быть числом, которое обозначает хронологическую последовательность в течение одного и того же года.

  • Пример элементов DAY (день):

    Идентификатор

    Период

    TIMEID

    MONTHNUM

    PARENTH1

    2016.TOTAL

    TOTAL

    365

    2016.Q1

    Q1

    90

    2016.TOTAL

    2016.JAN

    JAN

    031

    2016.Q1

    2016.08.01

    DAY1

    20160801

    213

    2016.AUG

    2016.08.20

    DAY20

    20160820

    232

    2016.AUG

  • Кроме того, ниже приведен пример измерения времени для 12 января 2016 г.:

    Идентификатор

    TIMEID

    Год

    Период

    MONTHNUM

    Базовый период

    2016.1.12

    20160112

    2016

    D12

    012

    012