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

BC400_RU_ECC_2005

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

BC400

Урок: Экран выбора

Решение 13: Экран выбора

Задание 1:

Определение и использование критериев выбора

1.Скопируйте программу ZBC400_##_DETAIL_LIST или соответствующий шаблон SAPBC400UDS_DETAIL_LIST в новую программу ZBC400_##_SEL_SCREEN.

a)Этот шаг выполняется в соответствии с обычной процедурой.

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

Рекомендация: При присвоении типа авиакомпании и номеру направления должна использоваться ссылка на поля с такой же структурой. Это позволит пользователю получить контекстно-зависимую справку.

a)См. выдержку из исходного текста в примере решения.

3.Ограничения, введенные пользователем, должны использоваться для выбора данных из таблицы базы данных SFLIGHT.

a)См. выдержку из исходного текста в примере решения.

Задание 2:

Внедрение проверки полномочий с диалогом при обнаружении ошибок на экране выбора

1.Измените программу так, чтобы в случае отсутствия полномочий на работу с данными введенной авиакомпании в списке выдавалось

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

Рекомендация: Класс сообщений BC400 уже содержит подходящее сообщение, которое можно использовать.

a)См. выдержку из исходного текста в примере решения.

Результат

Выдержка из исходного текста: SAPBC400UDS_SEL_SCREEN

REPORT sapbc400uds_sel_screen.

Продолжение на следующей странице

 

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

271

06-04-2006

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

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

BC400

CONSTANTS actvt_display TYPE activ_auth VALUE ’03’.

DATA: wa_flight TYPE sbc400focc, wa_sbook TYPE sbook.

PARAMETERS pa_car LIKE wa_flight-carrid.

SELECT-OPTIONS so_con FOR wa_flight-connid.

* First event processed after leaving the selection screen

AT SELECTION-SCREEN.

AUTHORITY-CHECK OBJECT ’S_CARRID’

ID ’CARRID’ FIELD pa_car

ID ’ACTVT’ FIELD actvt_display.

IF sy-subrc NE 0.

*Return to selection screen and display message in status bar

MESSAGE e045(bc400) WITH pa_car.

ENDIF.

START-OF-SELECTION.

SELECT carrid connid fldate seatsmax seatsocc FROM sflight

INTO CORRESPONDING FIELDS OF wa_flight

WHERE carrid = pa_car

AND connid IN so_con. wa_flight-percentage =

100 * wa_flight-seatsocc / wa_flight-seatsmax. WRITE: / wa_flight-carrid,

wa_flight-connid, wa_flight-fldate, wa_flight-seatsocc, wa_flight-seatsmax, wa_flight-percentage, ’%’.

HIDE: wa_flight-carrid, wa_flight-connid, wa_flight-fldate.

ENDSELECT.

IF sy-subrc NE 0.

WRITE ’Requested data not found !’.

ENDIF.

CLEAR wa_flight.

AT LINE-SELECTION.

IF sy-lsind = 1.

Продолжение на следующей странице

272

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

 

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

06-04-2006

BC400

Урок: Экран выбора

WRITE: / wa_flight-carrid, wa_flight-connid, wa_flight-fldate.

ULINE.

SKIP.

SELECT bookid customid custtype class order_date smoker cancelled loccuram loccurkey

FROM sbook INTO CORRESPONDING FIELDS OF wa_sbook

WHERE carrid = wa_flight-carrid

AND connid = wa_flight-connid

AND fldate = wa_flight-fldate.

WRITE: / wa_sbook-bookid color col_key, wa_sbook-customid, wa_sbook-custtype, wa_sbook-class, wa_sbook-order_date, wa_sbook-smoker, wa_sbook-cancelled,

wa_sbook-loccuram CURRENCY wa_sbook-loccurkey, wa_sbook-loccurkey.

ENDSELECT.

ENDIF.

CLEAR wa_flight.

 

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

273

06-04-2006

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

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

BC400

Резюме по уроку

Теперь вы сможете:

описывать свойства и преимущества экранов выбора

внедрять опции ограничения выбора данных на экране выбора

внедрять проверку ввода и полномочий с выводом диалога при обнаружении ошибок на экране выбора

274

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

 

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

06-04-2006

BC400

Урок: Экран

Урок: Экран

Обзор урока

На этом уроке рассматривается процесс разработки и программирования простых экранов с полями ввода/вывода и экранными кнопками.

Цели урока

Прослушав этот урок, вы сможете

перечислять атрибуты экранов и пояснять преимущества их использования

внедрять простые экраны с полями ввода и вывода и экранными кнопками, а также вызывать их из соответствующей программы

пояснять и внедрять внутреннюю программную обработку для вызовов экранов

Практический пример

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

 

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

275

06-04-2006

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

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

BC400

Экран

Рисунок 153: Функции экранов

Экран имеет не только формат с полями ввода/вывода, кнопки и другие элементы, но и логику обработки (фрагменты исходного текста, выполняемые для предварительной и последующей обработки данных экрана).

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

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

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

Экраны предоставляют те же возможности форматирования, что и списки и экраны выбора: числа с фиксированной запятой и даты форматируются согласно параметрам настройки в основных данных пользователя; время устанавливается в формате чч:мм:сс; денежные суммы форматируются

276

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

 

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

06-04-2006

BC400

Урок: Экран

согласно значению в поле валюты, а физические размеры (длина, вес...) форматируются в зависимости от значения, установленного в поле единицы измерения.

Рисунок 154: Последовательность экранов

Запуск последовательности экранов осуществляется путем вызова первого экрана из блока обработки программы. После обработки экрана выполняется обработка статически или динамически определяемой последовательности экранов. Формальный следующий экран "0" возвращает обработку в точку вызова экрана.

Рисунок 155: Компоненты экрана

Каждый экран имеет следующие компоненты:

 

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

277

06-04-2006

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

Глава 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: Пример приложения

Вследующих разделах будет представлен пошаговый процесс разработки программы. Создаваемая программа позволит пользователям изменять основные данных расписания рейсов.

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

Для возврата к основному списку без изменения данных используется кнопка Назад.

 

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

279

06-04-2006

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

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

BC400

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

Создание и вызов экрана

Рисунок 158: Уровень выполнения 1: создание и вызов экрана

В первом шаге необходимо создать экран, указать формат и определить атрибуты полей. Поля Авиакомпания, Номер рейса, Аэропорт вылета и Аэропорт прибытия должны отображаться как поля вывода. Поля Время в полете и Время отправления должны быть готовы к вводу.

Для вызова экрана пользователи должны дважды щелкнуть по строке в основном списке, а для возврата к основному списку – выбрать соответствующую функцию на экране.

280

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

 

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

06-04-2006

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