Архив

Архив раздела ‘Workflow’

Workflow: Установка параметров для процедуры

Для установки нужных параметров при  вызове процедуры из workflow, используем следующий метод.

1) Перетягиваем нужный атрибут на функцию





2) Заходим в свойства функции, вкладка Node Attributes, и устанавливаем значение

3) Доступ к значению атрибута получаем следующим образом

...
    l_val := WF_ENGINE.GetActivityAttrText(itemtype => p_itemtype,
                                           itemkey  => p_itemkey,
                                           actid    => p_actid,
                                           aname    => 'XX_VAL1');
...

Workflow: Пример вызываемой процедуры

21 Октябрь 2010 1 комментарий
  procedure XX_TEST( itemtype  IN  VARCHAR2
                   , itemkey   IN  VARCHAR2
                   , actid     IN  NUMBER
                   , funcmode  IN  VARCHAR2
                   , resultout OUT VARCHAR2
                   )
  is
    l_proj_element_id NUMBER;
    --
    l_marker NUMBER; -- служит для обозначения шага
  begin

    l_marker := 10;

    xxdebug('XX_TEST');
    xxdebug('itemtype = '||itemtype  ,'itemkey = ' ||itemkey);
    xxdebug('actid = '   ||actid     ,'funcmode = '||funcmode);
    xxdebug('--');

    -- Проверяем статус workflow
    IF funcmode != WF_ENGINE.ENG_RUN THEN
      wf_log_pkg.string(5,'XX_TEST','Not in RUN mode');
      xxdebug_error('funcmode = '||funcmode);
      RETURN;
    END IF;

    -- далее основная логика процедуры

    -- получаем ID позиции поставки
    l_proj_element_id := WF_ENGINE.GetItemAttrText ( itemtype => itemtype
                                                   , itemkey  => itemkey
                                                   , aname    => 'PROJ_ELEMENT_ID' );

    xxdebug('proj_element_id='||l_proj_element_id);
    l_marker := 20;

    -- устанавливаем нового владельца
    WF_ENGINE.SetItemAttrText(itemtype, itemkey, 'NEW_DELIV_OWNER_ID', 141);

    resultout := WF_ENGINE.ENG_COMPLETED;
    RETURN;

  EXCEPTION
    WHEN OTHERS THEN
      xxdebug_error(SQLERRM, 'marker = '||l_marker);
      WF_CORE.context ( g_pkg_name
                      , 'XX_TEST'
                      , itemtype
                      , itemkey
                      , TO_CHAR(actid)
                      , funcmode
                      , SQLERRM
                      , 'marker = '||l_marker );
      RAISE;
  END;
Categories: Workflow Tags: ,

Workflow: Отправка уведомления

15 Сентябрь 2010 34 comments

Данная статья описывает процесс создания workflow процесса для отправки уведомления.

Версия Oracle Workflow Builder 2.6.3.5

1 Создание нового Workflow

Открываем Oracle Workflow Builder

Читать дальше про “Workflow: Отправка уведомления” »

Workflow: WFLOAD (утилита загрузки)

7 Сентябрь 2010 Нет комментариев

Утилита WFLOAD позволяет перемещать данные workflow между файлом и базой данных.

DOWNLOAD

Копирует файл на сервер приложений.

WFLOAD username/password 0 Y DOWNLOAD XX_TEST.wft XX_TEST

UPGRADE

Загружает файл в БД.

WFLOAD username/password 0 Y UPGRADE XX_TEST.wft
Categories: Workflow Tags: ,

Workflow: Ошибка при попытке коннекта к базе (1300)

7 Сентябрь 2010 Нет комментариев

symptom: Error when loading workflow from the database
symptom: 1300: Could not load.
symptom: 1114: Could not load from database.
symptom: 1101: Could not load item types from database. FILTER=%
symptom: 333: Could not set item type properties for ‘FNDCMSTD’.
symptom: 333: Could not set item type properties for ‘FNDCMSTD’.
symptom: 306: Invalid display name ‘Hintergrundmanager — Funktionen ‘.
symptom: 203:Value contains leading or trailing spaces
symptom: Trailing spaces exist in table WF_ITEM_TYPES_TL

Решение

1) Проверить таблицу WF_ITEM_TYPES_TL на существование замыкающих пробелов в столцах DISPLAY_NAME и DESCRIPTION
2) Если пробелы присутствуют выполнить update

   update WF_ITEM_TYPES_TL
   set DISPLAY_NAME = RTRIM(DISPLAY_NAME);

   update WF_ITEM_TYPES_TL
   set DESCRIPTION = RTRIM(DESCRIPTION);