Дата актуализации:
File-Based Data Import (FBDI), это встроенный фреймворк массовой загрузки данных в Oracle Fusion Cloud ERP. Как показывает практика и документация (Oracle Applications Blog, 2017; knowledgelib.io, 2026), FBDI охватывает все ключевые модули: Financials, Procurement, SCM, Project Management и HCM.
Процесс «сверки нового профиля» (validation & reconciliation) — это критически важный этап, предшествующий финальному импорту бизнес-объектов (поставщиков, клиентов, номенклатуры, журналов и т.д.); Ошибки на этом этапе приводят к созданию дублей, нарушению ссылочной целостности и зависанию ESS-задач (Enterprise Scheduler Service).
Что такое «Новый профиль» в контексте FBDI
Под «профилем» понимается набор атрибутов, однозначно идентифицирующий бизнес-объект. В зависимости от модуля это может быть:
- Procurement (Покупки): Профиль поставщика (Supplier Profile), Сайт поставщика (Supplier Site), Контакты, Банковские счета. (Пример: Step by Step to Load Suppliers Through FBDI, 2017).
- Financials (Финансы): Профиль клиента (Customer Profile), Сайт клиента, Профиль счета ГК (Journal Import).
- SCM (Управление цепочками поставок): Профиль номенклатуры (Item Profile), Кросс-референсы, Запасы.
- HCM / Projects: Профили работников, проектов, задач.
- Custom Objects (Пользовательские объекты): Специфичные для бизнеса сущности, загрузка которых автоматизируется через OIC (Oracle Integration Cloud) и ATP (Autonomous Transaction Processing) (Cloud Customer Connect, 2026-03-25).
Архитектура процесса сверки (Validation Flow)
Сверка происходит на трех уровнях. Понимание этой иерархии позволяет выявлять ошибки до запуска долгих ESS-джобов.
Уровень 1: Валидация шаблона (Client-side / Spreadsheet Level)
До выгрузки файла в UCM (Universal Content Management) происходит проверка в Excel-шаблоне (.xlsx / .csv):
- Обязательные поля (Required Columns): Проверка заполненности ключевых атрибутов (например,
SupplierName,TaxpayerId,ItemClass). - Справочники (LOV / Value Sets): Соответствие значений спискам значений (Unit of Measure, Currency, Country Codes).
- Форматы и маски: Даты (YYYY-MM-DD), номера телефонов, email, налоговые ID (INN/VAT).
- Уникальность в файле: Отсутствие дублей по ключу внутри одного файла загрузки (Batch).
Уровень 2: Пре-валидация при загрузке в UCM и запуске ESS Job
После загрузки ZIP-архива в UCM (через UI Import Management или REST API / OIC Oracle Integration uses the Oracle Cloud ERP Adapter…, 2023) запускается задача Load Interface File for Import.
На этом этапе происходит:
- Парсинг файла и загрузка в промежуточные таблицы (Interface Tables), например
POZ_SUPPLIERS_INT,GL_INTERFACE,EGP_SYSTEM_ITEMS_INTERFACE. - Срабатывание PL/SQL триггеров и Package-валидаторов (например,
POZ_SUPPLIER_INT_PKG). - Проверка Cross-Reference (XREF) — сопоставление Source System / Source System Reference с существующими записями в базе.
Уровень 3: Бизнес-валидация и Импорт (Import Process)
Запуск задачи Import [Object] Process (например, Import Supplier Process, Journal Import). Здесь происходит:
- Проверка уникальности по бизнес-ключам (Duplicate Check): Налоговый номер, Email, DUNS, Registry ID.
- Проверка иерархий и зависимостей: Наличие родительского поставщика для сайта, наличие организации инвентаризации для номенклатуры.
- Разрешение профилей безопасности (Data Security / BU Assignment): Есть ли у пользователя/процесса права на создание в данной Business Unit.
Ключевые сценарии сверки нового профиля
Сценарий: «Создание нового» (Create New) vs «Обновление существующего» (Update Existing)
Логика FBDI определяется колонками SourceSystem и SourceSystemReference (или BatchId / TransactionType для журналов).
| Параметр | Действие: Create | Действие: Update |
|---|---|---|
| XREF запись отсутствует | Создается новый профиль. Генерируется Party ID / Item ID. | Ошибка: «Record not found for update». |
| XREF запись существует | Ошибка: «Duplicate Source System Reference». Требуется флаг обновления. | Обновляются атрибуты существующего профиля. |
| Сверка атрибутов | Полная валидация по правилам создания. | Валидация только измененных полей + проверка истории изменений (Audit). |
Сверка на дубликаты (Duplicate Prevention)
Самая частая проблема при заливке новых профилей. Механизмы защиты:
- Supplier/Customer: Проверка по
TaxpayerId,DUNSNumber,RegistryID,EmailAddress. Настройка в Manage Duplicate Prevention (HZ_DUP_PREVENTION_SETUPS). - Items: Проверка уникальности
ItemNumberв пределах Organization / Item Class. - Journals: Проверка уникальности комбинации
JournalEntrySource+JournalEntryCategory+Period+Reference(Journal Import using FBDI, RishOraDevs, 2024).
Сверка зависимостей (Referential Integrity)
Новый профиль не может существовать в вакууме. Пример цепочки для Поставщика:
- Существует ли Legal Entity / Business Unit (привязка к Procurement BU)?
- Существует ли Address (валидация через Google/Vertex/Loqate или внутренний реестр)?
- Валидны ли Payment Terms, Currency, Tax Registration на дату начала действия?
- Для сайта поставщика: существует ли Header (Header Supplier Profile)?
Техническая реализация: Автоматизация сверки через OIC / REST API
Согласно информации от Cloud Customer Connect (2026-03-25) и Oracle Integration (2023-04-24), для объемов 5k+ записей и кастомных объектов используется паттерн:
- Источник: ATP Table / Staging Table / External System.
- OIC Integration: Orchestration flow:
- Чтение данных (Batch/Streaming).
- Преобразование в структуру FBDI (CSV/PSV формат).
- Вызов ERP Adapter -> Upload File to UCM (обертка над
FndDocumentCategories/FndDocuments). - Вызов ESS Job: Load Interface File for Import (Parameter:
FileName,ImportProcessCode). - Polling / Callback: Ожидание завершения (Status: SUCCEEDED / WARNING / ERROR).
- Чтение логов/ошибок через ESS Job Output или Interface Table Error Columns (
_STATUS,_ERROR_MESSAGE).
- Обработка ошибок: Автоматическое создание инцидентов в Jira/ServiceNow или возврат в исходную систему для коррекции.
Работа с ошибками: Диагностика и коррекция профилей
Анализ логов ESS Job
После завершения джоба Import Process необходимо проверить:
- Log File: Общий ход выполнения, SQL-ошибки (ORA-XXXXX).
- Output File (Execution Report): Сводка: Total Rows, Successful, Failed, Warnings.
- Error Report (Exception Report): Детализация по строкам файла.
Типовые ошибки сверки профилей и решения
| Код ошибки / Текст | Причина (Root Cause) | Действие по исправлению |
|---|---|---|
| PZ_VALIDATION_ERROR: Duplicate Tax Registration | Новый профиль имеет ИНН, уже заведенный на другой Party ID. | Найти существующего поставщика/клиента через UI (Manage Suppliers) -> Обновить существующий профиль (Update mode) или дедуплицировать в источнике. |
| INVALID_BU_ASSIGNMENT | Профиль создается в BU, к которому у импортера нет доступа или BU неактивно. | Проверить дату активности BU и роль Procurement Application Administrator / Supplier Profile Manager. |
| ADDRESS_VALIDATION_FAILED | Адрес не проходит стандартизацию (Geography validation). | Включить «Allow Free-form Address» в настройках географии или исправить адрес по справочнику стран/регионов. |
| ITEM_CATALOG_CATEGORY_MISSING | Для номенклатуры не задан функциональный класс (Item Class) или каталог. | Заполнить ItemClass в шаблоне, предварительно проверив наличие в Manage Item Classes. |
| CROSS_REFERENCE_NOT_FOUND (Update Mode) | Попытка обновить профиль, которого нет в системе (нет XREF). | Сменить режим на Create или загрузить XREF маппинг предварительно. |
Лучшие практики (Best Practices) для надежной сверки
- Pre-Staging Validation (SQL / Python / PL/SQL): Перед генерацией FBDI-файла прогоняйте данные через скрипты валидации: проверка дублей в источнике, соответствие LOV, формат дат/чисел. Это экономит часы ожидания ESS джобов.
- Использование уникальных Source System Reference: Генерируйте стабильные ключи (GUID или PK источника). Не используйте последовательные номера строк файла, это ломает идемпотентность перезагрузок.
- Тестовые загрузки (Dry Run): Используйте параметр
ProcessMode = 'VALIDATE_ONLY'(если поддерживается объектом) или загружайте в Test/DEV среду с полным циклом Import -> Rollback (через Backup/Restore или Flashback). - Маскировка чувствительных данных в логах: При разработке интеграций (OIC, BI Publisher отчеты) маскируйте PII: Номера карт, ИНН, Телефоны (). Пример:
TaxpayerId: 7755. - Мониторинг через BI / OTBI: Создайте дашборд на основе
FND_ESS_JOB_LOGи интерфейсных таблиц для отслеживания трендов ошибок (Top 10 Errors by Day/Object). - Версионирование шаблонов: Храните шаблоны FBDI (.xlsx) в Git/SVN. Oracle обновляет колонки раз в квартал (Quarterly Updates).
Специфика кастомных объектов (Custom Objects)
Как отмечено в Cloud Customer Connect (2026), для кастомных объектов (MDO / Custom Business Objects) стандартный FBDI может быть недоступен или ограничен.
- Используйте Import Management UI для разовой загрузки.
- Для автоматизации — OIC + ERP Adapter (Bulk API) или прямые REST вызовы
/fscmRestApi/resources/latest/{objectName}. - Сверка профиля здесь полностью на ответственности разработчика: нужно реализовать валидацию в Groovy / Object Functions (Triggers: Before Insert / Update).
Сверка нового профиля при заливке в FBDI — это не просто нажатие кнопки «Submit», а многослойный процесс:
- Подготовка данных (Cleansing, Deduplication, Enrichment).
- Техническая валидация (Format, Structure, UCM Upload).
- Бизнес-валидация (Duplicate Prevention, Referential Integrity, Security).
- Пост-анализ (Error Handling, Reconciliation Reports, Feedback Loop).
Грамотная автоматизация этого цикла через OIC (как описано в Oracle Integration uses the Oracle Cloud ERP Adapter…, 2023) и внедрение этапа Pre-Validation позволяют сократить время миграции данных на 60-80% и исключить ручное исправление ошибок в Production среде.
Документ подготовлен на основе агрегированных данных Oracle Blogs (2017-2024), Knowledgelib.io (2026), Medium publications (2021-2023) и Cloud Customer Connect (2026). Актуально для Oracle Fusion Cloud ERP 26B/26C.