Создадим страницу, на которой будут выводится данные по сотрудникам. Данные будут представлены в виде таблицы.
Подготовка
1) Создаем новый проект или открываем существующий
Создание OAF проекта в JDeveloper
2) Создаем новый View Object (VO) или используем существующий
Создание View Object (VO) – только для просмотра данных
Читать дальше про “Создание страницы с таблицей данных” »
Создадим View Object для следующего запроса
select empno,
ename,
job,
mgr,
hiredate,
sal,
comm,
deptno
from scott.emp t
where t.deptno = 10;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7782 CLARK MANAGER 7839 09.06.1981 2450.00 10
7839 KING PRESIDENT 17.11.1981 5000.00 10
7934 MILLER CLERK 7782 23.01.1982 1300.00 10
Номер департамента будем передавать в качестве параметра. VO будет только для просмотра данных, т.е. Entity Object создавать не будем.
Читать дальше про “Создание View Object (VO) — только для просмотра данных” »
Для Internet Explorer 8 существует проблема с открытием нескольких форм OEBS под разными пользователями.
По умолчанию в IE8 включено свойство Session Merging, именно из-за этого и происходит скидывание пользователя.
Как включить поддержку нескольких сессий (2 способа):
1) Открываем новое окно через меню «File -> New Session» в существующем окне браузера
2) Добавляем опцию «-nomerge» для запуска IE8. С данной опцией можно запускать IE8 через командную строку или изменив свойства ярлыка.
Создание WorkSpace
Если рабочее пространство уже создано, пропускаем данный шаг.
Открываем JDeveloper и создаём новое рабочее пространство, именно в нем будут находится наши проекты.
Панель System Navigator, используя контекстное меню для Application, выбираем «New OA Workspace»
Читать дальше про “Создание OAF проекта в JDeveloper” »
Для вызова формы со страницы OAF используем следующую конструкцию
javascript:launchForm('RF.jsp?function_id=...')
При использовании данного способа, открытие форм происходит в новом окне, аналогично Домашней страницы OEBS. При повторном переходе по ссылке, используются уже существующие окна.
Как создать URL для доступа к форме OEBS читаем здесь.
Нота на металинке:
How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 12.x [ID 416708.1]
Как определить версию OAF
Заходим на любую HTML страницу OEBS и кликаем по ссылке О данной странице.
Переходим на вкладку Компоненты технологии
Используя Query Region (OAQueryBean) мы можем использовать различные виды поиска для таблицы.
Когда мы добавляем query region на страницу, OA Framework автоматически создает OAQueryBean связанный с дочерними Table, Advanced table или HGrid используя различные комбинации simple search, advanced search и view панелей.
Читать дальше про “Query Region в OA Framework” »
Персонализация Oracle Application Framework (OAF) позволяет гибко настраивать любую OA Framework страницу.
Справка:Следует помнить, что страницы которые создаются динамически или элементы страницы добавленные программно и не описаны в метаданных OA Extension, не могут быть персонализированы.
Первоначально страница строится на основе базовых метаданных. Это означает, что перед применением наших настроек, сначала применяются базовые настройки, и только после этого применяются наши. Базовые настройки страницы мы не можем менять или удалять, благодаря этому как бы мы не напортачили с нашими настройками, мы всегда можем их удалить и страница примет первоначальный вид.
Кастомную персонализацию мы можем выгружать в отдельный файл (или загружать из файла). Данный файл содержит не всю структуру метаданных страницы, а только отличия от базовых метаданных. Так же нашу персонализацию мы может отключать/включать при необходимости.
Читать дальше про “Personalization in Oracle Apps Framework” »
Каждое выражение в Java имеет тип, который определяется структурой выражения и типами составляющих его операндов (констант, переменных и методов). Иногда нам может потребоваться явное преобразование выражения в другой тип. Рассмотрим ряд способов преобразования:
Тип |
Конвертирование |
STRING to NUMBER |
byte |
Byte.parseByte(«123») |
byte |
Byte.valueOf(«123»).byteValue() |
short |
Short.parseShort(«123») |
short |
Short.valueOf(«123»).shortValue() |
int |
Integer.parseInt(«123») |
int |
Integer.valueOf(“123”).intValue() |
long |
Long.parseLong(«123») |
long |
Long.valueOf(«123»).longValue() |
float |
Float.parseFloat(«123.4») |
float |
Float.valueOf(«123.4»).floatValue() |
double |
Double.parseDouble(«123.4e10») |
double |
Double.valueOf(«123.4e10»).doubleValue() |
Number |
new Number(Integer.parseInt(«123»)) |
NUMBER to STRING |
String |
“” + 123 |
String |
Number |
pageContext.getOANLSServcies().NumberToString(num,»###,###,##0.00000;-###,###,##0.00000″); |
String |
int |
Integer.toString(123) |
String |
double |
Double.toString(123.4e10) |
String |
long |
Long.toString(123) |
String |
float |
Float.toString(123.4) |
STRING to DATE |
Date |
String DATE_FORMAT = «dd-mm-yyyy»;
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(DATE_FORMAT);
Date myDate = sdf.parse(“01-10-2010”) |
oracle.jbo.domain.Date |
java.sql.Date myDate = pageContext.getOANLSServcies().stringToDate(“01-10-2010”);
oracle.jbo.domain.Date date1 = new Date(myDate); |
oracle.sql.DATE |
String lOriginalDate = "2014-05-15";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
long lTime = format.parse(lOriginalDate).getTime();
java.sql.Timestamp t = new java.sql.Timestamp(lTime);
oracle.sql.DATE d = new oracle.sql.DATE(t);
|
oracle.sql.DATE |
public java.sql.Date getSQLDate(String s)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date d = null;
java.sql.Date sd = null;
try
{
d = sdf.parse(s);
sd = new java.sql.Date(d.getTime());
}
catch(Exception e)
{
sd = null;
}
return sd;
}
|
oracle.jbo.domain.Date to oracle.sql.DATE |
oracle.sql.DATE |
new oracle.sql.DATE( pJboDomainDate.timestampValue() )
|
STRING to DATE to STRING (NLS) |
String |
import oracle.apps.fnd.framework.OANLSServices;
...
String sEffectiveDate = "20-10-2014";
OANLSServices nls = am.getOADBTransaction().getOANLSServices();
String pEffectiveDate
= nls.dateToString((nls.stringToDate(sEffectiveDate))
, "dd/MM/yyyy"
, nls.getUserCalendar()
);
|
Последние комментарии