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

BC400_RU_ECC_2005

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

BC400

Урок: Списки

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 key values of the current line

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

ENDSELECT.

IF sy-subrc NE 0.

WRITE: ’No ’, pa_car, ’flights found !’.

ENDIF.

WHEN OTHERS.

WRITE: / ’Authority-Check Error’(001).

ENDCASE.

CLEAR wa_flight.

AT LINE-SELECTION.

IF sy-lsind = 1.

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

ULINE.

SKIP.

*Reading bookings of the selected flight

SELECT bookid customid custtype class order_date smoker cancelled

FROM sbook INTO CORRESPONDING FIELDS OF wa_sbook

WHERE carrid = wa_flight-carrid

AND connid = wa_flight-connid

AND fldate = wa_flight-fldate.

*Creating detail list

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

ENDSELECT.

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

 

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

251

06-04-2006

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

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

BC400

ENDIF.

CLEAR wa_flight.

Выдержка из исходного текста (с необязательными компонентами):

SAPBC400UDS_DETAIL_LIST1

REPORT sapbc400uds_detail_list1.

CONSTANTS actvt_display TYPE activ_auth VALUE ’03’.

DATA: wa_flight TYPE sbc400focc, wa_sbook TYPE sbook.

PARAMETERS pa_car TYPE s_carr_id.

START-OF-SELECTION.

AUTHORITY-CHECK OBJECT ’S_CARRID’

ID ’CARRID’ FIELD pa_car

ID ’ACTVT’ FIELD actvt_display.

CASE sy-subrc.

WHEN 0.

SELECT carrid connid fldate seatsmax seatsocc FROM sflight

INTO CORRESPONDING FIELDS OF wa_flight

WHERE carrid = pa_car. 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 key values of the current line

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

ENDSELECT.

IF sy-subrc NE 0.

WRITE: ’No ’, pa_car, ’flights found !’.

ENDIF.

WHEN OTHERS.

WRITE: / ’Authority-Check Error’(001).

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

252

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

 

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

06-04-2006

BC400

Урок: Списки

ENDCASE.

CLEAR wa_flight.

AT LINE-SELECTION.

IF sy-lsind = 1.

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

ULINE.

SKIP.

*Reading bookings of the selected flight

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.

*Creating detail list

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. Авторские

253

06-04-2006

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

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

BC400

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

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

описывать атрибуты и преимущества ABAP-списков

внедрять заголовки списков и столбцов

внедрять многоуровневые списки

внедрять интерактивные списки

254

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

 

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

06-04-2006

BC400

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

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

Обзор урока

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

Кроме того, описывается использование ABAP-событий AT SELECTION-SCREEN для внедрения проверки ввода или проверки полномочий с возможным выводом диалогового сообщения об ошибках на экране выбора.

Цели урока

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

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

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

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

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

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

 

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

255

06-04-2006

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

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

BC400

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

Рисунок 142: Архитектура и цель использования экрана выбора

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

256

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

 

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

06-04-2006

BC400

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

Рисунок 143: Атрибуты экрана выбора

Экран выбора имеет следующие стандартные функции:

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

Выполняется автоматическая проверка типов: если пользователем были введены данные, тип которых не соответствует типу поля ввода, то они игнорируются SAP GUI и не появляются на экране выбора.

Помимо указания отдельных значений (PARAMETERS), на экране выбора можно также внедрить сложные критерии выбора (SELECT-OPTIONS). В качестве ограничений могут вводиться интервалы, сравнительные условия или даже модели.

Если поле ввода определяется с помощью элемента словаря (т.е. является элементом данных), то при нажатии функциональной клавиши

F1 (справка по вводу) можно вызвать документацию по полям

(документацию элемента данных).

С помощью функциональной клавиши F4 (справка по вводу) вызывается средство поиска элемента данных, предназначенное для

просмотра допустимых значений ввода.

Созданные экраны выбора могут быть сохранены как варианты для повторного использования или обработки в фоновом режиме.

 

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

257

06-04-2006

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

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

BC400

Рисунок 144: Использование критериев выбора

На рисунке выше показано использование критериев выбора, с помощью которых вводятся сложные записи. На каждом экране выбора содержится пиктограмма информации (также называемая пиктограммой “ справки по экрану ”). Она используется для просмотра дополнительной информации.

Более подробное описание определения критериев выбора с использованием оператора SELECT-OPTIONS будет приведено далее в этом разделе.

258

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

 

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

06-04-2006

BC400

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

Рисунок 145: Семантическая информация о глобальных типах на экране выбора

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

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

Документация элемента данных становится автоматически доступной в качестве справки по вводу (справка F1).

Если с элементом данных связано средство поиска, то оно становится доступным в качестве справки по вводу (справка F4).

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

Если поле ввода является полем структуры, которое, в свою очередь, определяется с использованием элемента данных, то на экране выбора также будет доступна вышеописанная семантическая информация элемента данных. Если поле структуры также копируется в средство поиска, то информация из средства поиска элемента данных “перезаписывается”.

Более подробная информация содержится в онлайн-документации

ABAP-словаря.

 

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

259

06-04-2006

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

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

BC400

Рисунок 146: Тексты критериев выбора

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

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

Аналогично заголовкам списков и символам текстовых переменных, тексты критериев выбора относятся к текстовым элементам программы. Для их вызова в ABAP-редакторе выберите путь по меню Перейти к → Текстовые элементы → Тексты критериев выбора. Перевод может быть выполнен с использованием пути по меню Перейти к → Перевод.

Если в поле ввода прямо или косвенно вводится элемент данных, то можно скопировать полное имя поля из одного из текстов, который содержится в словаре (“ссылка на словарь”). Это позволяет стандартизировать используемые тексты.

260

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

 

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

06-04-2006

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