Режимы обработки функций

Контекст выполнения позволяет применять правила качества как ко всей структуре атрибутов реестра/справочника, так и к отдельным ее частям, и реализуется 2 режимами обработки:

  • Глобальный (GLOBAL). Режим обработки, при котором функция обрабатывает порт единожды, вне зависимости от объема коллекции атрибутов, которые в него попадают.

  • Локальный (LOCAL). Режим обработки, при котором функция обрабатывает порт столько раз, сколько атрибутов было собрано в коллекцию.

Особенности контекста выполнения:

  • В режиме GLOBAL функция обрабатывает порт единожды, вне зависимости от объема коллекции;

  • GLOBAL является режимом по умолчанию;

  • Режим LOCAL исключает из обработки те атрибуты, которые могут привести к ошибкам выполнения функции в процессе сбора коллекции атрибутов.

  • В режиме LOCAL функция обрабатывает порт столько раз, сколько атрибутов было собрано в коллекцию;

  • В режиме LOCAL могут быть выбраны порты либо выше по структуре, либо 1 уровень ниже от указанного комплексного атрибута;

  • Атрибуты, выбранные выше контекста, являются прямыми предками атрибутов (родители и прародители), указанных в контексте;

  • Каждая стандартная функция обработки данных поддерживает один из режимов. Для отдельных стандартных функций доступен выбор между режимами. Информация о режиме обработки указана в разделе "Функции" при выборе стандартной функции из списка;

  • При создании композитной функции доступен выбор возможных режимов обработки;

  • При реализации сторонней функции также необходимо указание значения параметра, который указывает доступные режимы обработки;

  • Upath-выражение, указанное в поле "Контекст выполнения" должно совпадать с выражениями входящих и исходящих портов.

Режим обработки GLOBAL

В режиме GLOBAL в качестве значения контекста выполнения указывается имя реестра. Могут быть выбраны любые порты на любом уровне вложенности.

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

Режим обработки GLOBAL

Рисунок 1 – Режим обработки GLOBAL

Режим обработки LOCAL

В режиме LOCAL в качестве значения контекста выполнения указывается комплексный атрибут (обозначение 2.1.2 на Рисунке 2).

Режим LOCAL ограничивает возможности выбора портов в пределах одной ветки структуры. При этом если в режиме LOCAL указан 2 уровень вложенности, то выбор портов ниже 3 уровня недоступен и приведет к ошибке.

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

Примечания:

  • Если функция обрабатывает входящие порты типов – целочисленный, строковый, численный, дата, дата/время, время, логический – то во входящие и исходящие порты правила могут попасть только простые атрибуты выбранного комплексного, или простые атрибуты родителей и прародителей.

  • Если функция обрабатывает входящие порты типов – любой, запись – то может быть выбран комплексный атрибут.

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

Ограничения:

В Юниверс MDM существуют ограничения для функций обработки данных, которые решает использование режима LOCAL:

  • Отдельные функции (например, арифметические) не поддерживают списки значений во входящих портах, но могут быть сконфигурированы таким образом, что возникают ошибки;

  • Исходящие порты могут содержать несогласованные и противоречивые результаты запуска функций;

  • Функция может не учитывать заполненность атрибутов на всех уровнях вложенности реестра, что также приводит к ошибкам в процессе выполнения.

Режим обработки LOCAL

Рисунок 2 – Режим обработки LOCAL