- •Содержание
- •Repository
- •Средства тестирования и анализа
- •Утилита Workbench Organizer
- •Резюме
- •Резюме
- •Резюме
- •Глава 6.Моделирование сущностей и связей
- •Глава 10. Подпрограммы и функции
- •Создание функций увеличения возможности многократного использования текстов
- •Функциональные группы и функции
- •Чтение единственного элемента таблицы
- •Извлечение единственного поля
- •Получение статистической информации
- •Упорядочение результатов запроса
- •Динамическая выборка данных
- •Использование составных критериев выборки Select-Options
- •Динамическое присвоение имен таблиц
- •Вложенные циклы select
- •Представления, определенные в АВАР/4 Dictionary
- •Размер внутренней таблицы
- •Сортировка элементов внутренней таблицы
- •Вставка нескольких строк
- •Изменение таблиц базы данных с помощью команды update
- •Изменение отдельного элемента
- •Изменение нескольких элементов
- •Удаление элементов таблицы базы данных с помощью команды delete
- •Динамическое задание имен таблиц
- •Резюме
- •Временное хранение
- •Пропуск объектов
- •Использование локальных имен для объектов памяти
- •Очистка содержимого объектов памяти
- •Создание отчета
- •Сравнение двух отчетов, разработанных с использованием разных средств
- •Создание программного текста
- •Обработка данных с помощью событий get
- •Что применять: команду select или Logical Databases
- •Задание составных критериев выборки
- •Порядок обработки событий get
- •Работа с несколькими таблицами
- •Глава 16. Пользовательский интерфейс для создания отчетов
- •Определение параметров для экрана выбора
- •События экрана выбора
- •Повышение производительности программы
- •Резюме
- •Детализация объектов
- •Двойной щелчок мышью: событие at line-selection
- •Определение статуса графического интерфейса
- •Проектирование инструментальной линейки приложения
- •Изменение стандартной инструментальной линейки
- •Положение курсора и скрытая информация
- •Команда hide
- •Команда get cursor
- •Фреймы (кадры)
- •Глава 18. Выполнение программы-отчета
- •Вычисление даты в варианте
- •Описание учебной задачи
- •Создание диалоговой программы
- •Создание экрана
- •Задание фрейма с заголовком
- •Работа с сообщениями
- •Вывод сообщения из программы
- •Логический рабочий блок (LUW)
- •Механизм блокировки системы R/3
- •Глава 22. Расширенные функции графического интерфейса
- •Глава 25. Автоматическая генерация программы
- •Связь между программами
- •Вызов удаленной функции
- •Резюме
- •Удаление связей объектов
- •Резюме
- •Приложения
- •Использование Logical Databases при работе с утилитой АВАР/4 Query
- •Простейшие запросы
- •Получение перечня программных элементов
- •Создание заданий (Tasks) и запросы на изменения (Change Requests)
328 |
ПриложениеС |
Получение перечня программных элементов
Утилита Object Browser позволяет вывести на экран дерево иерархии всех компонентов (подобъектов), из которых состоит программа. На экране Object Browser можно видеть список всех подобъектов программы (рис. С.5).
Рис. С.5
Дерево всех компонентов программы
Ниже приведено краткое определение этих компонентов.
•Структуры Dictionary: таблицы и структуры, используемые в текущей программе (см. главу 5)
•Глобальные типы и данные: типы и переменные основной программы, к которым можно обращаться из всех программных блоков или модулей (см. главу 4)
•События: элементы программы, по которым она структурирована и которые соответствуют внешним управляющим воздействиям, например действиям пользователя (см. главу 9)
•Модули РВО н PAI: программные модули, связанные с экраном, который вызывается программой до или после отображения соответствующего списка (см. главу 19)
• Подпрограммы: внутренние подпрограммы текущей программы (см. главу 10)
•Экраны: полные экраны или диалоговые окна (см. главы 19 и 22)
•Статусы GUI н заголовки: набор линеек меню, кнопок и заголовков (см. главу 19)
•Транзакции: программы, выполняющие изменения в базе данных (см. главу 21)
•Файлы типа Include: части кода, включаемые в программу как текстовые элементы (см. раздел "Включение операторов" данного приложения)
Точное назначение конкретных типов программных компонентов объясняется в соответствующих главах.
Двойной щелчок мышью на названии каждого из компонентов позволяет раскрыть или свернуть соответствующее поддерево и вывести на экран компоненты элемента (рис. С.6).
Для создания подчиненного объекта программы, имеющего тип, не используемый в данной программе, следует дважды щелкнуть мышью на первом элементе дерева Program Object Types (типы объектов программы) (рис. С.6) и выбрать тип объекта (например. Include) в следующем диалоговом окне.
330 |
|
Приложение С |
|
|
|
|
|
ческих характеристик частоты вызовов процедур или для выяснения, какая программа вызывает данную процедуру.
Если на экране Workbench указать элементы меню: Test > SQL Trace (трассировка операторов SQL), то можно получить трассировку вызовов базы данных и выяснить, какие ее таблицы используются данным приложением и какие еще вызовы базы данных инициируются при исполнении программы. Такая отладка, безусловно, полезна, поскольку обычно при исполнении программы доступ к таблицам базы данных занимает больше времени, чем доступ к внутренним таблицам, являющимся локальными для программы.
Кроме описанных средств анализа, существуют также дополнительные инструменты для тестирования программ, доступ к которым обеспечивается с помощью меню Test пакета Development Workbench.
Приложение D
Работагрупп разработчиков
в распределенной среде
Работа групп разработчиков в распределенной среде |
333 |
|
|
|
|
Рис.D.1
Экран Object Browser,
на котором отображен класс разработкиSLDB
Рис.D.2
Список объектов, принадлежащих классу разработки SLDB
Новый класс разработки создается на экране Object Browser при создании нового объекта и задании его атрибутов. Для этого на экране Object Browser нужно включить радиокнопку Development Class и задать имя нового класса в соответствующем поле ввода. После щелчка мышью на кнопке Display система выведет на экран диалоговое окно с запросом на подтверждение создания данного класса разработки. Для подтверждения нажмите кнопку Yes. Тогда на следующем экране система предложит задать атрибуты нового класса. Сохраните введенные значения, щелкнув на кнопке Save. Соглашение об именах системы R/3 определяет, что имена всех классов, создаваемых разработчиками, должны начинаться с букв Y — Z, поскольку система R/3 написана на языке АВАР/4 и тоже использует классы разработки и соглашение об именах. Поэтому, если разработчик в качестве первой буквы имени класса разработки применяет другой (не Y — Z) символ, данный класс может оказаться внутренним классом самой системы R/3, а это способно привести к конфликту или к перезаписи внутреннего класса.