User Key на IO

Обсуждаем техничекие вопросы в этом разделе!

User Key на IO

Сообщение vif Пн ноя 08, 2010 2:44 pm

Описание:
Есть Интеграционный объект на основе BO. Integration Component верхнего уровня (Prospective Contact) содержит поле Party UId, для которого на уровне таблицы Nullable = false. Поле должно быть уникально. На Integration Component создан User Key для этого поля. Необходимо выполнить Upsert / Insert
Проблема:
Данные поступают из внешней системы. Там поле может быть пустым, тогда в него вставляется случайное значение (для GUI на PostDefault берет RowId). Как сделать такую логику на IO (чтобы если поле было пустое, то вставлять RowId текущей записи)?
Сейчас при попытке сделать Upsert / Insert получаю сообщение:
Error invoking service 'EAI Siebel Adapter', method 'Insert' at step 'Insert'.(SBL-BPR-00162)
--
No user key can be used for the Integration Component instance 'Prospective Contact'.(SBL-EAI-04397)

Спасибо всем, кто попытается помочь.
vif
 
Сообщений: 32
Зарегистрирован: Ср авг 13, 2008 4:33 pm

Re: User Key на IO

Сообщение Master Ср ноя 10, 2010 8:34 pm

Коллега, не очень понятно как во внешний системе, поле определяющее ID записи может быть пустым? Может стоит в Person UID подставлять, то же что в Integration ID подставляете (если подставляете)? но в лбом случае во внешней системе должен быть Primary Key, иначе там не система, а поделка пионера.
Зовите меня просто - МАСТЕР!
Аватара пользователя
Master
Администратор
 
Сообщений: 169
Зарегистрирован: Пт авг 17, 2007 12:02 pm

Re: User Key на IO

Сообщение vif Чт ноя 11, 2010 10:48 am

Я не знаю стоит ли обсуждать чужую систему, но скажу 2 вещи:
1. Длина идентификатора во внешней системе может оказаться не подходящей
2. Эта внешняя система не единственный источник данных. Есть и другие, следовательно возникает вопрос об уникальности ключа.
vif
 
Сообщений: 32
Зарегистрирован: Ср авг 13, 2008 4:33 pm

Re: User Key на IO

Сообщение Master Чт ноя 11, 2010 11:02 am

1. 100 символов более чем достаточно. Даже GUID поместится. Не могу представить себе уникальный ключ длинее
2. перед значением ключа ставь, например, порядковый номер системы (01-ключи системы 1, 02 - ключ системы 2 и т.д)
Зовите меня просто - МАСТЕР!
Аватара пользователя
Master
Администратор
 
Сообщений: 169
Зарегистрирован: Пт авг 17, 2007 12:02 pm

Re: User Key на IO

Сообщение vif Чт ноя 11, 2010 11:08 am

Вопрос состоит не в том, как выкрутиться, а как это сделать стандартными средствами сибел. В настоящий момент я подставляю значение свойства WF Process Instance Id. Кстати, насколько это значение уникально?
vif
 
Сообщений: 32
Зарегистрирован: Ср авг 13, 2008 4:33 pm

Re: User Key на IO

Сообщение Master Чт ноя 11, 2010 11:17 am

Я Вам предлагаю не выкручиваться, а сделать по логике правильно.... А вот подставлять ROW_ID, в случае если что-то не пришло, вот это выкручивание...

Но дело Ваше, я посоветовал.
Спасибо за внимание, больше постить не буду.
Зовите меня просто - МАСТЕР!
Аватара пользователя
Master
Администратор
 
Сообщений: 169
Зарегистрирован: Пт авг 17, 2007 12:02 pm

Re: User Key на IO

Сообщение vif Чт ноя 11, 2010 12:12 pm

В любом случае спасибо
vif
 
Сообщений: 32
Зарегистрирован: Ср авг 13, 2008 4:33 pm

Re: User Key на IO

Сообщение vif Вт ноя 16, 2010 6:25 pm

Нашел ответ на вопрос если кому-то интересно - отвечу.
vif
 
Сообщений: 32
Зарегистрирован: Ср авг 13, 2008 4:33 pm


Вернуться в Технический раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron