Главная > Workflow > Workflow: Пример вызываемой процедуры


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

  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: ,
  1. 3 Декабрь 2011 в 15:24 | #1

    Неплохой набор активностей для создания рабочих процессов в SharePoint: HarePoint Workflow Extensions ( http://www.harepoint.com/Products/HarePointWorkflowExtensions/ ) — более 200 новых активностей, часть из них бесплатна. Интерфейс — английский.

  1. Пока что нет уведомлений.