Р. Кречмер, В. Вейс - Разработка приложений SAP R3 на языке АВАР4. Р. Кречмер, В. Вейс - Разработка приложений SAP R3 на языке АВАР. Разработкаприложений sap r3Рюдигер Кречмерна языкеВольфганг Вейс
Скачать 28.36 Mb.
|
Свойства объекта После создания объекта обычно задаются его свойства, обеспечивающие работу с ним. Например, чтобы увидеть результат выполнения функции 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). |