Использование Id='' в запросе адаптера EAI Siebel

Требование: я предполагаю использовать существующий объект интеграции для своего требования. Поскольку этот ввод-вывод состоит из микросхем, которые мне не нужны в моем требовании, я хотел бы избежать их в выводе моего запроса ввода-вывода.

Я заметил, что передача Id = '' не возвращает результата в Siebel 8.0. Могу ли я использовать его как функцию и передать SearchSpec => [Integration Component.Id]='' в запрос EAI Siebel Adapter, чтобы подавить IC, которые мне не нужны в выводе?

Насколько хорош этот запрос Id=''? Будет ли Siebel полностью игнорировать этот запрос? или он попытается и не вернет результат?

Насколько я понимаю, Siebel игнорирует запрос, в котором row_id передается как '' (Не верно для siebel 6.0)
Пожалуйста, поделитесь своим мнением.


person InfantPro'Aravind'    schedule 11.12.2013    source источник


Ответы (3)


Не уверен в использовании Id = '', когда вы объединяете условие с другими условиями, Siebel может попытаться найти фактические совпадающие записи. Кроме того, не уверен, что будущая модернизация сохранит ту же систему.

Если ваш код — единственный, использующий IO, вы можете сразу деактивировать ненужные IC.

Если вы не уверены в инактивации IC, лучше всего использовать DatMapper. Настройте EAI Datamapper, исходные и целевые операции ввода-вывода с одинаковыми именами. В этом datamapper сопоставьте только те IC, которые вам нужны. После запроса от адаптера EAI Siebel отправьте выходные данные в этот DataMapper.

Siebel сохранит только сопоставленные IC и удалит все остальные. Поскольку это изменение не относится к репозиторию, вы также можете изменить DataMapper в будущем.

Надеюсь это поможет !

person Ranjith R    schedule 12.12.2013
comment
Если удаление ненужной части из XML является девизом, то я могу использовать XSLT (который уже есть). Но я хочу избежать этого в самом запросе XML. - person InfantPro'Aravind'; 12.12.2013

Отвечаю сам со своим мнением..

Насколько я понимаю, запрос с Id='' по-прежнему запрашивает базу данных для row_id = ''. Включение этого в запрос ввода-вывода уменьшает область запроса до родительского контекста. Хотя это не улучшит производительность, выходные данные запроса ввода-вывода выглядят чище.

Обновление: я использую идентификатор поля на основе индексированного столбца (ROW_ID) со спецификацией поиска как «[Id] IS NULL». Это почти невозможный случай в базе данных, имеющей ROW_ID = NULL, если только она не обновляется намеренно и вручную. Опять же, никто не будет этого делать, если только он действительно не захочет испортить эти данные.. потому что без ROW_ID запись буквально недействительна..

person InfantPro'Aravind'    schedule 13.12.2013

Добавление пустого запроса к IC по своей сути приведет к пустому набору свойств для рассматриваемого IC. Но если вам не нужен IC, а IC в IO не связаны иерархически (нет ключа иерархии) (например, независимые BC с одной и той же базовой таблицей в одном и том же BO), вам просто нужно удалить сопоставление IC в редактор карты данных и IC не будут отображаться в наборе параметров ввода-вывода

person user3385584    schedule 05.03.2014