OAF: Controller
Oracle Application Framework Controller это простой java класс, являющийся подклассом oracle.apps.fnd.framework.webui.OAControllerImpl.
В контроллере можно определить:
1) реакция на действия пользователя на странице
2) инициализация или изменение свойств элементов страницы (web beans)
Пример java класса контроллера:
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;
Workflow: Отправка уведомления
Данная статья описывает процесс создания workflow процесса для отправки уведомления.
Версия Oracle Workflow Builder 2.6.3.5
1 Создание нового Workflow
Открываем Oracle Workflow Builder
Workflow: WFLOAD (утилита загрузки)
Утилита WFLOAD позволяет перемещать данные workflow между файлом и базой данных.
DOWNLOAD
Копирует файл на сервер приложений.
WFLOAD username/password 0 Y DOWNLOAD XX_TEST.wft XX_TEST
UPGRADE
Загружает файл в БД.
WFLOAD username/password 0 Y UPGRADE XX_TEST.wft
Workflow: Ошибка при попытке коннекта к базе (1300)
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);