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

Р. Кречмер, В. Вейс - Разработка приложений 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
страница22 из 24
1   ...   16   17   18   19   20   21   22   23   24
Свойства объекта
После создания объекта обычно задаются его свойства, обеспечивающие работу с ним. Например,
чтобы увидеть результат выполнения функции create, сделайте этот объект видимым на экране:
В результате выполнения команды set property раскрывается основной экран приложения Excel,
после чего можно работать в стандартном режиме Excel. Для объединения последовательности вызовов и передачи их в одной посылке можно использовать дополнение flush команды get, что повышает

Автоматическая обработка объектов OLE 307
производительность при обработке вызовов объектов OLE (по умолчанию каждый вызов объекта OLE
передается на OLE-сервер отдельно).
Для получения свойств объекта предусмотрена команда get property, которая выполняет
ный запрос:
data v i s i b l e type i .
get property of a p p l i c a t i o n '
В данном случае содержимое переменной visible сообщает разработчику, будет ли видимым объект.
Методы вызова объектов
Следующим шагом в разработке программы является вызов объекта. Метод работы с объектом за-
висит от выполняемых сервером OLE операций. Откройте электронную таблицу Excel и заполните ее
информацией о рейсах. В среде Excel все электронные таблицы содержатся в томах, поэтом)' прежде
всего откройте новый том:
data workbook
c a l l method of a p p l i c a t i o n
workbook.
c a l l method of workbook
.
Дескриптором объекта является переменная application. Функция method возвращает дескриптор дру-
гого
в переменной workbook. Результатом выполнения этих вызовов будет
нового
документа Excel и добавление его к существующим. Контроль ошибок выполняется с помощью запроса
системного кода возврата и определения поля сообщения. При вызове метода разрешается передавать
параметры объекта, используя дополнение exporting. Поскольку параметры передаются по значению (в
строго определенном порядке), их рекомендуется нумеровать при вызове:
data
c a l l method of a p p l i c a t i o n 'Worksheets'
s h e e t
#1
c a l l method o f s h e e t ' A c t i v a t e ' .
В примере открывается и становится активной (в нее разрешается ввод данных) электронная таб-
лица. Интерфейсные параметры методов подробно рассматриваются в руководстве, поставляемом с сер-
вером OLE.
Данные из таблицы customers передаются в электронную таблицу подпрограммы filljsheet. Результат
ее заполнения приведен на рис. 28.1. Полный текст примера:
program e x c e l .
include
Рис. 28.1
Электронная таблица Excel,
созданная из программы
АВАР/4

308 Глава 28
Удаление связей объектов
ДЛЯ завершения работы в приложении OLE вызовите соответствующий метод, а затем с помощью команды free освободите ресурсы, используемые объектами OLE:
free o b j e c t a p p l i c a t i o n .
После исполнения этой команды связи с созданными объектами OLE не поддерживаются и методы инициировать нельзя.

Автоматическая обработка объектов OLE 309
Резюме
* Объекты OLE можно инициировать из программы, написанной на языке АВАP/4.
* Создание объектов обеспечивается командой create object.
* Свойства объекта можно установить с помощью команды set property или запроса get property.
* Вызов метода обеспечивается оператором call method.
* Для освобождения связей и ресурсов объектов используется команда free object.
В приложениях рассматриваются: архитектура системы R/3, средства запроса Query tool АВАР/4 и расширенные возможности пакета Development Workbench. Даются рекомендации по организации кол- лективной работы в распределенной среде, поддерживаемой средствами Development Workbench, пере- числяются наиболее важные системные поля.
В главах этой книги кратко излагаются принципы разработки полнофункционального приложения,
приводится пример такой программы, написанной на языке АВАР/4. В ней реализованы возможности
Development Workbench. Рассказывается, как определять многократно используемые объекты данных в
Dictionary и строить различные объекты данных в программах. Особое внимание уделяется двум прин- ципам конструирования сложных объектов данных: с помощью записей и посредством внутренних таб- лиц. Визуализация таблиц, записанных в Dictionary, и важнейшие связи между ними в АВАР/4
поддерживаются графической утилитой Data Modeler, которая помогает в разработке моделей сущ- ность — связь.
От элементарных языковых конструкций авторы книги переходят к структуре языка, в частности к концепции управления событиями. Представлены основные способы структурирования программы с по- мощью разделения ее на формы — единицы-модули, локализованные в программе, и многократно ис- пользуемые компоненты — функции, вызываемые из различных программ. Основное место в разработке деловых приложений занимает интерфейс с данными, хранящимися в базе. Рассмотрены способы ис- пользования языка Open SQL, который позволяет работать с таблицами базы данных на уровне про- грамм языка АВАР/4, и описаны приемы получения временных "моментальных снимков" таблиц базы в виде внутренних таблиц, относящихся к наиболее мощным средствам языка АВАР/4. В последнем разделе показано, как генерировать отчеты и применять механизм многократно используемых логичес- ких баз (Logical Databases) для поиска информации в базе данных.
Диалог является важнейшим элементом интерфейса с конечным пользователем. Он строится с по- мощью таких средств, как линейки меню, пиктограммы, экранные кнопки и специальные сообщения,
посылаемые конечному пользователю в случае возникновения ошибок. В книге рассматривается концеп- ция расширенной транзакции — основа разработки многоэкранных прикладных программ, обеспечиваю- щая целостность данных в базе. И наконец, были представлены интерфейсы АВАР/4 с различными внешними компонентами - от простейшего интерфейса с файлом до мощных средств вызова удаленных функций (Remote Function Call) для запуска OLE-приложений.
Все шаги разработки прикладной программы иллюстрировались многочисленными примерами. Ав- торы надеются, что книга станет незаменимым помощником для всех, кто хочет научиться работать с
АВАР/4 в системе R/3. Желаем успехов!

Приложения
Приложение А. Архитектура системы R/3
Приложение В. Средства обработки запросов АВАР/4 Query
Приложение С. Расширенные возможности пакета АВАР/4
Development Workbench
Приложение D. Коллективная разработка в распределенной среде
Приложение Е. Важнейшие системные поля

314 Приложение А
Система R/З представляет собой набор приложений, написанных исключительно на языке АВАP/4
и поэтому не зависящих от конкретной платформы. Язык АВАP/4 занимает центральное место в про- граммном обеспечении связного уровня, что позволяет сделать программу независимой от аппаратуры,
операционной системы и СУБД (рис. АЛ).
Рис. А.1
Многоуровневая структура
системы R/3
В связное программное обеспечение R/3 Basis входят следующие компоненты:
• GUI (графический интерфейс пользователя)
• Исполнительная система АВАР/4
• Интерфейс базы данных
• Средства поддержки многопользовательского режима
• Средства разработки АВАР/4 Development Workbench
• Система автоматизации совместной обработки данных
• Система электронной почты
• Средства интеграции персональных компьютеров с программным обеспечением
• Средства фоновой обработки заданий
• Система спулинга
• Средства администрирования системы
• Интерфейсы связи с внешними системами
Система R/3, разработанная на базе трехуровневой архитектуры, предназначена для реализации рас- пределенных вычислений в среде клиент/сервер. R/3 содержит три логических уровня:
• Уровень базы данных, на котором осуществляется хранение и поиск данных бизнес-приложения
• Уровень приложения, на котором реализована логика исполнения
• Уровень представления информации с использованием GUI
Каждая из этих служб может быть распределена и исполняться на различных аппаратных устройст- вах (рис. А.2).
Стандартные приложения
Новые приложения
Связное программное обеспечение R/3 SAP
Операционная система
База данных
Аппаратная платформа

Архитектура системы R/3 315
Рис. А.2
Трехуровневая архитектура
системы R/3
Представление Приложение База данных
данных
Архитектура системы R/S позволяет объединять два или три уровня в одном компьютере "физически"
(рис. A.3) — если не требуется более высокая степень распределения функций.
Рис. А.З
Масштабирование системы R/3 Представление
данных
Приложение
База данных
В архитектуре клиент/сервер реализованы разные модели распределения функций, поэтому система обеспечивает несколько вариантов масштабирования R/З — от самых малых систем (одноуровневой для небольшого числа пользователей) до крупномасштабных вычислительных сред (трехуровневых систем для многих тысяч пользователей). Службы системы R/3 могут быть распределены в гетерогенных вы- числительных средах, поддерживающих различные операционные системы и программы представления данных. Архитектура системы R/З позволяет минимизировать сетевой трафик обмена данными с по- мощью буферизации и сжатия информации. Это очень важно для систем клиент/сервер, где требуется быстрая и надежная передача данных. Механизм диспетчеризации системы R/З поддерживает много- пользовательский режим работы, управляя сессиями всех пользователей. Специальный метод оптимиза- ции загрузки гарантирует равномерную загрузку всех серверов приложений, что позволяет избежать дисбаланса в использовании ресурсов в системе.
Средства разработки АВАР/4 Development Workbench интегрированы в R/3 Basis, что дает возмож- ность разрабатывать приложения, отвечающие стандартным требованиям к бизнес-приложениям SAP.
В частности, программы, созданные с помощью Development Workbench, поддерживают различные вы- числительные среды, т.е. являются переносимыми.

Приложение В
Средства обработки
запросов АВАР/4 Query

318 Приложение В
Утилита АВАР/4 Query служит для построения простых прямых запросов к таблицам базы данных без применения специальных программ. Она поможет тем конечным пользователям, которым необхо- димо получить дополнительную информацию, не предоставляемую системой. При этом от них не по- требуется знания ни языков программирования, ни технических особенностей структуры системы R/3.
Утилита АВАР/4 Query предлагает пользователю весь набор методов, поддерживаемых в других про- дуктах, предназначенных для формирования запросов. В частности, можно получать информацию, запи- санную в любой таблице базы данных или собранную в Logical Databases, что обеспечивает многократное использование объектов данных. Интерактивные средства АВАР/4 Query позволяют просматривать ин- формацию в увеличенном или сжатом виде. Конечный пользователь может динамически перестраивать и сортировать табличные списки. Кроме того, в АВАР/4 Query имеются средства для отображения де- нежных сумм в заданной валюте разных стран. Например, если складываются суммы в разных денежных единицах, автоматически производится конверсия суммы к валюте, указанной для результата.
Допускается также динамический подсчет промежуточных сумм и конверсия валют. Можно преоб- разовывать список (или его часть) в формат, используемый средствами графического представления данных системы R/3, или в формат электронных таблиц, применяемый внешними приложениями.
Использование Logical Databases при работе
с утилитой АВАР/4 Query
Logical Databases — это важнейшее средство построения отчетов, обеспечивающее различные много- кратно используемые представления данных системы R/3.
О Logical Databases см. главу 15.
Поэтому при разработке утилиты АВАР/4 Query специально было предусмотрено ее взаимодействие с Logical Database. Любые структуры Logical Database, определенные в системе R/3, могут быть основой для формирования запроса. АВАР/4 Query обеспечивает просмотр всей иерархии данных, определен- ной в Logical Database, в списке-результате. Таким образом можно не только строить простейшие таб- личные списки, но и получать информацию из иерархических списков, где каждая строка имеет собственную структуру. С помощью АВАР/4 Query можно также вычислять данные, не определенные в Logical Database, однако в этом случае эти данных должны иметь плоскую структуру.
Использование запросов АВАР/4
для получения отчетов
При создании отчета программными средствами (см. главы 15-17) используются элементы языка про- граммирования, которые определяют:
• Извлекаемые данные
• Взаимосвязи между данными
• Способы сортировки данных
• Способы представления данных на экране или при распечатке
Утилита АВАР/4 Query работает иначе. Она не требует программирования способа получения резуль- тата, а предлагает описать только сам результат — создаваемый список. Применяя такие описания, АВАР/4
Query автоматически генерирует отчет, содержащий необходимый список. Этот подход предпочтительнее:
пользователь может формировать запрос посредством АВАР/4 Development Workbench, используя стандарт- ные экраны выбора или варианты, и одновременно исполнять запросы в фоновом режиме.
О выборе различных вариантов отчета и о фоновой обработке см. главу 18.

Средства обработки запросов АВАР/4 Query 319
Доступ к данным с помощью АВАР/4 Query
Система АВАР/4 Query обеспечивает авторизованный доступ к данным посредством специальных представлений логической базы — функциональных областей (Functional Areas). Такой подход обладает определенными преимуществами. Во-первых, данные защищены от несанкционированного доступа. Во- вторых, использовать такие элементы запроса, как имена таблиц и полей, не требуется. В-третьих,
пользователь может регулировать диапазон выходной информации, которая предоставляется логичес- кой базой.
Функциональная область включает в себя некоторое подмножество полей из связанной с ней Logical
Database, т.е. является некоторым представлением таблиц этой логической базы. Функциональная об- ласть может содержать и дополнительную информацию, не входящую в Logical Database. Допускается также создание новых представлений путем комбинирования существующих данных и записи результата в поля функциональной области. В некотором смысле функциональная область является расширением логической базы. Для любой Logical Database можно построить несколько функциональных причем каждый запрос связан с одной функциональной областью. Именно эта связь определяет диапа- зон данных, анализируемых запросом. Содержимое функциональной области указывается не в терминах имен полей, а в виде декларативного текста, поэтому пользователю АВАР/4 Query необязательно знать имена полей и таблиц с необходимой информацией.
Права доступа в АВАР/4 Query регулируются с помощью механизма групп пользователей
Каждая группа содержит список пользователей с одинаковыми правами доступа и свя- занных с группой функциональных областей. В рамках группы обеспечивается доступ только к тем дан- ным, которые входят в функциональные области группы. Пользователь может относиться к разным группам, и каждая функциональная область тоже может быть связана с несколькими группами пользо- вателей. Таким образом, существуют широкие возможности для определения прав доступа к данным в
АВАР/4 Query, которые можно изменять в зависимости от конкретных задач пользователя.
Элементы запроса АВАР/4 Query
В основе каждого запроса лежит набор полей связанной функциональной области. Данные могут быть обработаны и представлены на экране тремя способами:
• В форме базисного списка
• В форме статистических данных
• В форме упорядоченного списка
В базисном списке данные представлены в том порядке, в каком они определены в функциональной области. Информацию базисного списка разрешается сортировать в соответствии с различными крите- риями, вычислять итоговые и промежуточные суммы. Статистические данные представляют собой ре- зультаты статистической обработки базисных данных (например, отсортированный список заказов).
Упорядоченный список является особой формой статистических данных (в частности, перечень первых десяти клиентов туристического агентства).
Запрос может иметь один базисный список и до девяти списков каждой из двух остальных катего- рий — статистических и упорядоченных, которые не являются обязательными. Такой запрос с несколь- кими дополнительными отдельными списками хорош тем, что данные считываются только один раз, а впоследствии упорядочиваются различными способами.
Построение запроса
Первый шаг при построении запроса — выбор функциональной области из числа доступных исходя из принадлежности пользователя к одной из групп. Второй шаг — выбор полей в пределах функцио- нальной области. Поле задается в списке или на экране выбора запроса вместе с критерием сортировки или новым критерием отбора. Экран выбора всегда включает все критерии, связанные с данной функ- циональной областью.
Кроме полей функциональной области, можно определить локальные поля, ограничивающие об- ласть данных для запроса. Локальные поля обычно применяются для подсчета итоговых цифр на ос- новании базисных данных. Для вычислений используются стандартные формулы и элементарные условные выражения.
После выбора поля запроса создаются отдельные списки: базисный, статистический или упорядочен- ный. Как говорилось ранее, любой список запроса определяется с помощью описания размещения эле- ментов. Например, можно задать:
• Выводимые поля

320 Приложение В
• Последовательность появления полей
• Сортируемые поля
• Поля, которые участвуют в вычислении итоговых и промежуточных сумм
• Специальные атрибуты вывода (фреймы, цвета, разбиение на страницы, новые строки, фиксиро- ванные позиции, длину выводимых строк, денежные единицы и т.д.)
• Расположение заголовка и нижнего колонтитула страницы
В любой момент в процессе определения запроса его можно исполнить, чтобы посмотреть, как будет выглядеть необходимый список.
Простейшие запросы
Процедура определения запроса иллюстрируется на примере базисного списка, в котором все строки имеют одинаковую структуру. Простейший базисный список содержит информацию обо всех авиалиниях, с которыми имеет дело туристическое агентство. Предположим, в Logical Database присутствует соответствую- щая функциональная область. Выбрав необходимые поля, например идентификатор компании (Carrier ID) и номер рейса (Flight number), можно добавить спецификации для базисного списка (рис. В.2).
1   ...   16   17   18   19   20   21   22   23   24


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