Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

BC400_RU_ECC_2005

.pdf
Скачиваний:
1460
Добавлен:
21.05.2015
Размер:
40.8 Mб
Скачать

BC400

Урок: Экран

Рисунок 159: Создание экрана

Существует несколько способов создания экрана:

Посредством навигации вперед из ABAP-редактора

Для создания экрана дважды щелкните по номеру экрана в ABAP-редакторе (см. рисунок выше). Автоматически откроется редактор экранов, в котором можно выполнить ведение нового экрана.

С использованием навигатора по объектам

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

При создании экрана сначала появится запрос на ввод атрибутов экрана.

Введите краткое описание экрана, выберите тип экрана Стандартный и введите номер последующего экрана.

Если для последующего экрана установлено значение 0, то сначала завершается обработка экрана, а затем происходит возврат к обработке в точке вызова экрана.

Внимание: Поскольку начальным значением поля является ноль, при отображении атрибутов экрана это поле будет скрыто.

В этом примере экран, создаваемый пользователем, должен вызываться из основного списка. Это означает, что CALL SCREEN... должен принадлежать блоку обработки AT LINE-SELECTION.

 

© 2006 г. SAP AG All rights reserved. Авторские

281

06-04-2006

права защищены.

Глава 9: Диалоги пользователя

BC400

Рисунок 160: Создание полей ввода/вывода (со ссылкой на поля словаря)

При создании поля экрана имеется два варианта присвоения атрибутов поля:

Вызов из словаря:

При создании поля экрана тип и атрибуты поля можно скопировать из поля словаря. При этом становится доступной вся информация об объекте, в том числе семантическая информация о соответствующем элементе данных и описание отношений внешних ключей. Имя поля также создается по образцу ABAP-словаря.

Вызов из программы:

Для поля экрана можно скопировать атрибуты поля внутреннего объекта данных программы. Для этого должна быть доступной созданная версия программы (автоматически генерируется во время активации). В качестве имени поля используется имя объекта данных.

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

Для удаления элементов экрана выберите их при помощи мыши и нажмите

Удалить.

Для перемещения элементов экрана щелкните по ним левой кнопкой мыши и, не отпуская кнопку, перетащите их к новому местоположению.

282

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: Экран

Рисунок 161: Ведение атрибутов элемента экрана

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

Для определения поля экрана как поля обязательного ввода присвойте полю атрибут Обязательно. Если поле не заполнено, оно будет соответствующим образом отмечено во время выполнения. Если поле не заполняется пользователем, то после любой операции будет появляться диалог с сообщением об ошибке. После вывода диалога поля снова будут готовы к вводу.

 

© 2006 г. SAP AG All rights reserved. Авторские

283

06-04-2006

права защищены.

Глава 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.

 

© 2006 г. SAP AG All rights reserved. Авторские

285

06-04-2006

права защищены.

Глава 9: Диалоги пользователя

BC400

Рисунок 164: Перенос данных из программы на экран

После обработки событий PBO и непосредственно перед отправкой экрана на сервер презентации содержимое поля структуры TABLES в пределах программы автоматически копируется в поля экрана с такими же именами. Автоматический перенос данных является целесообразным,

поскольку подготовка данных для просмотра на экране в структуре TABLES выполняется, как правило, в PBO.

286

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: Экран

Рисунок 165: Перенос данных из экрана в программу

В случае выполнения пользователем операций на экране содержимое полей экрана переносится в поля структуры TABLES с такими же именами перед обработкой события PAI. В этом случае важным является время автоматического переноса данных, поскольку введенные пользователем записи должны быть обработаны в PAI и, таким образом, должны быть доступны в программе на момент начала этого процесса.

 

© 2006 г. SAP AG All rights reserved. Авторские

287

06-04-2006

права защищены.

Глава 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: Синтаксис программы-образца

 

© 2006 г. SAP AG All rights reserved. Авторские

289

06-04-2006

права защищены.

Глава 9: Диалоги пользователя

BC400

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

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

Недостаток: из базы данных может считываться большое количество данных, не представляющих интереса для пользователя. Если подробные данные в базе данных были изменены в период между созданием основного списка и выводом экрана, то отображаются устаревшие данные.

Как показано на рисунке выше, выбранное направление считывается из базы данных с использованием SELECT SINGLE непосредственно перед вызовом экрана.

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

Преимущества: считывание только требуемых данных. Кроме того, данные всегда являются актуальными.

Рекомендация: Учтите, что перед изменением данных необходимо проверить их актуальность и наличие блокировки с целью предотвращения доступа к этим данным и их изменения третьими лицами. Для получения дополнительной информации по изменению данных см. курс BC414.

Для вывода данных на экране структура TABLES должна заполняться считанными данными перед отправкой экрана на сервер презентации

(оператор MOVE-CORRESPONDING).

290

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]