Главная
>
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;
Похожие записи:
Неплохой набор активностей для создания рабочих процессов в SharePoint: HarePoint Workflow Extensions ( http://www.harepoint.com/Products/HarePointWorkflowExtensions/ ) — более 200 новых активностей, часть из них бесплатна. Интерфейс — английский.