Использование Id='' в EAI Siebel Adapter Query
Требование: я предполагаю использовать существующий объект интеграции для моего требования. Поскольку этот IO состоит из микросхем, которые мне не нужны в моем требовании, я бы хотел избежать их в выводе IO-запроса.
Я заметил, что передача Id = '' не дает результата в Siebel 8.0. Могу ли я использовать его как функцию и передать SearchSpec => [Integration Component.Id]=''
в EAI запрос адаптера Siebel для подавления микросхем, которые я не хочу выводить?
Насколько хорош этот запрос Id=''
? Будет ли Siebel полностью игнорировать этот запрос? или он попытается и не вернет ничего?
Согласно моему пониманию, Siebel игнорирует запрос, в котором row_id передается как '' (не верно для siebel 6.0)
Пожалуйста, поделитесь своим мнением.
3 ответа
Отвечаю сам с моим мнением..
Насколько я понимаю, запрос с Id='' все еще запрашивает базу данных для row_id = ''. Включение этого в запрос ввода-вывода уменьшает область запроса до контекста родителя. Хотя это не повысит производительность, вывод запроса ввода-вывода выглядит чище.
Обновление: я использую Id (ROW_ID) на основе индексированного столбца со спецификацией поиска как "[Id] IS NULL". Это почти невозможный случай в базе данных с ROW_ID = NULL, если только он не был намеренно и вручную обновлен. Опять же, никто не сделал бы этого, если бы на самом деле не хотел испортить эти данные.. потому что без ROW_ID запись буквально недействительна..
Не уверенный в использовании Id = '', когда вы объединяете условие с другими условиями, Siebel может попытаться найти реальные подходящие записи. Кроме того, не уверен, что будущее обновление сохранит ту же систему.
Если ваш единственный код, использующий IO, вы можете сразу инактивировать ненужные IC.
Если вы не уверены в инактивации IC, лучше всего использовать DatMapper. Установите EAI Datamapper, исходный и целевой IO с одинаковым именем. В этом datamapper отобразите только те IC, которые вам нужны. После запроса от EAI Siebel Adapter отправьте свои выходные данные в этот DataMapper.
Siebel будет хранить только микросхемы и удалит все остальные. Поскольку это изменение не в репозитории, вы можете изменить DataMapper и в будущем.
Надеюсь это поможет!
Добавление нулевого запроса к IC по своей сути приведет к пустому набору свойств для рассматриваемой IC. Но если вам не нужна IC, и IC в IO не связаны иерархически (без ключа иерархии)(например, независимые BC с той же базовой таблицей в том же BO), вам просто нужно удалить отображение IC в редактор карт данных и IC не будут отображаться в наборе ввода-вывода