Изменение отчета «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»