|
Siebel CRM прикрепление XML из clob в качестве attachment
|
|||
---|---|---|---|
#18+
Доброго дня! Имеются: - Oracle Siebel Innovation Pack 2016, application Siebel Financial Services - полгода лайтового опыта в разработке под Siebel типа "доработать скрипт", "вывести новое поле на апплет", "изменить таблицу в БК" и т.п. - и задачка: ... Собственно суть в названии. В БД есть функция, которая принимает некие параметры (id заявки, opty id) и возвращает код XML (в формате расширения Excel "Таблица XML") в base64. В Siebel на апплете есть кнопка, по нажатию на которую необходимо вызвать процедуру, передав в нее параметры, получить в ответ XML и прикрепить его в качестве attachment в Siebel к заявке. В поисках решений нагуглено это . Вероятно, раздел Exchanging Attachments with External Applications и далее Inline XML attachments по мою душу, однако из-за недостатка опыта в Siebel не до конца понимаю по шагам что нужно сделать, что за чем идет, что и чего должно вызывать и т.д. Прошу помощи хотя бы в концептуальном описании алгоритма, типа: 1. создай бизнес-сервис, вызови в нем функцию 2. сделай воркфлоу, который будет делать то-то 3. создай интерграционный объект (пока не очень понимаю зачем оно нужно) ... Siebel-dino умирает, конечно, но наверняка найдутся те, кто работал или работает с ним и сейчас. Благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2021, 06:57 |
|
Siebel CRM прикрепление XML из clob в качестве attachment
|
|||
---|---|---|---|
#18+
Сделал все описанное по ссылке выше: - создал табличку с clob (вместо функции, думал в нее помещать код своего документа) - сделал на ней БК - сделал на этом БК бизнес-объект - создал по инструкции интеграционный объект - сделал воркфлоу... И на полпути понял, что это не совсем то, что мне нужно, ибо инструкция описывает ситуацию, когда файл нужно взять с файловой системы и сделать из него вложение. Мне же надо обойти такой вариант, так как БД и Siebel стоят на разных IP, просто выложить в созданную директорию из-под БД через utl_file не получится, ftp нужен будет - еще одно колено, согласования, доступа etc ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2021, 12:21 |
|
Siebel CRM прикрепление XML из clob в качестве attachment
|
|||
---|---|---|---|
#18+
Master_Detail, все должно быть потчи также, просто instance of integration object с integration component котопрый базируется на business component класса CSSFile (этот компонет имеет поля ддя Parent Id, File Name, File ext and поле с типом DTYPE_ATTACHMENT для содержимого файла) на создать в workflow process "ручками" : или через PRN ANI Utilities:CreateEmptyHierarchy или, что может быть проще через EAI XML Converter: XML to Integration Object (https://docs.oracle.com/cd/F14158_13/books/EAI5/siebel-xml-converters.html#c_XML_Document_to_Integration_Object_Hierarchy_Method_Arguments_aeq1014993): 1) (custom code) Получитn XML doc c base64encoded полем 2) (eScript coded BS или XSLT code via XSLT BS) Создать новый XML doc соответсвующий структуре Integration Object и заполнить его поля и положить в поле DTYPE_ATTACHMENT этот base64 текст 3) EAI XML Converter: XML to Int Object (преобразоание в памяти XML на PropertySet/SiebelMessage/Int.Object и декодированик base64 to raw binary bytes) 4) EAI Siebel Adapter : Upsert - (делает всю работу: читает даннык из PropertySet, создает или обновляет записи в таблицах (зависит от ключевых полей каждого Integration Component of SiebelMessage), создает файл в temp (на сервере) и записывает его в Siebel File System как надо. Как то так. Можно даже опубликовать Int.Object worklfow c EAI Siebel Adapter step only. Как Siebel Inbound Web Service и отправить SOAP / HTTP POST из Oracle DB PL/SQL или javascript applet-a ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2021, 14:51 |
|
Siebel CRM прикрепление XML из clob в качестве attachment
|
|||
---|---|---|---|
#18+
agg812, Спасибо огромное за помощь! Пошел все это дело вкуривать и претворять в жизнь.. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2021, 10:38 |
|
Siebel CRM прикрепление XML из clob в качестве attachment
|
|||
---|---|---|---|
#18+
agg812, вы писали выше: agg812все должно быть потчи также, просто instance of integration object с integration component котопрый базируется на business component класса CSSFile (этот компонет имеет поля ддя Parent Id, File Name, File ext and поле с типом DTYPE_ATTACHMENT для содержимого файла) на создать в workflow process "ручками" : или через PRN ANI Utilities:CreateEmptyHierarchy или, что может быть проще через EAI XML Converter: XML to Integration Object (https://docs.oracle.com/cd/F14158_13/books/EAI5/siebel-xml-converters.html#c_XML_Document_to_Integration_Object_Hierarchy_Method_Arguments_aeq1014993) Позвольте пару глупых вопросов.. Как я понял это - мне нужно: - создать БК с классом CSSFile(где будут поля - Parent Id, File Name, File ext and поле с типом DTYPE_ATTACHMENT для содержимого файла). И он не будет базироваться ни на какой таблице БД (вроде виртуальными такие объекты называют) и нужен только, чтобы выполнить шаг 2 (из описанных вами шагов) и положить в него все значения в том числе и "поле DTYPE_ATTACHMENT этот base64 текст" Вы пишете "базируется", "имеет поля" - понимать как "должен базироваться" и "должен иметь"? Потому как ни одного БК с классом CSSFile у меня сейчас нет в репозитории - не догнал что я должен "на создать в workflow process "ручками"".. Далее шаги вроде концептуально понятны, а вот процитированный фрагмент не особо ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2021, 07:58 |
|
Siebel CRM прикрепление XML из clob в качестве attachment
|
|||
---|---|---|---|
#18+
Извините пож. за поздний ответ и некоторые ошибки: Правильное имя класса: CSSBCFile В репозиториии много стандартных БК на этом классе - например: Account Attachment Таблица все равно нужна для БК (например S_ACCNT_ATT) - чтообы хранить метаданные файла (имя, тип, и т.д.) и если надо Id родительского БК. Таблица лучше создать свою через Siebel Tools (CX_....) главное чтобы там были необхомитые колонки Файл не будет храниться в записе таблице, вместо этого он будет сжат переименован (имя таблицы -Row I) и положе в фыйлову систему Siebel (Siebel FS). Запись в таблице будет вести доступ к файлу для чтения, записи и удаления. Siebel FS рассматривается как часть Siebel ДБ. и обычно есть сетевой каталог доступной процессу сибельного приложения (или только сибельному файл-серверному процессу - если параметер приложения: FileSystem равен *FSM*). С Уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2021, 14:48 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1880325]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
131ms |
get topic data: |
9ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 235ms |
0 / 0 |