Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Создание отчета и условия




1. Откройте свое приложение в Application Builder.

2. Откройте окно редактирования для страницы Работники. В разделе Page Renderingщелкните по иконке Create .

3. На странице New Component выберите опцию Region on this page. Нажмите Next>.

4. С помощью мастера создайте область, задав для нее следующие параметры (для остальных параметров оставьте значения по умолчанию):

а. Тип области – Report

б. Реализация отчета – Classic Report

в. Название области (Title) – О подразделении

г. Шаблон области (Region Template) – No Template

д. Очередность (Sequence) – 7 (это значит, что создаваемая область будет располагаться между областями со значениями sequence 5 и 10)

е. SQL запрос (SQL Query) :

SELECT count(e2.employee_id) "Number of Employees:",

substr(e.last_name,1,1)||'. '|| e.first_name "Manager Name:",

c.country_name "Location:"

FROM departments d

left join employees e on d.manager_id = e.employee_id

left join locations l on d.location_id = l.location_id

left join countries c on l.country_id = c.country_id

left join employees e2 on d.department_id = e2.department_id

WHERE nvl(d.department_id,'-1') = nvl(:P2_DEPARTMENT_ID,'-1')

GROUP BY substr(e.last_name,1,1)||'. '||e.first_name,

c.country_name

В этом запросе:

· производится соединение пяти таблиц, при этом используется внутреннее соединение (ключевые слова inner join); условие соединения указывается после ключевого слова on;

· таблица employees используется 2 раза (для менеджера подразделения и для работников), поэтому указана дважды в предложении FROM, но с разными синонимами таблицы (e и e2);

· count(*) – групповая функция, которая подсчитывает количество записей в группе (а каждая запись в группе соответствует в данном запросе работнику указанного подразделения);

· substr(e.last_name,1,1)||'. '|| e.first_name – вырезается первый символ из имени работника (менеджера) и соединяется с точкой и пробелом, а затем фамилией работника (менеджера);

· условие, заданное в предложении WHERE, обеспечивает выборку только подразделения, имеющего заданный идентификатор (параметр :P2_DEPARTMENT_ID);

· в предложении GROUP BY перечислены столбцы, к которым не применена групповая функция.

ж. Шаблон отчета (Report Template) –
default: vertical report, look 1 (include null columns)

На шаге Условное отображение (Conditional Display):

з. Тип условия (Condition Type) – Value of Item in Expression 1 != Expression 2

Данный тип условия означает, что условие будет истинным, если значение первого выражения не будет равно значению второго выражения.

и. Expression 1 – введите P?_DEPARTMENT_ID

к. Expression 2 – введите -1

Заданное условие означает, что данный отчет будет отображаться только тогда, когда значение элемента P?_DEPARTMENT_ID не будет равно -1 (т.е., только если будет выбрано конкретное подразделение).

5. Задайте для столбцов отчета русскоязычные названия:

Обратите внимание, что внизу только что созданного отчета отображаются символы 1-1. Это означает, что для данного отчета включена разбивка на страницы (pagination). Однако в данном случае она бессмысленна, т.к. отображается всегда только одна запись (о выбранном подразделении).

Для отключения разбивки на страницы:

1. Откройте окно редактирования для страницы Работники.

2. Откройте окно редактирования атрибутов отчета О подразделении.

3. Во вкладке Report Attributes в секцииLayout and Pagination в полеPagination Scheme выберите -No Pagination Selected-.

4. Примените изменения и запустите страницу. Проверьте правильность работы отчета.

 

2. Создание формы для создания/редактирования подразделения

В нашем приложении нет возможности редактировать существующие записи о подразделениях и создавать новые. Для получения такой возможности создайте страницу с формой для создания и редактирования сведений о подразделениях, подобную странице Создать/Редактировать Работника (должна быть создана только одна страница с формой):

1. На домашней странице своего приложения нажмите Create Page>.

2. Выберите опцию Form, нажмите Next>.

3. Выберите опцию Form on Table or View и нажмите Next>.

4. В поле Table/View Name выберите имя таблицы – Departments, нажмите Next>.

5. В полях Page Name, Region Title введите Создать/Редактировать Подразделение.

6. В поле Breadcrump установите Breadcrump. Это установит на странице навигационную цепочку. Тогда в поле Entry Name введите название элемента навигационной цепочки – Создать/Редактировать Подразделение.

7. В секции Select Patern Entry выберите Подразделения. Нажмите Next>.

8. Установите опцию Use an existing tab set and reuse an existing tab within that tab set. В окне Tab Set оставьте (Главная, Подразделение), в окне Use Tab выберите Подразделение. Нажмите Next>.

9. Установите опцию Select Primary Key и в окне Primary Key Column 1 выберите Department_id. Нажмите Next>.

10. Установите опцию Existing sequence и в поле Sequence в качестве источника значений для столбца первичного ключа (DEPARTMENT_ID) укажите последовательность (sequence) DEPARTMENTS_SEQ. Нажмите Next>.

11. Выберите нужные поля для отображения в форме.

12. Все стандартные кнопки должны быть представлены на странице. Ярлыки для кнопок должны быть русскоязычными (Отменить, Применить, Удалить).

13. После отправки страницы (submit) или отмены изменений должен производиться переход на страницу Подразделения.

14. Доработайте созданную страницу Создать/Редактировать Подразделение так, чтобы названия полей отображались по-русски.

15. Модифицируйте форму, чтобы поле для указания менеджера подразделения представлялось как выпадающий список выбора, причем он должен отображать пустые значения в виде -нет менеджера-:

а. В разделе Page Rendering найдите секцию Items, подчиненнуюпункту Создать/Редактировать Подразделение.

б. Чтобы отредактировать визуальный элемент, отображающий менеджера (P?_MANAGER_ID):

· В секции Items щелкните по ссылке P?_MANAGER_ID. Отобразится страница редактирования элемента.

· В секции Identificationвыберите Select List в поле Display As.

· В секции Label измените значение в поле Label на Менеджер.

· В секции List of Values в поле Named LOV выберите EMPLOYEES.

· В нужном поле введите текст –нет менеджера- (выполнить самостоятельно).

· Примените изменения.

 

Решите аналогичную задачу для поля Расположение, причем если расположение не указано, надо отобразить текст -не указано расположение-.

Очевидно, для создания списка выбора для поля Расположение (Location Id) не хватает подходящего списка значений (List of Values). Необходимо создать список значений, а затем доделать задание.

 


Поделиться:

Дата добавления: 2014-12-30; просмотров: 71; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты