2-х дневный курс обучения разрабочика Oracle Application Express 3 (часть 4)
APEX 05.03.2009Изменение отчета «Employees» («Сотрудники»)
В этом упражнении Вы выполните SQL-запрос, который создает функцию подсчитывающую зарплаты сотрудников. Затем Вы добавите столбец «Remuneration» («Зарплата») в отчет.
Создание функции
Сначала создадим функцию подсчитываюую зарплаты сотрудников
Создание функции:
1. Щелкните на ссылку «Application» на панели инструментов (внизу страницы) -
отобразится страница Вашего приложения
2. Щелкните на ссылку (или закладку) «Home» в заголовке страницы
![]()
3. Щелкните на «SQL Workshop», а затем на «SQL Commands».
«SQL Commands» предоставляет интерфейс, из которого вы можете запускать на выполнение PL/SQL – запросы в БД.
4. Введите следующий код в редакторе SQL:
CREATE OR REPLACE FUNCTION calc_remuneration(
salary IN number, commission_pct IN number) RETURN NUMBER IS
BEGIN
RETURN ((salary*12) + (salary * 12 * nvl(commission_pct,0)));
END;
/
Ст. 4-12
5. Щелкните на «Run»
В секции «Results» («Результаты») отобразиться сообщение:
«Функция создана»
Добавление нового столбца
Далее, добавим новый столбец, который будет отображать результат подсчета зарплат сотрудников
Чтобы добавить новый столбец надо:
1. Перейти на страницу объявлений для «Page 3»:
a. На странице «SQL Commands» щелкните на ссылке «Home» в заголовке страницы
b. На странице «Workspace» щелкните на «Application Builder»
c. Выберите приложение «AnyCo Corp»
d. Щелкните на иконке «3 – Employees»
Отобразиться страница объявлений для страницы 3 «Employees» («Сотрудники»)
2. В разделе «Regions» щелкните на ссылке «Employees»

Отобразиться страница описания областей
3. Пролистайте ее вниз до секции «Source» (или щелкните на закладке в заголовке) и замените существующий код следующим:
SELECT «EMPLOYEE_ID»,
«FIRST_NAME»,
«LAST_NAME»,
«HIRE_DATE»,
«SALARY»,
«COMMISSION_PCT»,
calc_remuneration(salary, commission_pct) REMUNERATION
FROM «#OWNER#».»OEHR_EMPLOYEES«
4. Щелкните на «Apply Changes»
Предварительный просмотр страницы
Что бы увидеть результат, щелкните на иконку «Run Page» в правом верхнем углу. Обратите внимание, что добавился новый столбец «Remuneration».
Ст. 4-133

Изменение формата столбца
Далее, изменим формат столбцов содержащих числовые данные
Чтобы изменить формат столбца надо:
1. Щелкните на «Edit Page 3» на панели инструментов (внизу страницы)
Отобразиться страница объявлений
2. В разделе «Regions» щелкните на «Report»
Отобразиться страница «Report Attributes» («Параметры Отчета»)
3. Найдите секцию «Column Attributes» («Параметры столбца»)
Далее, измените «column alignment» и «heading alignment» для соответствующих столбцов
4. Выберите «right» в «Column Alignment» для столбцов SALARY, COMMISSION_PCT, и REMUNERATION
5. выберите «center» в «Heading Alignment» для столбцов SALARY, COMMISSION_PCT, and REMUNERATION.
Далее, изменим формат значения в столбце
6. Для изменения формата столбца «SALARY» надо:
a. В секции «Column Attributes» щелкните на иконке «Edit» перед «SALARY»

Отобразиться страница «Column Attributes»
b. Для формата «Number/Date» выберите из списка «$5,234.10»
Заметьте, что в поле появилась маска, соответствующая выбранному формату
Ст. 4-143
c. Щелкните на «Apply Changes»
7. Повторите предыдущие действия для столбца «REMUNERATION»
8. Щелкните на иконке «Run Page» в правом верхнем углу страницы
Обратите внимание, что числа в столбцах «Salary» и «Remuneration» теперь отображаются
со знаком валюты, с разделителями разрядов и дробной части, а также правильно выровнены.

Отображение полей ввода в виде «списков выбора»
В этом упражнении Вы измените текстовое поле ввода на странице «Create/Edit Employee»
«список выбора». «Список выбора» представляет из себя выпадающий список, из которого пользователь может выбирать значение для заполнения поля в приложении.
Создание списка выбора в общем случае состоит из двух шагов:
1. Создание списка значений (LOVs) для каждого поля
2. Изменение поля ввода на «список выбора» и назначение ему («списку выбора») соответствующий «список значений»
Заголовок секции:
■ Создание «Lists of Values» («Списка значений»)
■ Изменение поля ввода текста на «список выбора»
Создание «Lists of Values» («списка значений»)
Далее, Вы создадите списки значений для полей «jobs», «employees» and «departments».
Создание a List of Values для поля «Jobs»
Чтобы создать список значений для поля «jobs» надо:
1. Щелкните на «Application» на панели инструментов (внизу страницы)
2. Щелкните на «4 – Create/Edit Employee»
3. В разделе «Shared Components» («Общие компоненты») находим «Lists of Values» и щелкаем на иконку «Create», она изображена в виде знака «плюс» (+) на маленьком листочке.
Ст. 4-1553

Откроется «Create List of Values Wizard» («Помощник создания списков значений»)
4. в окне «Source» – оставьте значение по умолчанию («From Scratch») и щелкните на «Next»
5. в окне « Name and Type»:
a. «Name» – введите «JOBS»
b. «Type» – выберите «Dynamic»
c. щелкните на «Next»
6. В окне «Query or Static Values» («Запрос или статические значения») замените текст на:
SELECT job_title d, job_id v
FROM oehr_jobs
ORDER BY d
Обратите внимание, что значения из первого столбца предназначены для показа пользователю, а из второго для занесения в соответствующее поле и дальнейшего сохранения в БД.
7. щелкните на «Create List of Values»
Общие Компоненты не будут отображены странице объявлений до тех пор пока они не будут явным образом добавлены на эту страницу. Вы сделаете это позже в этом руководстве.
Создание a List of Values для поля «Employees»
Чтобы создать список значений для поля «employees» надо:
1. В разделе «Lists of Values» щелкаем на иконку «Create»
2. в окне «Source» – оставьте значение по умолчанию («From Scratch») и щелкните на «Next»
3. в окне « Name and Type»:
a. «Name» – введите «EMPLOYEES»
b. «Type» – выберите «Dynamic»
c. щелкните на «Next»
4. В окне «Query or Static Values» («Запрос или статические значения») замените текст на:
SELECT first_name ||’ ‘|| last_name d, employee_id v
FROM oehr_employees
ORDER BY last_name
щелкните на «Create List of Values»
Создание a List of Values для поля «Departments»:
1. В разделе «Lists of Values» щелкаем на иконку «Create»
2. в окне «Source» – оставьте значение по умолчанию («From Scratch») и щелкните на «Next»
Ст. 4-1653
3. в окне « Name and Type»:
a. «Name» – введите «DEPARTMENTS»
b. «Type» – выберите «Dynamic»
c. щелкните на «Next»
4. В окне «Query or Static Values» («Запрос или статические значения») замените текст на:
SELECT department_name d, department_id v
FROM oehr_departments
ORDER BY d
5. щелкните на «Create List of Values»