Главная страница

Р. Кречмер, В. Вейс - Разработка приложений SAP R3 на языке АВАР4. Р. Кречмер, В. Вейс - Разработка приложений SAP R3 на языке АВАР. Разработкаприложений sap r3Рюдигер Кречмерна языкеВольфганг Вейс


Скачать 28.36 Mb.
НазваниеРазработкаприложений sap r3Рюдигер Кречмерна языкеВольфганг Вейс
АнкорР. Кречмер, В. Вейс - Разработка приложений SAP R3 на языке АВАР4.pdf
Дата21.12.2017
Размер28.36 Mb.
Формат файлаpdf
Имя файлаР. Кречмер, В. Вейс - Разработка приложений SAP R3 на языке АВАР.pdf
ТипКнига
#12433
страница23 из 24
1   ...   16   17   18   19   20   21   22   23   24
Рис. В.1
Выбор полей
функциональной
области

Средства обработки запросов АВАР/4 Query 321
Рис. В.2
Определение базисного
списка с одной строкой
Рис. В.З
Простейший базисный список
Результирующий список показан на рис. B.3.
С помощью АВАР/4 Query можно вычислить и вывести на экран иерархические связи между таб- лицами логической базы. Например, чтобы вывести на экран определенные рейсы по конкретному ма- ршруту, можно создать базисный список, где детали описания маршрута выводятся в одной строке, а детали рейсов — в другой (рис, В.4).

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

Приложение С
Расширенные средства
АВАР/4 Development
Workbench

324 Приложение С
В этом приложении рассматриваются некоторые дополнительные средства Workbench, облегчаю- щие повседневную работу. К ним относятся, например, средства отладки или включение сложных опе- раторов в код программы.
Элементарные операции Workbench (такие, как создание программы) описаны в главе 3.
Включение операторов
Workbench позволяет включать в исходный код программы сложные операторы (типа select или call function) вместе с расширяющими их конструкциями и параметрами (например, предложение where оператора select) с помощью одного или нескольких диалоговых окон, что гораздо удобнее, чем их ввод с клавиатуры. Для этого нужно указать последовательность экранных клавиш Edit
Insert Statement на экране редактора Editor. Затем система попросит указать тип команды (рис. С.1).
Рис. С.1
Включение шаблона сложного оператора
Если выбран оператор select, достаточно ввести имя таблицы базы данных и после этого выбрать поля таблицы, которые следует включить в предложение where. Шаблон оператора select будет автома- тически внесен в исходный код программы (рис. С.2).
Точно так же можно вставлять команды call function, операторы write для табличных структур
Dictionary и многие другие операторы.
Структурирование больших программ
с помощью Include
Разработчику предоставляется возможность структурировать исходный код больших программ с по- мощью внешних включаемых файлов (Include File). Include File содержит фрагмент исходного кода, ана- логичного программному коду, т.е. этот файл имеет имя (например, abapincl) и атрибуты. В отличие от отчета (программа типа 1, см. главы 15 — 18) или модуля, содержащего пул транзакций (программа типа М, см. главы 19 — 22), Include File можно только включать в программу, но нельзя исполнять самостоятельно.
Для построения Include File с помощью Object Browser нужно задать на экране атрибутов тип про- граммы I. Тогда в текст исходной программы будет записан оператор include, за которым последует

Расширенные средства АВАР/4 Development Workbench 325
Рис. С.2
Исходный код с включенным
шаблоном оператора select
имя включаемого файла (например, abapincl). Это явится основанием для включения данного файла в указанное место основной программы. Кроме того, создать файл Include можно за один шаг, щелкнув
мышью на кнопке Create на экране Object Browser и поместив указатель мыши на элементе Include.
Расширенные возможности проверки программ
Помимо обычного синтаксического контроля, АВАР/4 Development Workbench позволяет проводить расширенную проверку программ. Для этого на экране редактора АВАР/4 Editor необходимо указать последовательность экранных клавиш Program
Check (проверка) > Extended Prog.Check (расширен- ная проверка программы). Средства расширенной проверки помогают найти неправильные логические конструкции и несоответствия данных, которые могут привести к ошибкам при исполнении программы или к непредсказуемым результатам. Например, при проверке могут быть обнаружены несоответствие интерфейсных параметров описанию внешних функций или участок программного кода, на который никогда не передается управление.
Подобные проверки не входят в набор стандартных функций УТИЛИТЫ Syntax Check, поскольку опе- ративный синтаксический контроль, как правило, применяется при непосредственном написании про- грамм и должен осуществляться очень быстро. При расширенной проверке происходит обращение к большому числу объектов системного окружения, и обычно она выполняется в конце процесса создания программы.
Отладка программы
В синтаксически правильных программах, успешно (без предупреждений) прошедших расширенный контроль, могут скрываться ошибки, которые проявляются только на этапе исполнения. Еще хуже,
когда выполнение программы приводит к непредсказуемым и необъяснимым результатам. Для поиска таких ошибок в языке ЛВАР/4 предусмотрены простые и эффективные средства отладки. Для поиска неправильно написанных кодов программы обычно применяются следующие приемы:
• Прерывание исполнения программы
• Продолжение исполнения в пошаговом режиме (оператор за оператором)
• Пропуск отдельных подпрограмм
• Проверка и оперативное изменение значений переменных

326 Приложение С
Исполнение программы на некотором можно прервать, расставив в тексте набор точек прерывания (так называемых контрольных точек). Для этого на экране Editor необходимо установить курсор на строке выбранного оператора и последовательно указать элементы меню:
Utilities > Breakpoints (контрольные точки)
Set (задать). Тогда во время исполнения программы сис- тема остановится на отмеченном операторе, выделит следующий участок текста и в режим отладки (рис. С.З).
Рис. С.З
Отладка программы
В режиме отладки в нижней части экрана можно просматривать содержимое отдельных полей
(имена нужных полей вводятся с клавиатуры или указываются двойным щелчком мыши на поле а ис- ходном коде). Точно так же можно просмотреть все строки внутренней таблицы, если щелкнуть мышью на поле cable и на следующем экране ввести имя таблицы. Кроме того, отладчик позволяет получить содержимое стека вызова событий и активных подпрограмм. Для этого нужно указать последователь- ность элементов меню: Goto
Active Call Stack (активный стек вызовов).
Начиная с контрольной точки, разработчик может щелкнуть мышью на кнопке Single Step и далее исполнять программу в пошаговом режиме (оператор за оператором). Кнопка Execute позволяет испол- нить подпрограмму, не останавливаясь каждом ее операторе. И, наконец, кнопка Continue обеспе- чивает продолжение непрерывного процесса исполнения до следующей контрольной точки или до конца программы (в зависимости от того, что встретится раньше).
В режиме отладки разрешено устанавливать дополнительные точки прерывания на любых событиях,
подпрограммах и операторах. Эти динамические контрольные точки задаются на специальном всплы- вающем экране с помощью последовательности элементов меню: Breakpoint (контрольные точки)
Breakpoint At (контрольные точки событий).
Использование двойного щелчка мышью
для создания объектов и вывода на экран
их определений в режиме редактирования
При разработке программы нередко возникает необходимость создавать новые объекты (в частнос- ти, переменные). Для переключения в экран определения объекта и его создания достаточно дважды щелкнуть мышью на имени объекта в режиме редактирования (экран Editor). Это позволит, например,
задать оператор data или определение подпрограммы. Если в программе используется еще не ная подпрограмма, то разработчик, дважды щелкнув мышью на ее имени, может вызвать появление диалогового окна с запросом на подтверждение создания такой подпрограммы. После подтверждения следует выбрать форму задания определения подпрограммы (в виде программы или
Include).
Короткие программы обычно не используют файлы Include, и в этом случае разработчик может вер-

Расширенные средства АВАР/4 Development Workbench 327
нуться к экрану основной программы. Следующий шаг — ввод исходного кода подпрограммы, содержа- щего ее определение (операторы form/endform) и несколько строк комментариев ее описания.
Рассмотренный выше способ создания форм следует применять и для построения объектов, если в программном тексте уже был записан вызов объекта (например, подпрограммы), а разработка самого объекта планируется в будущем. Такая последовательность действий обычно применяется при разработ- ке методом "быстрых прототипов" (Rapid Prototyping), когда сразу программируется прототип прикладной программы, а затем, в процессе обсуждения функций программы с пользователями и менеджерами,
демонстрируется его работа. Создание объектов разработки (например, подпрограмм или таблиц
Dictionary) осуществляется по кнопке Create на экране Object Browser утилиты АВАР/4 Development
Workbench.
В разделе "Получение перечня программных элементов" данного приложения рассматри-
ваются способы просмотра списка объектов различных типов в программе.
Просмотр определения объекта происходит так же, как и его создание. Достаточно дважды щелкнуть мышью на текущем объекте, чтобы переключиться на просмотр его определения (например, определе- ний оператора data или подпрограммы). Повторный двойной щелчок позволяет перейти к списку ис- пользования (Use List) этого объекта (см. следующий раздел).
Работа со списками использования (Use List)
Щелчок мышью на экранной кнопке Where-Used List, которая имеется почти на каждом экране
АВАР/4 Development Workbench, позволяет получить Use List каждого объекта (например, переменной программы или структуры в Dictionary). Для глобальных объектов, таких как структуры в Dictionary,
можно просмотреть все случаи их использования не только в текущей программе, но и во всех других программах системы R/3. В отличие от обычных средств текстового поиска Use List позволяет увидеть на экране контекст каждого конкретного применения объекта (в частности, полную команду АВАР/4,
использующую таблицу Dictionary, которая нередко состоит из нескольких строк).
К примеру, Use List таблицы базы данных под названием перечисляет все программы, ис- пользующие данную таблицу. Кроме того, для каждой программы можно вывести на экран все случаи применения этой таблицы (рис. С.4).
Рис. С.4
Use List таблицы базы данных serptree
Если дважды щелкнуть мышью на каком-либо элементе Use List, раскроется окно с соответствующим фрагментом программного кода, позволяя осуществлять прямую навигацию между всеми объектами про- граммы и их определениями.

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) в следующем диалоговом окне.

Расширенные средства АВАР/4 Development Workbench 329
Рис. С.6
Список объектов программы в виде расширенного дерева,
содержащего все подпрограммы
Документирование программ
Редактирование документации для каждой программы выполняется после выбора элементов меню
Edit
Documentation
Display/Change на экране Object Browser. Предусмотрена возможность пере- вода описания программы на различные естественные языки (например, французский или испанский).
Полная документация программы имеет следующую структуру:
• Description (описание): основное описание назначения программы и используемых функций
• Precondition (предварительные условия): необходимые условия для успешного выполнения программы
• Output (результат): результат выполнения программы
• Example (пример): образец задания входных параметров программы и результат ее выполнения
При выполнении программы (например, пула модулей одной транзакции) пользователь имеет воз- можность прочитать на естественном языке документацию по выполняемой в данный момент програм- ме, используя на экране приложения функцию оперативной справки: Help
Extended Help.
Анализ поведения приложения при исполнении
Иногда при исполнении уже готового приложения могут возникнуть некоторые проблемы: прило- жение работает недостаточно быстро или получаемый результат не совсем соответствует необходимым требованиям. Для решения подобных вопросов предусмотрены средства анализа на этапе выполнения программы, которые позволяют определить, сколько времени исполняются конкретные операции, и предоставляют разработчику трассировку всех выполняемых подпрограмм.
Доступ к этим средствам при исполнении программы можно получить с помощью элемента основ- ной линейки меню на экране АВАР/4 Development Workbench: Test
Runtime Analysis (анализ при исполнении программы). Прежде всего нужно указать программу, работа которой будет анализировать- ся, а затем запустить ее. При этом система создаст файл трассировки, в который на следующем шаге будут записаны результаты выполнения программы. Статистические характеристики показывают распре- деление времени выполнения различных операций, работы с базой данных и системой R/3. Разработ- чик, щелкнув мышью на кнопке Absolute <-> %, может переключиться в другой список, содержащий абсолютное время выполнения, и вывести дополнительно процентные соотношения времени выполне- ния каждой операции (относительно общего времени работы программы). Разрешается также переход на более высокий иерархический уровень вызова подпрограмм или функций для получения статисти-

330 Приложение С
ческих характеристик частоты вызовов процедур или для выяснения, какая программа вызывает данную процедуру.
Если на экране Workbench указать элементы меню: Test > SQL Trace (трассировка операторов SQL),
то можно получить трассировку вызовов базы данных и выяснить, какие ее таблицы используются дан- ным приложением и какие еще вызовы базы данных инициируются при исполнении программы. Такая отладка, безусловно, полезна, поскольку обычно при исполнении программы доступ к таблицам базы данных занимает больше времени, чем доступ к внутренним таблицам, являющимся локальными для программы.
Кроме описанных средств анализа, существуют также дополнительные инструменты для тестирова- ния программ, доступ к которым обеспечивается с помощью меню Test пакета Development Workbench.

Приложение D
Работа групп
разработчиков
в распределенной среде

332 Приложение D
Средства разработки на языке АВАP/4 — Development Workbench — используются не только для написания небольших программ, но и для создания крупных проектов командой разработчиков, рабо- тающих в распределенной среде. С помощью утилиты Workbench Organizer легко установить сетевой режим работы системы R/3, обеспечивающий простоту доступа разработчиков или тестируемой систе- мы к реальной производственной ИС, Кроме того, применение этой утилиты гарантирует высокий уро- вень безопасности при разработке и управлении ИС, поскольку ошибки в тестируемом продукте не будут влиять на работающую систему.
Если разработчик хочет создать тестовый объект (например, для освоения какой-либо технологии работы с R/3, для оценки новой задачи или изменения структуры Dictionary), то этот объект следует определить как local (локальный), аналогично приведенным в книге примерам. Локальные объекты не передаются в другую систему.
Все разработчики, использующие одну и ту же систему, могут сразу начать работать с
созданным локальным объектом (например, с таблицей
т.е. он не является
собственностью создавшего его конкретного разработчика.
Если же создается или изменяется объект разрабатываемой системы, который в дальнейшем плани- руется использовать в реальной производственной ИС, то необходимо задать класс разработки этого объекта (более подробно классы разработки будут рассмотрены ниже). Новый или измененный объект автоматически включается в Task (задание), которое, в свою очередь, можно объединить в запрос на
изменение (Change Bequest), определяющий перечень объектов, передаваемых в производственную систему.
Так, если разработчик хочет ввести свою программу-пример в производственную систему, он должен задать для нее класс разработки, а не определять ее как локальный объект. Предположим, программа создается в системе носящей имя
Тогда она должна быть включена в задание с именем которое объединено с другими заданиями общего запроса на изменения, например
(номера запросов на корректировку и изменения определяются в Development Workbench автоматически). Запрос на изменение определяет, когда и как программа будет передана из разрабаты- ваемой системы в реальную, чтобы с ней могли работать пользователи.
1   ...   16   17   18   19   20   21   22   23   24


написать администратору сайта