Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика»


НазваниеМетодические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика»
страница5/7
ТипМетодические указания
1   2   3   4   5   6   7

Лабораторная работа № 5. Редактирование отчетов



Цель работы – изучение технологии редактирования готового отчета.

Задачи:

  1. Добавить на страницу Работники отчет (область), отображающий детали выбранного подразделения. При этом задать условие, по которому детали подразделения отображаются только, если выбрано какое-либо подразделение, если же выбрано -нет подразделения-, то область не должна отображаться.

  2. Создать страницу с формой для создания/редактирования подразделения и соединить ее со страницей Подразделения, добавив в отчет Подразделения ссылку для перехода в режим редактирования (в столбце отчета), а также кнопку Создать для создания нового подразделения.




  1. Редактирование отчета Работники

Некоторой недоработкой отчета Работники является недостаток информации по соответствующему подразделению, название которого в виде небольшого отчета выводится на этой странице. Зададим также вывод дополнительной информации, имеющейся в БД.

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

  2. В Identify the type of region выберите Report.

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

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

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

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

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

    5. На шаге Source выберите опцию SQL запрос (SQL Query) и вставьте данный запрос:

SELECT 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);

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

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

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

    1. Нажмите Next>.

  1. На шаге Report Attributes измените Шаблон отчета (Report Template) –
    default: vertical report. Нажмите Next>.

  2. На шаге Conditional Display:

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

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

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

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

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

Нажмите Create Region.

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

безымянный.bmp

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

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

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

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

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

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




  1. Редактирование отчета Подразделения

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

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

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

    2. Выберите опцию Form, затем на странице Create Page выберите опцию Form on a Table or View.

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

    4. На шаге Page and Region:

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

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

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

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

    2. На шаге Primary Key в опции Primary Key Type выберите Select Primary Key и в окне Primary Key Column 1 выберите Department_id. Нажмите Next>.

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

    4. На шаге Columns выберите все поля для отображения в форме и нажмите Next>.

    5. На шаге Buttons установите все стандартные кнопки, которые должны быть на странице. Ярлыки для кнопок должны быть русскоязычными (Отменить, Создать, Применить, Удалить). Нажмите Next>.

    6. На шаге Branching установите переход на страницу Подразделения после отправки страницы (Branch here on Submit) или отмены изменений (Branch here on Cancel). Нажмите Next>.

    7. На шаге Confirm нажмите Create.

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

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

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

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

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

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

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

  • В секции List of Values:

  • В поле Named LOV выберите EMPLOYEES.

  • Display Null Value выберите значение Yes.

  • Null Display Value введите -нет менеджера-.

  • Null Return Value введите -1. Ввод значений, которые подставляются вместо неопределенного значения (Null Value), позволяет облегчить написание запросов (облегчает проверку на Null). В этом случае, когда пользователь выбирает в списке -нет менеджера-, в элементе устанавливается значение -1, и Вы можете использовать это значение в запросе.

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

Для решения аналогичной задачи для поля Расположение необходимо вначале создать список значений, а затем создать собственно список выбора (дополнительно: если расположение не указано, надо отобразить текст -не указано расположение-).

    1. Создание списка LOCATIONS

Так как понятие «расположение» является сложным и включает в себя страну, город, адрес и т.д., то рассмотренная ранее технология создания списка не подходит.

Поскольку ключевым моментом при создании списка значений является определение SQL-запроса, возвращающего множество пар (отображаемое значение, возвращаемое значение), для решения задачи сначала необходимо подготовить соответствующий запрос. Воспользуемся для этого построителем запросов:

  1. Откройте страницу построителя запросов (SQL Workshop> Utilities> Query Builder). Для удобства работы это можно сделать в отдельной вкладке или окне браузера.

  2. В списке в левой части построителя отображаются таблицы, содержащиеся в Вашей схеме. Щелкните по таблицам LOCATIONS и COUNTRIES. Изображения таблиц появятся в центральной части построителя.

  3. Из этих таблиц потребуются столбцы COUNTRY_NAME, CITY, STREET_ADDRESS и LOCATION_ID. Выберите их, установив флажки слева от названий столбцов.

  4. Чтобы для каждого расположения выводилась соответствующая страна, эти таблицы необходимо соединить условием LOCATIONS.COUNTRY_ID = COUNTRIES.COUNTRY_ID. Соедините таблицы, щелкнув по незаполненным клеткам справа от соответствующих названий столбцов:



Обратите внимание на текст SQL-запроса, который автоматически сформировался во вкладке SQL в нижней части построителя. Возможности построителя запросов очень ограничены, однако его можно использовать для формирования черновых заготовок запросов.

Переключившись на вкладку Results (или нажав кнопку Run), Вы увидите результат выполненного запроса:

Полученный запрос еще не пригоден для использования при построении списка значений. Необходимо доработать его так, чтобы компоненты расположения (страна, город и адрес) выводились в одном столбце.

  1. Сохраните полученный запрос под именем, например, lab5_pre_locations. Для этого нажмите кнопку Save в верхней части построителя. Переключившись затем на вкладку Saved SQL, Вы увидите сохраненный запрос.

  2. Откройте страницу SQL Workshop>SQL Commands. Переключитесь на вкладку Saved SQL и щелкните по ссылке lab5_pre_locations. Откроется сохраненный Вами запрос, который теперь можно доработать и проверить.

  3. Объедините в тексте запроса столбцы COUNTRIES.COUNTRY_NAME, LOCATIONS.CITY и LOCATIONS.STREET_ADDRESS строковыми операторами || (две вертикальные черты), удаляя автоматически сформированные в построителе запросов синонимы и добавляя между столбцами строковые константы ', ' (запятая и пробел в одинарных кавычках), как показано на рисунке ниже:



  1. Выполните запрос, нажав на кнопку Run. Если запрос написан корректно, во вкладке Results отобразятся записи, организованные в 2 столбца:





  1. Сохраните скорректированный запрос под именем, например, lab5_locations. Теперь Вы готовы создать список значений для расположений (LOCATIONS).

  2. Скопируйте текст запроса в буфер обмена.

  3. Создайте список значений с именем LOCATIONS, причем в поле с текстом запроса вставьте подготовленный запрос из буфера обмена:

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

    2. Щелкните по иконке Shared Components.

    3. На странице Shared Components в секции Other Components щелкните по ссылке Lists of Values.

    4. На странице Lists of Values щелкните по кнопке Create>.

    5. На шаге Source выберите From Scratch. Нажмите Next>.

    6. На шаге Name and Type в поле Name введите LOCATIONS, а в Type выберите Dinamic. Нажмите Next>.

    7. На шаге Query or Static Values замените текст запроса на тот, который был скопирован в буфер обмена:

select COUNTRIES.COUNTRY_NAME ||', '||

LOCATIONS.CITY ||', '||

LOCATIONS.STREET_ADDRESS location,

LOCATIONS.LOCATION_ID as LOCATION_ID

from LOCATIONS LOCATIONS,

COUNTRIES COUNTRIES

where COUNTRIES.COUNTRY_ID=LOCATIONS.COUNTRY_ID

    1. Щелкните по кнопке Create List of Values. Созданный список значений отобразится на странице Lists of Values.

  1. Доделайте выпадающий список выбора для поля Расположение (самостоятельно, по аналогии с рассмотренной выше задачей).

  2. Запустите страницу Создать/Редактировать Подразделение и проверьте ее работу.


2.3. Соединение страниц Подразделения и Создать/Редактировать Подразделение

  1. Добавьте в столбец с идентификатором подразделения на странице Подразделения ссылку на страницу Создать/Редактировать Подразделение аналогично тому, как это делалось для страницы Работники в лабораторной работе 2. При этом вместо идентификатора подразделения должна отображаться иконка; в названии столбца должно отображаться Изменить; при переходе по ссылке на странице Создать/Редактировать Подразделение должно отображаться редактируемое подразделение. Для этого:

    1. На странице определения страницы Подразделения в секции Regions щелкните по ссылке Подразделения. Откроется новое окно, в котором выберите опцию Report Attributes.

    2. В секции Column Attributes у атрибута Department_Id щелкните по иконке слева. Откроется страница редактирования атрибута-столбца.

    3. В секции Column Link:

  • В поле Link Text установите текст, представляющий собой html-тэг для отображения необходимой иконки (щелкните по ссылке [Icon 5]);

  • В поле Page из выпадающего списка выберите страницу Создать/Редактировать Подразделение. Соответствующий номер страницы автоматически установится в поле;

  • В списке параметров ссылки для параметра Item 1 установите следующие значения: в поле Name – P?_DEPARTMENT_ID (напомним, что ? – конкретный номер страницы в приложении), в поле Value 1 - #DEPARTMENT ID#.

    1. Щелкните по кнопке Apply Changes в верхней части страницы. Вы вернетесь на страницу Report Attributes.

    2. Запустите приложение Подразделения и проверьте результаты:


безымянный.bmp


  1. Добавьте на странице Подразделения кнопку Создать для создания нового подразделения. Для этого:

    1. Зайдите в режим редактирования страницы Подразделения.

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

    3. На шаге Button Region выберите значение Подразделения. Нажмите Next>.

    4. На шаге Button Position в окне Position выберите опцию Create a button in a region position. Нажмите Next>.

    5. На шаге Button Attributes в поле Button Name введитеCreate, а в поле Label Создать. Нажмите Next>.

    6. На шаге Display Properties в поле Position выберете значение Region Template Position #Create#. Нажмите Next>.

    7. На шаге Action When Clicked в поле Action выберите значение Redirect to Page in this Application.

Затем в поле Page установите нужную страницу для перехода – Создать/Редактировать Подразделение, а в поле Clear Cache установите номер страницы Создать/Редактировать Подразделение в Вашем приложении. Этот позволит при переходе по ссылке на страницу Создать/Редактировать Подразделение отображать незаполненные поля и кнопки Отменить и Создать (при переходе все элементы этой страницы примут значения Null). Нажмите Next>.

и. В следующем окне ничего не меняйте и нажмите Create Button.

Теперь есть возможность создавать новые и редактировать существующие подразделения. Расположение подразделения можно выбирать из списка ранее определенных местоположений.

Задание к работе:

  1. В своем приложении на странице, соответствующей подчиненной сущности (в примере - Работники), добавьте отчет (область), отображающую детали описания родительской сущности (в примере - Подразделения).

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

  3. Добавить в страницу с условно-постоянной информацией ссылку для перехода в режим редактирования, а также кнопку Создать для создания нового экземпляра сущности.

  4. Покажите результат преподавателю.


1   2   3   4   5   6   7

Похожие:

Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика» iconМетодические указания содержат задания к лабораторным работам по...
Методические указания предназначены для студентов направления «Прикладная информатика» профиля «Прикладная информатика в экономике»,...

Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика» iconМетодические указания к лабораторным работам по изучению субд access...
«Информационные технологии (ИТ): Методические указания к лабораторным работам по курсу ит для направления 552800 Информатика и вычислительная...

Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика» iconМетодические указания к лабораторным работам для студентов V курса...
Изучение метода сортировки Батчера. Реализация сортировки Батчера на многоядерных архитектурах. Исследование алгоритмической сложности...

Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика» iconМетодические указания к лабораторным работам по дисциплине «Управление проектами»
Методические указания к лабораторным работам по дисциплине «Управление проектами» для студентов и слушателей факультета «Инженерный...

Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика» iconМетодические указания по проведению лабораторных работ по дисциплине «Информатика»
Методические указания по проведению лабораторных работ предназначены для студентов гоапоу «Липецкий металлургический колледж» технических...

Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика» iconМетодические рекомендации по выполнению и защите выпускной квалификационной...
Методические указания предназначены для студентов, обучающихся по направлению подготовки 230700. 62 Прикладная информатика и научных...

Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика» iconПрограмма подготовки: академический бакалавриат Тюменский государственный...
Григорьева И. И. Автоматизированные системы управления. Учебно-методический комплекс. Рабочая программа для студентов направления...

Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика» iconМетодические указания к лабораторным работам по математическому моделированию...
Методические указания к лабораторным работам по математическому моделированию и теории принятия решений

Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика» iconМетодические указания для выполнения практических работ по пм 04...
Предметной (Цикловой) комиссией специальностей Информационные системы (по отраслям) и Прикладная информатика (по отраслям)

Методические указания к лабораторным работам по изучению пакета разработки сетевых приложений oracle apex для студентов направления обучения по бакалавриату «Прикладная информатика» iconМетодические указания к практическим занятиям для студентов направления...
Б90 Использование субд для создания программных систем и их компонентов: Методические указания к практическим занятиям для студентов...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск