пятница, 10 февраля 2012 г.

List of values в OAF


При работе с LOV вызываются следующие события в контроллере:

lovPrepare  - Перед открытием окна со списком значений, при нажатии на кнопку с изображением увеличительного стекла
lovUpdate   - После выбора значений в окне списка значений
lovValidate - После ввода значение в поле, к которому привязан список значений

Значения смотрим в переменной:
String evParam = pageContext.getParameter(EVENT_PARAM);


Наблюдение:

При добавлении своего региона на стандартную страницу, не наботают LOV на кастомном регионе. При открытии окна с набором значений, в этом окне отображается ошибка: Не удается найти объект представления списка значений (имя вью) в МП списка значений. (Cannot find LOV view object () in LOV AM.)
Решение: Нужно сделать кастомизацию контроллера на стандартной странице и добавить программно нужные VO в модуль приложений, указанный на стандартной странице.
Пример:
OAApplicationModule am = pageContext.getApplicationModule(webBean);
ViewObject delModeVO =am.findViewObject("xxMyVO1");

if(delModeVO==null)
{
    delModeVO=am.createViewObject("xxMyVO1", "xx.oracle.apps.per.xxx.server.xxMyVO");
}