Главная страница

Руководство для участников курса Версия курса 2й квартал 2005 г. Продолжительность курса 5 Дн. Номер материала 50072594


Скачать 38.91 Mb.
НазваниеРуководство для участников курса Версия курса 2й квартал 2005 г. Продолжительность курса 5 Дн. Номер материала 50072594
АнкорBC400_RU_ECC_2005.pdf
Дата13.04.2017
Размер38.91 Mb.
Формат файлаpdf
Имя файлаBC400_RU_ECC_2005.pdf
ТипРуководство
#4748
страница16 из 23
1   ...   12   13   14   15   16   17   18   19   ...   23
Глава 9: Диалоги пользователя
BC400
Экран
Рисунок 153: Функции экранов
Экран имеет не только формат с полями ввода/вывода, кнопки и другие элементы, но и логику обработки (фрагменты исходного текста, выполняемые для предварительной и последующей обработки данных экрана).
Интеграция ABAP-словаря позволяет выполнять автоматические проверки непротиворечивости экранных полей ввода. Эти проверки включают проверку типов, проверку внешних ключей и проверку постоянных значений.
Информация для этих проверок автоматически берется из ABAP-словаря.
Перечисленные выше проверки можно дополнить другими проверками,
которые являются специфичными для программы. Существуют применимые к экранам методы управления порядком выполнения проверок и подготовки полей ко вводу новых значений в случае возникновения ошибок.
Возможна гибкая разработка форматов, которые могут включать поля ввода,
поля вывода, зависимые и независимые кнопки и, что является наиболее важным, экранные кнопки для выполнения соответствующих функций программы.
Экраны предоставляют те же возможности форматирования, что и списки и экраны выбора: числа с фиксированной запятой и даты форматируются согласно параметрам настройки в основных данных пользователя; время устанавливается в формате чч:мм:сс; денежные суммы форматируются
276
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
согласно значению в поле валюты, а физические размеры (длина, вес...)
форматируются в зависимости от значения, установленного в поле единицы измерения.
Рисунок 154: Последовательность экранов
Запуск последовательности экранов осуществляется путем вызова первого экрана из блока обработки программы. После обработки экрана выполняется обработка статически или динамически определяемой последовательности экранов. Формальный следующий экран "0" возвращает обработку в точку вызова экрана.
Рисунок 155: Компоненты экрана
Каждый экран имеет следующие компоненты:
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
277

Глава 9: Диалоги пользователя
BC400
Свойства (атрибуты)
К свойствам относится, например, четырехзначный номер, являющийся
именем экрана, краткий текст, информация о типе экрана (например,
Стандартный для обозначения полного размера экрана), а также определение следующего экрана по умолчанию.
Формат
На экране можно разместить поля ввода/вывода, тексты, кнопки и другие элементы. Все эти объекты называются элементами экрана.
Список элементов
Содержит все элементы экрана и их атрибуты, например, позицию,
размер, тип данных и т. д.
Логика выполнения
Логика выполнения экрана состоит из процессов PBO (Process Before
Output, обработка перед выводом) и PAI (Process After Input, обработка после ввода). PBO содержит ссылки на блоки обработки (PBO-модули),
выполняемые на стадии подготовки к выводу экрана (например, выбор данных) до его отображения. PAI содержит ссылки на блоки обработки
(PAI-модули), выполняемые в результате ввода значений и выполнения операций пользователем (например, сохранение данных).
Рисунок 156: Графический редактор форматов
Панель инструментов графического редактора экранов может использоваться для разработки структуры экрана. Три кнопки, показанные на вышеприведенном рисунке, используются для выполнения следующих функций ведения:
278
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Ведение атрибутов элемента
В диалоговом окне отображаются все атрибуты выбранного элемента экрана с возможностью их ведения.
Вызов полей словаря или программы
Диалоговое окно используется для создания полей экрана со ссылкой на поля из структур словаря или поля, определенные в пределах программы.
Просмотр списка элементов
Позволяет просматривать все доступные элементы экрана с атрибутами в целях их последующего ведения.
Рисунок 157: Пример приложения
В следующих разделах будет представлен пошаговый процесс разработки программы. Создаваемая программа позволит пользователям изменять основные данных расписания рейсов.
В основном списке отображаются направления авиаперелетов. При выборе пользователем определенного направления появляется экран с подробными данными для выбранной строки (некоторые подробные данные могут быть изменены).
Для возврата к основному списку без изменения данных используется кнопка Назад.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
279

Глава 9: Диалоги пользователя
BC400
При выборе пользователем кнопки Сохранить все введенные данные будут занесены в базу данных, а на экране после соответствующего сообщения снова появится основной список. Для изменения базы данных используется функциональный модуль, который будет рассмотрен в одном из следующих разделов.
Создание и вызов экрана
Рисунок 158: Уровень выполнения 1: создание и вызов экрана
В первом шаге необходимо создать экран, указать формат и определить атрибуты полей. Поля Авиакомпания, Номер рейса, Аэропорт вылета и
Аэропорт прибытия должны отображаться как поля вывода. Поля Время в
полете и Время отправления должны быть готовы к вводу.
Для вызова экрана пользователи должны дважды щелкнуть по строке в основном списке, а для возврата к основному списку – выбрать соответствующую функцию на экране.
280
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Рисунок 159: Создание экрана
Существует несколько способов создания экрана:
Посредством навигации вперед из ABAP-редактора
Для создания экрана дважды щелкните по номеру экрана в
ABAP-редакторе (см. рисунок выше). Автоматически откроется
редактор экранов, в котором можно выполнить ведение нового экрана.
С использованием навигатора по объектам
Новый объект (экран) для программы можно создать из списка объектов в области навигации с использованием контекстного меню соответствующей программы.
При создании экрана сначала появится запрос на ввод атрибутов экрана.
Введите краткое описание экрана, выберите тип экрана Стандартный и введите номер последующего экрана.
Если для последующего экрана установлено значение 0, то сначала завершается обработка экрана, а затем происходит возврат к обработке в точке вызова экрана.
Внимание: Поскольку начальным значением поля является ноль,
при отображении атрибутов экрана это поле будет скрыто.
В этом примере экран, создаваемый пользователем, должен вызываться из основного списка. Это означает, что CALL SCREEN... должен принадлежать блоку обработки AT LINE-SELECTION.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
281

Глава 9: Диалоги пользователя
BC400
Рисунок 160: Создание полей ввода/вывода (со ссылкой на поля
словаря)
При создании поля экрана имеется два варианта присвоения атрибутов поля:
Вызов из словаря:
При создании поля экрана тип и атрибуты поля можно скопировать из поля словаря. При этом становится доступной вся информация об объекте, в том числе семантическая информация о соответствующем элементе данных и описание отношений внешних ключей. Имя поля также создается по образцу ABAP-словаря.
Вызов из программы:
Для поля экрана можно скопировать атрибуты поля внутреннего объекта данных программы. Для этого должна быть доступной
созданная версия программы (автоматически генерируется во время активации). В качестве имени поля используется имя объекта данных.
Графический редактор экранов предоставляет удобные опции для определения прочих элементов экрана, таких как тексты, рамки, зависимые и независимые кнопки и т. д. Сначала щелкните по требуемому элементу экрана в строке инструментов, а затем перенесите его в область ведения экрана.
Для удаления элементов экрана выберите их при помощи мыши и нажмите
Удалить.
Для перемещения элементов экрана щелкните по ним левой кнопкой мыши и, не отпуская кнопку, перетащите их к новому местоположению.
282
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Рисунок 161: Ведение атрибутов элемента экрана
Для ведения атрибутов элемента экрана дважды щелкните по этому элементу.
Соответствующие атрибуты отображаются в дополнительном окне ведения.
(Вместо двойного щелчка можно также выбрать элемент и затем выбрать опцию Атрибуты.)
Для определения поля экрана как поля обязательного ввода присвойте полю атрибут Обязательно. Если поле не заполнено, оно будет соответствующим образом отмечено во время выполнения. Если поле не заполняется пользователем, то после любой операции будет появляться диалог с сообщением об ошибке. После вывода диалога поля снова будут готовы к вводу.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
283

Глава 9: Диалоги пользователя
BC400
Перенос данных между программой и экраном
Рисунок 162: Уровень выполнения 2: вывод данных на экране
После первого уровня выполнения экран отображается при выборе строки из основного списка. При этом во всех полях экрана установлены начальные значения. Во втором шаге необходимо запрограммировать перенос данных из программы в экран для отображения на экране соответствующих значений.
284
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Рисунок 163: Структура TABLES как интерфейс с экраном
Оператор TABLES используется для определения структурной переменной с типом и именем, совпадающим с типом и именем ссылочной структуры словаря в программе (например, прозрачная таблица). Эта структурная переменная служит интерфейсом между программой и экраном.
Если поля экрана и оператор TABLES относятся к одному структурированному типу данных, то автоматически выполняется обмен данными на основе полей с одинаковыми именами: после PBO из структуры
TABLES к полям экрана и перед PAI в обратном направлении.
Для обмена данными, как правило, явно создается структура словаря. Эта структура содержит поля с типами полей из различных таблиц базы данных.
На экране поля определяются со ссылкой на эту структуру, а структура интерфейса внедряется в программе с использованием соответствующего оператораTABLES. Таким образом, несмотря на то, что поля относятся к разным таблицам, сохраняется четкая структура интерфейса для обмена данными между программой и экраном. Для модели Flugdatenmodell,
например, структура (SDYN_CONN) была создана с использованием полей из таблиц SCARR, SPFLI и SFLIGHT, а также структуры (SDYN_BOOK)
с полями из SBOOK и SCUSTOM.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
285

Глава 9: Диалоги пользователя
BC400
Рисунок 164: Перенос данных из программы на экран
После обработки событий PBO и непосредственно перед отправкой экрана на сервер презентации содержимое поля структуры TABLES в пределах программы автоматически копируется в поля экрана с такими же именами. Автоматический перенос данных является целесообразным,
поскольку подготовка данных для просмотра на экране в структуре TABLES
выполняется, как правило, в PBO.
286
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Рисунок 165: Перенос данных из экрана в программу
В случае выполнения пользователем операций на экране содержимое полей экрана переносится в поля структуры TABLES с такими же именами
перед обработкой события PAI. В этом случае важным является время автоматического переноса данных, поскольку введенные пользователем записи должны быть обработаны в PAI и, таким образом, должны быть доступны в программе на момент начала этого процесса.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
287

Глава 9: Диалоги пользователя
BC400
Рисунок 166: Перенос данных в программу-образец
В представленной прикладной программе автоматически выполняются следующие переносы данных:
Если во время создания основного списка объекты данных и их значения находились в скрытой области, то данные, принадлежащие выбранной строке, будут перезаписаны в соответствующие объекты данных. Для каждой строки основного списка в скрытую область будут помещены ключевые значения соответствующего направления с целью обеспечения их доступности для дальнейшей обработки при выборе строки.
Данные, которые требуется просмотреть на экране, необходимо скопировать в структуру TABLES посредством соответствующих операторов. Оттуда данные автоматически переносятся в поля экрана после обработки PBO
экрана. В данном примере структуры словаря SDYN_CONN, в программе для экрана будут определены поля SDYN_CONN и структура TABLES
SDYN_CONN.
При выполнении пользователем операций на экране введенные пользователем значения автоматически переносятся во внутреннюю программную структуру TABLES SDYN_CONN для дальнейшей обработки.
Перенос осуществляется до начала обработки PAI.
288
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Рисунок 167: Внедрение программы-образца: возможный подход
Приведенная выше таблица демонстрирует обработку полей в основном списке и на экране.
Рисунок 168: Синтаксис программы-образца
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
289

Глава 9: Диалоги пользователя
BC400
Считывание данных для вывода информации на экране может осуществляться в любое время до передачи экрана серверу презентации. Это осуществляется несколькими способами:

Перед извлечением из базы данных информации для составления основного списка выполняется считывание данных, которые требуется вывести на экран. После этого выполняется размещение данных и ключевых значений в скрытой области. В случае AT LINE-SELECTION
для переноса данных в экран необходимо только скопировать требуемые данные в структуру TABLES.
Недостаток: из базы данных может считываться большое количество данных, не представляющих интереса для пользователя. Если подробные данные в базе данных были изменены в период между созданием основного списка и выводом экрана, то отображаются устаревшие данные.

Как показано на рисунке выше, выбранное направление считывается из базы данных с использованием SELECT SINGLE непосредственно перед вызовом экрана.
Недостаток: запрос базы данных осуществляется при каждом двойном щелчке пользователя по списку.
Преимущества: считывание только требуемых данных. Кроме того,
данные всегда являются актуальными.
Рекомендация: Учтите, что перед изменением данных необходимо проверить их актуальность и наличие блокировки с целью предотвращения доступа к этим данным и их изменения третьими лицами. Для получения дополнительной информации по изменению данных см. курс BC414.
Для вывода данных на экране структура TABLES должна заполняться считанными данными перед отправкой экрана на сервер презентации
(оператор MOVE-CORRESPONDING).
290
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Экранные кнопки
Рисунок 169: Уровень выполнения 3: внедрение экранных кнопок
В третьем шаге данного примера внедряются различные кнопки, и программа конфигурируется для выполнения соответствующей обработки операций пользователя:

Путем нажатия кнопки Назад пользователь может вернуться к основному списку без сохранения изменений в таблице базы данных.
В строке статусов основного списка появится следующее сообщение:
“Выход из экрана без сохранения”.

Путем нажатия кнопки Сохранить пользователь может сохранить изменения в базе данных и вернуться к основному списку с выводом соответствующего сообщения в строке статусов. (Обновление базы данных в программе пока не внедрено. Однако для этого уже имеется соответствующая кнопка.)

Для повторного отображения экрана пользователь нажимает кнопку
Enter.
В настоящем разделе рассматривается следующее:

логика выполнения экрана в блоках обработки PBO и PAI;

модули PBO и PAI как блоки обработки соответствующих событий;

внедрение экранных кнопок и анализ операций пользователя.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
291

Глава 9: Диалоги пользователя
BC400
Рисунок 170: Схема выбора экранной кнопки
При нажатии кнопки пользователем исполняющая система копирует присвоенный код функции в специальное поле экрана (типа "OK"). Это поле экрана, как правило, имеет имя ok_code.
Содержимое этого специального поля экрана автоматически переносится при наличии в пределах программы объекта данных с таким же именем.
После этого инициируется обработка PAI, в течение которой при помощи перенесенного в программу кода функции собирается информация об операции пользователя и выполняется соответствующая обработка.
В следующих разделах описываются способы определения экранных кнопок, использующих специальное поле экрана типа "OK", описания объекта данных с таким же именем в программе и внедрения реакции на соответствующую операцию пользователя.
292
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Рисунок 171: Определение экранных кнопок и присвоение кодов
функций
На приведенном выше рисунке показан процесс определения кнопок в
графическом редакторе экранов. Каждой кнопке необходимо присвоить имя и код функции. Для этого выполняется ведение атрибутов поля.
Рисунок 172: Внедрение переноса кода функции
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
293

1   ...   12   13   14   15   16   17   18   19   ...   23


написать администратору сайта