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

BC400_RU_ECC_2005

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

Глава 9

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

Обзор главы

См. цели отдельных уроков в рамках этого раздела.

Цели главы

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

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

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

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

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

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

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

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

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

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

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

внедрять GUI-заголовок

внедрять GUI-статус (строка меню, символьная строка инструментов и строка кнопок) для списка и экрана

выполнять ведение присвоения функциональных клавиш для экрана

Содержание главы

Урок: Списки ....................................................................233 Упражнение 12: Списки ..................................................247 Урок: Экран выбора ...........................................................255 Упражнение 13: Экран выбора .........................................269 Урок: Экран .....................................................................275

 

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

231

06-04-2006

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

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

BC400

Упражнение 14: Создание и вызов экрана ...........................303 Упражнение 15: Экраны: перенос данных ...........................309

Упражнение 16: Экраны: динамическое определение следующего экрана .......................................................................315 Урок: Интерфейс пользователя.............................................322 Упражнение 17: Создание интерфейса...............................335

232

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

 

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

06-04-2006

BC400

Урок: Списки

Урок: Списки

Обзор урока

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

Цели урока

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

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

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

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

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

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

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

 

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

233

06-04-2006

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

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

BC400

Список

Рисунок 130: Возможности списков

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

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

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

При программировании списка доступны следующие возможности:

Экран: возможно добавление цветов и пиктограмм.

Принтеры

Интернет/интранет: возможно автоматическое преобразование в формат HTML.

Сохранение: списки можно сохранить как в пределах SAP-системы, так и вне ее (например, для дальнейшей обработки с использованием программы электронных таблиц).

234

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

 

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

06-04-2006

BC400

Урок: Списки

Рисунок 131: Стандартные функции списков

Стандартный GUI списка выполняет несколько функций:

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

 

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

235

06-04-2006

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

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

BC400

Рисунок 132: Заголовки списков и столбцов

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

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

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

236

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

 

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

06-04-2006

BC400

Урок: Списки

Рисунок 133: Многоязычность списков

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

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

Для перевода текстовых элементов программы в ABAP-редакторе

выберите Перейти к → Перевод.

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

Существует два способа определения символов текстовых переменных для программы.

в ABAP-редакторе выберите путь по меню Перейти к → Текстовые элементы → Символы текстовых переменных, либо

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

 

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

237

06-04-2006

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

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

BC400

В программе символ текстовой переменной вводится с использованием TEXT-xxx . При наличии соответствующего перевода (см. выше “перевод текстовых элементов”) в процессе выполнения текст вставляется на языке входа в систему пользователя.

Для более понятного определения символа текстовой переменной вместо TEXT-xxx можно также использовать следующий синтаксис: ’...’(xxx)

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

Рекомендация: Необходимо учесть, что текстовые элементы также должны быть активированы.

Рисунок 134: Создание основного списка

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

238

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

 

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

06-04-2006

BC400

Урок: Списки

Рисунок 135: Создание вторичного списка

При выборе основного списка путем двойного щелчка или нажатия функциональной клавиши F2 инициируется ABAP-событие AT LINE-SELECTION . Если необходимо, чтобы список с требуемой подробной информацией (интерактивный список) появлялся на экране сразу после того, как он будет запрошен пользователем, его следует внедрить в программу в форме соответствующего блока обработки. В рамках этого блока может производиться считывание запрошенных пользователем данных и их вывод с использованием оператораWRITE. Вторичный список с выходными данными, которые “перезаписывают” данные из основного списка, генерируется автоматически. Путем нажатия кнопки с “зеленой стрелкой” или функциональной клавиши F3 можно вернуться к основному списку и выбрать другую строку.

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

 

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

239

06-04-2006

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

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

BC400

Рисунок 136: Создание нескольких вторичных списков

Событие AT LINE-SELECTION также может быть инициировано выбором строки во вторичном списке. Это означает, что в этом случае также выполняется соответствующий блок обработки в программе. Следовательно, для правильного выполнения в рамках блока должна существовать возможность определения того, в каком списке был произведен выбор текущей строки. Для этого можно использовать системное поле sy-lsind . В данном поле отображается текущий уровень списка: “0” для основного списка, “1” для первого вторичного списка и т. д. На рисунке выше показана функция поля sy-lsind и то, каким образом этому полю присваивается значение: каждый раз при выборе строки значение в поле sy-lsind автоматически увеличивается на одну единицу; при каждом возврате на предыдущий уровень списка sy-lsind уменьшается на одну единицу. Можно создать до 20 уровней списка.

Поле sy-lsind используется для управления обработкой в блоке AT LINE-SELECTION (например, с помощью оператора CASE).

Оператор WRITE всегда выполняется на текущем уровне списка.

Если при выборе строки в блоке AT LINE-SELECTION вторичный список не генерируется, то значение sy-lsind автоматически уменьшается на одну единицу. Затем на экране отображается тот уровень, на котором была выбрана строка.

240

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

 

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

06-04-2006

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