ГЛАВА 7
Оценка ERP-систем
Уровень приложений находится на промежуточном слое системы SAP, который называется Базис-система SAP R/3. Базис-система — это слой, который позволяет делать приложения мобильными, и обеспечивает их независимость от особенностей конкретной операционной системы, сети, устройства систем баз данных, и системы презентаций. Базис-система обеспечивает работу интерфейсов, которые позволяют уровню приложений работать независимо от гетерогенности систем-спутников, от которых, в тоже время, во многом зависит функционирование системы приложений. Система Базиса обеспечивает работу следующих элементов:
• Интерфейсы операционных систем.
• Интерфейсы сети.
• Интерфейсы баз данных.
• Графический интерфейс пользователя (GUI).
• Администрирование системы SAP, мониторинг, инструменты менеджмента.
• Авторизация пользователей и инструменты управления профилями пользователей.
• Рабочая среда разработки АВАР/4, которая включает АРМ разработчика АВАР и словарь АВАР/4. Также она содержит панель управления и транспортную систему, управляющую разработкой и выпуском модификаций в производственную систему.
Я уже упоминал многие из этих интерфейсов в главе 4 «Решение SAP», но в этой главе расскажу об интерфейсах между системой SAP и операционной системой. Вопросы инсталляции и повседневного управления системой SAP более подробно обсуждаются в главе 11 «Инсталляция и администрирование SAP», в которой рассматривается инсталляция SAP и управление режимами, клиентами, пользователями, рабочими задачами, принтерами, базами данных и т. п. В главе 18, «Поддержка SAP», обсуждаются вопросы поддержки инсталляции SAP, в частности, обновление и Справочная система (Help Desk). Интерфейсы для взаимодействия с такими внешними системами, как ALE, I-Doc, SAP ITS/IAC и другими, рассматриваются в главе 19 «Улучшения в SAP и интерфейсы взаимодействия с системой», АРМ разработчика АВАР/4 описан в главе 8 «АВАР/4 для индивидуальной разработки». В рамках данной главы, я кратко упомяну об интерфейсах SAP для работы с базами данных, сетями и системами презентаций.
Интерфейс операционной системы
В этом разделе рассказывается о Базисе SAP, который представляет собой интерфейс для взаимодействия с подчиненными ему операционными системами.
Транзакции в системе SAP
Работа системы «Базис» основана на нескольких концепциях, таких, как SAP-транзакция и Логическая Единица Работы (Logical Unit of Work, LUW). Перед тем, как мы обсудим различные сервисы Базисного уровня, рассмотрим эти концепции.
Транзакции SAP неразрывно связаны с взаимодействием пользователей, которые находятся в том или ином экране, потому что в системе SAP любая операция основывается на взаимодействии между экранами. Транзакции приложений в рамках SAP отличаются от транзакций, знакомых нам по работе с базами данных, хотя в их основе заложен принцип внесения изменений в базу данных.
Транзакция SAP состоит из серии последовательных диалоговых окон, логически связанных между собой, заполнение которых приводит к обновлению баз данных.
Каждое появляющееся окно — это, по сути, динамическая программа, представленная в виде экрана. Каждый экран состоит из информации о конфигурации окна, полях для заполнения, определениях этих полей, подтверждения изменений в полях, сверке подтверждений и других операциях по обработке данных.
Выполнение Транзакции SAP состоит из двух фаз: фаза он-лайн и фаза внесения обновлений. Транзакция не считается завершенной, пока все логически взаимосвязанные операции не будут успешно выполнены. Кроме того, в случае, если транзакция SAP не будет успешно завершена, все обновления баз данных, внесенные во время выполнения промежуточных шагов, будут отменены.
Логическая Единица Работы в SAP
SAP дает определение Логической Единицы работы (LUW), ориентированной на приложения, в которых может содержаться несколько динамических программ и соответствующих изменений в базах данных. Таким образом, одна LUW в системе SAP может включать в себя несколько LUW на уровне баз данных, но никогда наоборот. LUW на уровне баз данных в SAP ничем не отличаются от принципа работы таких стандартных баз данных, как Oracle, Informix и т. п.
Впрочем, если LUW в системе SAP не завершается успешно, все соответствующие LUW на уровне баз данных также отменяются. Таким образом, не только отдельные базы данных остаются устойчивыми и не содержат противоречащих данных, но и вся система в целом, на всем протяжении ее работы.
Причина, почему необходимо задать общую LUW в системе SAP заключается в том, что различные динамические программы в рамках отдельной транзакции SAP могут управляться различными процессами (см. раздел «Диспетчер и рабочие процессы»), в то время как в системах управления базами данных (DBMS), напротив, логической единицей работы управляет только один процесс. Кроме того, транзакции SAP позволяют осуществлять как синхронное (то есть в режиме реального времени), так и асинхронное внесение данных (которое используется для экономии времени работы с системой), даже с разных компьютеров в рамках одной транзакции SAP.
Диспетчер и рабочие процессы
Исполняющая система R/3 следит за многими функциями — такими, как управление памятью, управление полномочиями и т. д., то есть тем, что обычно осуществляет операционная система. Но система SAP сама осуществляет эти функции, чтобы обеспечить мобильность и контроль над производительностью системы. Исполняющая система R/3 написана на языке C/C++, в то время как SAP 4.0 и более поздние версии модулей приложений SAP были написаны на АВАР или АВАР/4.
Сервер приложений состоит из диспетчера и нескольких рабочих процессов. Исполняющая система R/3 работает как группа сотрудничающих параллельных процессов. Диспетчер — это процесс, который выступает в роли системы мониторинга транзакций; он назначает задачи для других процессов, координирует и контролирует их исполнение. Каждый режим работы в SAP имеет своего диспетчера, который, в свою очередь, может управлять многими рабочими процессами. Диспетчер обеспечивает оптимизацию и сбалансированность нагрузки системы, причем сбалансированность нагрузки поддерживается с помощью обработчика запросов, получающего запрос на доступ от презентационной компоненты. На рис. 7.1 схематически представлены диспетчер и рабочие процессы.
Рис. 7.1. Диспетчер SAP и рабочие процессы.
Например, диспетчер оптимизирует взаимодействие между уровнем презентаций и уровнем приложений. После того, как диспетчер получает данные, введенные пользователем, он ставит этот запрос в очередь на обработку и назначает для этого свободный в данное время рабочий процесс соответствующего типа, причем сначала обрабатываются запросы, которые поступили раньше. После того, как обработка данных окончена, результаты отправляются в соответствующий экран, а рабочий процесс освобождается для обработки следующего запроса в очереди. Вся коммуникация между рабочими процессами и другими системами, такими, как графический интерфейс SAP GUI, упоминаемый в этой главе, а также коммуникация между программами, осуществляется через диспетчера.
Каждый рабочий процесс состоит из обработчика задач, который по требованию активирует процессор АВАР/4, интерпретатор диалога или интерфейс для баз данных. Он также отвечает за загрузку и очистку информации о пользователе в начале и в конце каждой стадии диалога; это действие называется «развертка» (roll-in) и «свертка» (roll-out) соответственно.
Когда рабочему процессу нужны данные, находящиеся на различных стадиях диалога с пользователем, эти данные сохраняются в кэше (области памяти, доступной для разных программ). В версиях, предшествующих SAP 3.0, где для обращения к памяти рабочего процесса использовался указатель на память вместо копирования памяти, рабочие процессы имели лишь два типа кэша: «область развертки» (roll area) и «страничная область» (paging area). Область развертки сохраняла информацию о пользователе и контролировала такую информацию, как права доступа к данным на всем протяжении диалога с пользователем, в то время как страничная область содержала копии данных, имеющих отношение к приложениям, например, внутренние базы данных.
Существует несколько типов рабочих процессов. Есть процессы для обработки диалога с пользователем, для записи измененных документов, для управления распечаткой документов и т. д. Количество типов процессов, размер кэша и прочее можно изменить, настроив параметры профиля для соответствующего режима работы в SAP.
Диалоговый процесс
Учитывая, что вся работа системы SAP основана на взаимодействии с пользователем, можно сказать, что диалоговые процессы, которые контролируют все аспекты взаимодействия пользователя и системы, имеют огромное значение.
Диалоговый процесс выступает в качестве функции, доступной многим пользователям одновременно, которую предоставляет операционная система. Диалоговый процесс выполняет лишь одну динамическую программу за один раз, после чего переключается на следующий диалоговый запрос от любого другого пользователя. Таким образом достигается значительная экономия ресурсов системы.
Сбалансированность нагрузки, необходимая для успешной работы диалогового процесса с несколькими пользователями, обеспечивается обработчиком запросов. Как только пользователь запрашивает доступ к серверу приложений, презентационная компонента переадресует запрос к соответствующему обработчику запросов. Сервер запросов сверяется с базой данных занятости серверов приложений, и переадресует запрос на доступ к тому серверу приложений, который менее всего загружен.
Пакетный процесс
Пакетный процесс — важная часть ежедневных операций в любой компании. Особенно он полезен при работе с программами, обрабатывающими данные на протяжении длительного времени. Таким программам можно назначить подходящее время для работы — днем или ночью. В фоновой обработке данных диспетчер назначает один пакетный процесс для одной фоновой задачи, который выполняет задачу до конца. Это в корне отличается от диалоговой обработки данных, когда диспетчер каждый раз назначает новую LUW для следующего свободного диалогового процесса.
Для обработки пакетных или фоновых задач обычно используются те же программы, что и для синхронной обработки данных в режиме он-лайн. Управляет пакетными процессами и назначает время для их исполнения Центральная управляющая система (CCMS), которую мы рассмотрим в соответствующем разделе этой главы.
Процесс обновления
Транзакция SAP может добавить или изменить данные в базе данных двумя способами:
• Синхронно, то есть напрямую, в режиме реального времени
• Асинхронно, то есть не напрямую.
При прямой записи данных в базу данных, эту операцию осуществляет диалоговый рабочий процесс. При асинхронной записи, онлайновая фаза (диалог с пользователем) и фаза обновления данных осуществляются по отдельности. Диалоговый процесс создает отдельную запись в журнале для обновления данных сразу после завершения фазы он-лайн. Это выгодно, потому что во время диалога позволяет сразу переходить к следующей стадии диалога, что экономит время и заметно повышает эффективность работы с системой.
Ради оптимизации ресурсов и эффективности работы системы регистровая запись делится на два компонента, в зависимости от важности вносимых изменений:
• Основной компонент записи
• Вторичный компонент записи.
В то время, как основной компонент записи относится к обновлениям, связанным с изменениями деловых операций, которые происходят в реальном времени (например, расположение запасов, получение товаров и т. д.), вторичный компонент относится к обновлениям, в большей степени связанным с бизнес-ориентированными измерениями характеристик работы (МОР) за какой-либо период. Следовательно, основные компоненты состоят из приоритетных обновлений и должны исполняться как можно быстрее. Обновление основных компонентов должно завершаться до того, как в базе данных начнется обновление вторичных компонентов.
Так как обычно онлайновая фаза исполняется успешно, никаких сбоев в приложениях не происходит. Однако в случае технических сбоев в процессе обновления записей журнала, обработка основных и вторичных компонентов происходит по-другому. В случае сбоя, затрагивающего основной компонент, все обновления этой записи
Процесс очереди
Этот процесс аналогичен системе управления блокированием в базах данных, но он гораздо сложнее. Так
Но даже на одиночном сервере баз данных, от управления блокированием требуется способность обеспечить синхронизацию доступа нескольких серверов приложений к базам данных и поддерживать согласованность и стабильность данных. Это особенно важно, когда различные диалоговые процессы выполняют диалоговые шаги транзакции SAP. Даже когда диспетчер осуществляет переключение рабочих процессов, все процессы должны сохранять целостность присвоенных блокировок вплоть до окончания SAP LUW или до того момента, когда само приложение окончательно отпустит блокировки.
Эта целостность блокирования в масштабе всех процессов также необходима для осуществления асинхронных
Процесс буферизации
Запрос на вывод данных может генерироваться после диалога с пользователем или в результате пакетного процесса. Процесс буферизации подготавливает формат данных для выбранного пути вывода данных — например, для принтера, факса, электронной почты и т. д., и сохраняет их во временном последовательном файле TEMSE (temporary sequential). Затем процесс буферизации переадресует запрос на вывод данных в соответствующую базовую систему.
Другие службы
Процессы, протекающие на серверах приложений, используют службу сообщений для обмена данными и информацией.
Служба шлюзов обеспечивает коммуникацию между системой R/3 и другими внешними системами, в том числе R/3 и R/2. В основном эта служба занимается передачей больших объемов связанных с приложениями данных. Для передачи информации эта служба использует протокол CPI–C.
Центральная управляющая система
Computing Center Management System (CCMS) — это удобный в использовании полноценный централизованный инструмент системного администрирования и управления R/3, ориентированный на графическое представление. Его возможности включают в себя инструменты для выполнения системных операций, осуществления контроля, мониторинга и оптимизации. Достижение этих целей стало возможным благодаря полной интеграции CCMS не только с системой R/3, но также с операционной системой, управлением сети и системой управления базами данных.
Панель управления
Как и предполагает название, Панель управления — главный инструмент мониторинга системы, который обеспечивает всеобъемлющий обзор операций и действий в масштабе системы R/3; она следит за всеми функциями управления системой SAP. В Панели управления предусмотрены средства представления в различном виде буферов, мониторов, предупреждений, информации о сбоях, системных журналов и т. д. Ниже приведены некоторые виды, доступные в Панели управления:
• Стандартный вид
• Вид статуса сервера
• Вид буферной памяти
• Вид предупреждений
• Вид характеристик работы системы
• Вид диспетчера
• Вид системного журнала
• Управление памятью.
Один из показанных на Панели управления пунктов отвечает за пуск и работу режимов SAP, которые мы обсудим ниже.
Рис. 7.2. Диалоговое окно Computer Center Management System.
Реализация событий в SAP
Событие в R/3 — это группа процессов, которая обеспечивает работу ряда упомянутых выше служб SAP. Каждое событие имеет диспетчера и набор рабочих процессов. Все события конфигурируются с помощью профиля режима. Профиль события содержит следующие сведения:
• Требования события к необходимым для работы системным ресурсам — таким, как основная память, совместно используемая память и размер roll-области.
• Какие рабочие процессы инициируют это событие и их количество
• Доступность других служб, таких, как служба сообщений и т. д.
Профили используются во время запуска и остановки системы, включая все службы, предоставляемые соответствующими событиями.
Группы сеансов
Группа сеанса определяет группу событий. Как уже упоминалось выше, при запросе пользователя на подключение обработчик запросов направляет запрос в ту логическую группу, которая в данный момент меньше всего загружена. Это называется «балансирование нагрузки сеансов».
Рабочие режимы
Рабочие режимы обеспечивают гибкость, необходимую для того, чтобы задавать режимы и в определенные периоды времени удовлетворять требованиям большого количества рабочих процессов, более ресурсо-требовательных запросов или пакетных процессов.
Системный мониторинг
Эта функция помогает CCMS проводить мониторинг характеристик работы всей системы. Когда какой-либо из заданных параметров пересекает свой порог допустимости, система отправляет соответствующее предупреждение.
Контрольные устройства системы R/3 собирают подробную информацию обо всех компонентах, участвующих в работе системы, в том числе о пользователях, самой системе SAP R/3, операционной системе, сети и системе баз данных. Используя собранную информацию, контрольное устройство тщательно ее анализирует и, в случае обнаружения нестандартных ситуаций, выводит графическое предупреждение. На рис. 7.3 представлен экран Обновления предельных значений для предупреждений.
Рис. 7.3. Диалоговое окно Обновление предельных значений для предупреждений.
Предупреждения в системе SAP в основном направлены на улучшение характеристик работы SAP с помощью упреждения возможных проблем и сообщения о них пользователю в реальном времени. Предупреждения бывают двух видов:
• Общие предупреждения, действительные в масштабе всех режимов SAP
• Местные предупреждения, специфичные для того или иного сервера.
В CCMS предусмотрены утилиты для того, чтобы задавать пороги параметров работы системы, после превышения которых выводится предупреждение для пользователя. Эти параметры относятся к характеристикам работы операционной системы, баз данных, сети, буферов и системного журнала.
Система CCMS также обеспечивает мониторинг характеристик работы следующих компонентов системы:
• Рабочих процессов
• Операционной системы
• Работу буфера
• Работу баз данных.
Панель управления и транспортная система
Панель управления — это часть АРМ Разработчика АВАР/4, но в этом разделе мы обсудим тесно связанную с ней транспортную систему. Панель управления предоставляет инструменты для программирования на АВАР.
Так как панель управления полностью интегрирована с АРМ Разработчика АВАР/4 и инструментами пользовательских настроек, объектом разработки на АВАР может быть любая программа, меню, экран, функциональный модуль, таблица, домен, элемент данных, документация и т. д..
Панель управления группирует объекты разработки в различные задачи, которые идентифицируются с помощью индивидуальных классов разработки, каждому объекту присваивается свой класс разработки. Объекты разработки в том или ином классе не могут быть изменены никем, кроме как членами именно этого класса разработки, в других случаях они доступны только для просмотра. Все изменения объектов разработки в своем классе сразу записываются в задачах.
Испытания проектов разработки обычно производится в системе тестирования. Чтобы обеспечить согласованность, непротиворечивость объектов, каждый из них приписан к своему месту и имеет владельца — изменения возможны только в оригинале объекта на месте его приписки. Эти свойства среды разработки были введены для того, чтобы избежать случаев параллельной разработки одного и того же объекта. Поэтому, для проведения тестов на интеграцию нескольких объектов из разных локальных систем эти объекты необходимо транспортировать в единую систему интеграции и там проводить тестирование. Изменения в объекты можно вносить в среде разработки, а затем снова транспортировать их в среду тестирования.
Запрос на изменения — это список объектов, подлежащих транспортировке, информация о системе назначения и т. д. При создании запроса панель управления автоматически присваивает ему номер. Запрос на изменения состоит из одной или нескольких задач, ассоциированных с различными разработчиками. Запрос на изменения может покинуть экран панели управления и экспортироваться с помощью транспортной системы только после деблокирования (release) всех задач в запросе. Объекты могут транспортироваться в систему тестирования в своей группе для прохождения тестов на интеграцию, а затем транспортироваться в продуктивную среду.
Деблокирование задачи сопровождается автоматическим контролем версий всех объектов. Панель управления также требует от разработчиков составления структурированной документации для каждого запроса. Более того, каждый раз, когда деблокируется запрос на изменения, автоматически генерируется транспортный журнал. Документация контроля версий в сочетании с транспортными журналами, обеспечивает полный контроль над процессом разработки
Транспортная система используется для переноса объектов разработки из одного модуля R/3 в другой, на основании действительного запроса на изменения. Также в функции этой системы входит проверка и мониторинг результатов транспортного запроса.
Процесс транспортировки состоит из двух фаз: экспорта и импорта. В версии 3.0 и более поздних версиях фаза экспорта происходит автоматически с участием панели управления, когда пользователь деблокирует действительные запросы на изменения, которые можно транспортировать. Результаты экспорта записываются в журнал. Перед фактическим экспортом объектов панель управления проводит тест — симулирует экспорт в систему назначения, чтобы выявить возможные противоречия с системой или между объектами. Это позволяет принять корректирующие меры перед выполнением запроса на изменения. Как дополнительная опция, транспортированные объекты записываются на место оригинального исправленного объекта (или объектов).
Фазу импорта должен вручную выполнять системный администратор на уровне операционной системы, используя экспортированный файл. Однако сам процесс и результат записываются в соответствующих журналах действий и транспортировки. Ниже приведена последовательность шагов использования панели управления и транспортных процессов:
1. Запустить панель управления с помощью транзакции SE06.
2. Запустить программу управления переносами (transport control program, tp).
3. Начать импорт фоновых задач.
4. Создать действительный класс разработки, начинающийся с Y или Z.
5. Создать новый объект разработки или модифицировать существующий.
6. Деблокировать и экспортировать транспортный запрос.
7. Импортировать в систему назначения.
8. Осуществить мониторинг файлов журнала.
В дополнение к панели управления, панель настроек (ТА SE10) отслеживает настроечную деятельность клиента, которые необходимы для конфигурации SAP во время внедрения.
Другие административные утилиты
В системах SAP предусмотрены многие другие программы и утилиты для выполнения различных административных задач — таких, как мониторинг системы, серверов приложений, рабочих процессов и работы пользователей, обновления записей, блокированных входов, кратких дампов, а также другие устройства отслеживания. Некоторые из них описаны в данном разделе.
Системные журналы R/3
Все серверы в системе SAP ведут журналы полного учета событий, происходящих в системе. В системе предусмотрена возможность для предоставления подробной отчетности по журналам в зависимости от выбранных параметров таких, как название режима SAP, ID пользователя, код журнала учета проблем, код транзакции, или даже конкретный рабочий процесс или служба. На рис. 7.4 представлен экран Системного журнала.
Рис. 7.4. Диалоговое окно Системного журнала.
Системные журналы разделяются на следующие типы:
• Локальный Системный журнал — предназначен только для локального сервера
• Удаленный Системный журнал — предназначен для конкретного удаленного сервера
• Все удаленные Системные журналы — предназначены для всех удаленных серверов и режимов
• Центральный Системный журнал — предназначен для всех серверов.
Файлы локального системного журнала обновляются циклично, на непрерывной основе, в то время как центральные системные журналы конфигурируются с целью разделения на текущие и старые файлы. Журналы обновляются в текущих файлах, пока эти файлы не переполнятся, после чего текущие файлы копируются на место удаленных старых файлов, затем создается новый файл для записи текущих записей журналов.
Для еще более масштабного предотвращения проблем в SAP предусмотрена возможность анализа журнала в экспертном режиме, в рамках которого можно задавать еще более широкий спектр атрибутов.
Системные утилиты трассировки
Система R/3 предусматривает несколько устройств отслеживания проблемных ситуаций и их устранения. Такие проблемы могут быть связаны с самой системой R/3, характеристиками ее работы или другими случаями. Утилиты трассировки включают в себя:
• Системную трассировку
• Отслеживание разработки с помощью процессов SAP
• Трассировку SQL с помощью баз данных
• Программную трассировку АВАР/4 с помощью АРМ Разработчика АВАР. На рис. 7.5 представлен экран для отслеживания запросов базы данных SQL.
Рис. 7.5. Диалоговое окно отслеживания запросов базы данных SQL.
Краткие дампы АВАР/4
Когда в программе АВАР происходит сбой и она закрывается, Рабочее место разработчика (АВАР Development Workbench) генерирует краткий дамп с полной информацией о возможных причинах сбоя и вариантами его устранения. Краткие дампы сохранятся в базе данных для справки. На рис. 7.6 представлен экран для анализа дампов АВАР/4.
Рис. 7.6. Диалоговое окно анализа дампов АВАР/4.
Интерфейс базы данных
Основная задача интерфейса базы данных — перевод языка SQL, который используется в АВАР, на язык SQL базы данных, на которой работает SAP в данной инсталляции.
Интерфейс коммуникаций
Система R/3 Basis поддерживает все стандартные (или считающиеся таковыми) сетевые и коммуникационные протоколы:
• На уровне операционной системы — протокол TCP/IP.
• На уровне баз данных коммуникация осуществляется через Remote SQL.
• На уровне приложений коммуникация осуществляется через CPIC, RFC, ALE, EDI и т. д.
С помощью интерфейса Удаленного вызова функций (Remote Function Call, RFC), стали возможны удаленные вызовы между двумя системами SAP, или между системой SAP и другими системами, например, приложениями Microsoft Windows.
Интерфейс представления
Интерфейс представления управляет функционированием и внешним видом пользовательского интерфейса и обеспечивает следующие характеристики:
• Возможность индивидуальных пользовательских настроек
• Простоту обучения и использования
• Поддержку иностранных языков
• Портативность.
Представление состоит из двух компонентов: SAPGUI и Управление сессиями.
SAPGUI
В системном ландшафте SAP исполнение графического интерфейса пользователя (GUI) определяет систему, к которой подключается пользователь. На всех платформах SAPGUI имеет одинаковые характеристики. Это стало возможным благодаря тому, что при обмене информацией между уровнями приложений и интерфейсов передаются только данные и логическая информация, само же представление осуществляется программами уровня интерфейсов с помощью специфических возможностей той или иной платформы.
Компонент SAPGUI поддерживает исполнение только одной задачи. Для параллельного исполнения нескольких задач, необходимо дополнительно запустить компонент SAPGUI.
Управление сессиями SAP
Управление сессиями SAP поддерживает возможность одновременного исполнения нескольких задач в системной среде, а также предусматривает подключение пользователя к нескольким системам. При этом Управление сессиями позволяет работать одновременно в нескольких системах, представленных в виде нескольких SAPGUI (то есть, окон). Управление сессиями позволяет осуществлять индивидуальные настройки пользовательского интерфейса в каждом из этих окон.
Резюме
В этой главе я описал Базис — средний слой системы SAP. Интеграция всех приложений напрямую зависит от Базиса. В следующей главе мы рассмотрим АРМ Разработчика, который является основным инструментом внесения настроек в систему и осуществления разработок.
ГЛАВА 8
ABAP для разработки настроек
Происхождение АВАР
Язык программирования АВАР/4 появился в 80-е годы, и с тех пор он развивается и совершенствуется с каждым релизом SAP R/3. Все приложения R/3 разрабатывались на АВАР/4. Зародился этот язык как язык программирования, созданный для генерации отчетов в системе R/2, потому что позволял создавать простые списки печати. Со временем этот язык развился в полноценную среду разработки под названием «Advanced Business Application Programming language» (АВАР), хотя изначально эта аббревиатура означала «Allgemeine Businessprozess Aufbereitungsprogramme».
Язык АВАР/4 во многом напоминает языки COBOL и Pascal, особенно в аспектах составления отчетности. Впрочем, АВАР/4 сильно отличается от обычных языков третьего и четвертого поколений (3GL и 4GL) тем, что это не только язык программирования, но и полноценная среда разработки «клиент-сервер», состоящая из Базиса R/3 и АРМ Разработчика АВАР/4. Ниже проведены важные характеристики среды АВАР/4:
• Это язык четвертого поколения, основанный на структурированных методологиях программирования, особенно в аспектах отчетности, и отдаленно напоминает COBOL.
• Это язык, управляемый событиями, особенно в аспектах диалогового программирования, что является неотъемлемой характеристикой системы R/3.
• Это интерпретативный язык; это делает возможным прототипирование приложений.
• Это полноценная, интегрированная среда разработки, которая включает словарь данных, инструменты моделирования данных, редакторы программ, средства создания экранов и меню, инструменты для тестирования и ликвидации сбоев, а также средства навигации между всеми этими объектами.
• Это открытый и доступный язык, благодаря интерфейсам программирования, предусмотренных в системах SAP.
• Этот язык обеспечивает возможность моделирования посредством стандартных программ и операций, которые можно использовать повторно, а также модулей функций, которые содержатся в централизованной библиотеке.
• Этот язык обеспечивает обширные функции манипуляции данными — такими, как даты, строки, плавающие десятичные запятые и т. д.
• Этот язык поддерживает многоязычность текстовых элементов, в том числе ярлыков, сообщений и т. д.
• Этот язык содержит ряд стандартных запросов SQL для прозрачности доступа к любым стандартным базам данных — таким, как Oracle, DB2, Informix и т. д.
АРМ Разработчика АВАР/4 — это полноценная среда для создания полномасштабных приложений «клиент-сервер». Она поддерживает полный жизненный цикл разработки программного обеспечения (SDLC) — определение данных, дизайн пользовательского интерфейса, внутреннее устройство, составление отчетов, тестирование и устранение сбоев, а также документирование и управление программированием по принципу «проект в ходе разработки» (work-in-process, WIP). В этой среде предусмотрена совершенная среда управления мета-данными, которая называется «словарь данных АВАР/4», а также библиотека функций многоразового использования. Программы, разработанные на АВАР/4 могут работать без дополнительных настроек на любой операционной системе, с любым графическим интерфейсом пользователя, системой управления базами данных, сетевыми интерфейсами и т. д., причем работать как в централизованной, так и в децентрализованной среде «клиент-сервер».
Язык АВАР — это уже не просто язык четвертого поколения, особенно после внедрения Объектов АВАР; он обладает многими характеристиками объектно-ориентированной среды. Компания SAP уже поставляет браузер для просмотра объектов и библиотеку классов, которые мы рассмотрим ниже. В следующем разделе мы познакомимся с концепцией объектной ориентации и ролью этой концепции для будущего использования приложений. Затем мы рассмотрим различные компоненты интегрированного АРМ Разработчика АВАР/4 и различные аспекты программирования на АВАР.
Объектная ориентация
Перед исследованием ориентированности системы SAP R/3 на процессы необходимо кратко осветить смысл такой ориентации. Объектно-ориентированная парадигма основывается на новом взгляде на традиционное противопоставление данных и вычислительных процедур.
Парадигма ориентации на объекты
Парадигма — это совокупность технологий, инструментов, определений и моделей мышления или идеальных вариантов, которые составляют определенное мировоззрение. Для 60-х годов был характерен «алгоритмический подход», когда акцент делался на разработку и внедрение правильных и эффективных алгоритмов для улучшения характеристик числовых вычислений в условиях ограниченных емкостей компьютерной памяти и носителей информации. В дальнейшем такие сопутствующие проблемы программирования, как запись, отладка, модификация и т. д. привели к развитию «процедурного подхода», при котором алгоритмы компоновались в подпрограммы или процедуры и работали независимо от использовавших их программ. Постепенно это привело к появлению «структурного подхода», к функциональной парадигме. В рамках функциональной парадигмы акцент делается на различные функции и подфункции, которые должна выполнять система, а также на способы исполнения этих функций. Подход, ориентированный на объекты, продолжает эту тенденцию и распространяет ее не только на операции (такие, как подпрограммы и процедуры), но и на данные.
Основных компонентов объектно-ориентированной парадигмы всего четыре: объект, класс, сообщение и метод, что соотносится с записью, типом записи, процедурой и вызовом процедуры в традиционных системах. Набор методов иногда называют интерфейсом. Интерфейсы приложений SAP (BAPI) — хороший пример таких интерфейсов (см. раздел «Интерфейс программирования бизнес-приложений» в главе 19).
Объект — это предмет, который существует и обладает идентификацией (т. е. он записан в памяти, и к нему можно обратиться). Объект состоит из данных, ассоциированных со всеми операциями, которые с ним можно проводить. Операции называются методами, а коммуникация с объектом, которая запускает какой-либо метод — сообщение. Совокупность таких сообщений составляет внешний интерфейс объекта; к объекту можно обратиться или внести в него изменения только через заданный протокол сообщений.
Так как между методами различных объектов есть много общего, объекты с одинаковой внутренней структурой и одинаковыми методами группируются в класс, который называется Определяющий класс объекта (Class Defining Object, CDO), в рамках которого объекты называются экземплярами этого класса. Класс может содержать в себе экземпляры других классов; однако каждый экземпляр принадлежит только одному CDO, и ассоциирован только с ним. Таким образом, вычисления производятся путем обращения к объекту с помощью сообщения; объект унаследует метод своего CDO. Этот метод, в свою очередь, может обратиться к другим объектам и т. д. Цепочка может прерваться, когда вызывается простейший объект, который изменяет переменную величину экземпляра или затрагивает внешние устройства — такие, как принтер, жесткий диск и т. д. Например, автомобили с бензиновым или дизельным двигателем можно рассматривать как случаи (подклассы) объекта «четырехколесное транспортное средство», который в свою очередь является подклассом в классе автомобилей.
Унаследование и инкапсуляция
Класс — это шаблон, с помощью которого можно быстро генерировать новые объекты. Это логически объясняет многие важные характеристики ориентированной на объекты среды — такие, как унаследование и инкапсуляция. На рис. 8.1 представлены подклассы и классы случаев Определяющего класс объекта (CDO) под названием «Автомобиль».
В примере с автомобилями, унаследование можно понимать как некие стандартные характеристики и компоненты — такие, как топливо, бензобак, колеса, коробка передач, двигатель и т. д., которые считаются составными частями автомобилей с бензиновым или дизельным двигателем. Эти свойства унаследованы от класса «четырехколесное транспортное средство», который в свою очередь унаследовал их от класса «Автомобиль». Нетрудно представить себе прослеживание явления объектификации в любом порядке — например, от движущихся объектов до деталей двигателя внутреннего сгорания через Список материалов (ВОМ). Фактически, ВОМ — тоже полноценный объект! Общий результат — это иерархия, или лестница с классами и объектами на каждом уровне. Примерно по такому же принципу организована классификация животных в биологии.
Рис. 8.1. Подклассы и классы случаев Определяющего класс объекта (CDO) под названием «Автомобиль».
Вторая важная характеристика инкапсуляции относится к прозрачности каждого объекта в рамках такой иерархии. То есть, каждый объект X просто выполняет свои функции, а вопросы о принципе его работы и составляющих его объектах не имеют никакого значения. Если ответ на эти вопросы все-таки необходим, надо просто отследить цепочку унаследования, т. е. переместиться вверх или вниз по ступеням иерархии объектов.
Преимущества объектной ориентации
Постепенно концепция ориентации на объекты развивалась, и теперь она охватывает деятельность по планированию, анализу и проектированию не только информационных систем, но также моделирование и инжиниринг всего предприятия. Использование объектной модели приводит к созданию систем, построенных на стабильных промежуточных звеньях, что увеличивает их гибкость и расширяет возможности внесения изменений. Если ориентированные на объекты методологии тщательно разработаны, они позволяют осуществить гладкий, беспрепятственный переход между различными стадиями жизненного цикла разработки программного обеспечения — такими, как определение требований, подробная спецификация, подробный дизайн и генерация кодов. Это также подразумевает, что со временем система сможет развиваться, эволюционировать, а не отправляться на свалку или подвергаться полной перестройке при первом же кардинальном изменении требований к системе.
Следовательно, основные преимущества парадигмы ориентации на объекты таковы: значительное расширение возможностей повторного использования компонентов программного обеспечения, методология развития, которая подразумевает быстрое прототипирование и перепроектирование, облегчение поддержки и универсальности готовых приложений. Ориентированный на объекты подход я бы даже назвал новой, переработанной версией традиционного процесса инжиниринга программного обеспечения!
Объектная ориентация и SAP
Таким образом, мы закончили знакомство с объектной ориентацией, которое необходимо для понимания ориентированной на объекты среды. Хотя существует еще несколько довольно сложных сопутствующих тем для обсуждения — таких, как комбинированные объекты, многократное унаследование, полиморфизм, параллелизм, стабильность и т. д., нам достаточно понять общую ценность объектной ориентации, свойственной среде SAP.
Сама по себе система SAP R/3 не является объектно-ориентированной средой, но этот подход в большой степени повлиял на архитектуру и разработку SAP.
Основная структура SAP, которая включает в себя словарь АВАР/4, управляемое событиями программирование, ЕРС (управляемая событиями последовательность процессов) уже использует различные аспекты этой концепции и возможно в будущем будет переработана в полноценную объектно-ориентированную среду. С появлением SAP 3.0 был представлен рабочий процесс SAPWorkflow, который полностью основывается на объектно-ориентированной архитектуре бизнес-объектов, методов, событий, подклассов и т. д. В версии SAP R/3 4.0 Объекты АВАР — это полноценное распространение объектов на АВАР, которое полностью подготовлено для использования и программирования SAP в сети Интернет. Впрочем, для полной реализации потенциала объектной ориентации базовая архитектура SAP должна была бы внедряться объектно-ориентированным способом. Кроме того, все функциональные модули SAP должны были бы в этой среде разрабатываться, поддерживаться, документироваться и т. д. Преимущества такого подхода будут обсуждаться на протяжении данной главы.
АРМ Разработчика АВАР/4
Все объекты АРМ Разработчика необходимо генерировать, прежде чем они активизируются в работающей системе.
Все объекты АРМ Разработчика АВАР/4 — такие, как модели данных и процессов, словарь АВАР/4, отчеты, динамические программы, библиотеки функциональных процессов, объекты авторизации и прочие записаны в хранилище АВАР/4.
Система Хранилища информации полностью интегрирована с АРМ Разработчика. Эта система обеспечивает поиск и сортировку различных объектов по тем или иным критериям, а также предоставляет список пунктов — где указанный объект может использоваться. По умолчанию хранилище показывает различные объекты, заданные в системе SAP в иерархическом порядке.
Как видно из названия, иерархия приложений содержит полную структуру стандартных приложений SAP. Для версий, в которые клиентом были внесены определенные настройки, SAP поддерживает иерархию приложений пользователя в сочетали с классом разработки, присвоенным каждому элементу в этой иерархии.
На рис. 8.2 представлен стартовый экран АРМ Разработчика АВАР/4.
Рис. 8.2. Стартовое окно АРМ Разработчика АВАР/4.
Словарь АВАР/4
Словарь АВАР/4 — это логическое представление данных, записанных в стандартных физических базах данных, таких, как Oracle, DB2, Informix и т. д. На рис. 8.3 представлен начальный экран словаря.
Рис. 8.3. Начальный экран словаря АВАР/4.
Словарь содержит мета-данные о данных, записанных в таблицах приложений базы данных. Описание мета-данных в словаре имеет два уровня: синтаксический (технический) и семантический (смысловой). Первый уровень относится к объекту «домен», второй — к объекту «элемент данных».
Таблицы, структуры и комбинированные объекты задаются как объекты «элемент данных», которые в свою очередь моделируются на объектах «домен». Эта систематическая иерархия домена, элемента данных, поля и структуры позволяет многократно использовать их на всех уровнях, что делает систему чрезвычайно гибкой и облегчает поддержку системы. Например, увеличение размера количественного домена CDO моментально распространяется на все элементы данных и поля, и, следовательно, таблицы, структуры, а, в конечном счете, на таблицы базы данных.
Благодаря интерпретативной природе среды программ и словаря АВАР/4, любые изменения в словаре АВАР/4 сразу распространяются на все соответствующие программы приложений.
Домен
Домены определяют технические атрибуты — такие, как тип данных, длина, диапазон значений, характеристики просмотра и т. д. Домены аналогичны упомянутым выше определяющим класс объектам (CDO); в общем смысле они относятся к указанным пользователем типам данных. Информация доменов, записанная в словаре, включает в себя краткий текст, формат данных по типу и размеру, название таблицы значений, значок результата и длину результата.
Элемент данных
Семантически «поле» определяется как элемент данных в сочетании с ассоциированными свойствами. Такие свойства могут включать в себя ключевые слова, заголовки, описательные тексты и т. д. В системе R/3 поле всегда ассоциировано с элементом данных, который в свою очередь определяется синтаксически, как домен. Поле действительно относится к типам данных на уровне приложений. Записанная в данных информация об элементе данных включает в себя название, краткий текст, имя домена, а также короткие, средние или длинные ярлыки поля.
Таблица и структура
Все таблицы содержат поля. Атрибуты индивидуальных полей описываются как элементы данных и соответствующие домены. На рис. 8.4 представлен образец экрана со структурой таблицы для Material Document Header.
Для таблиц задаются таблицы индексов, которые призваны уменьшить время доступа при операциях с таблицами. Все таблицы, индексы баз данных, виды и т. д. могут быть созданы в словаре, без знания специфики основной базы данных.
Структуры похожи на таблицы, только не содержат данных. Они относятся к последовательности полей в словаре. Структурные объекты могут использоваться для определения данных в интерфейсах при работе в группе модулей и экранов. Структуры существуют только в словаре, в основных базах данных их нет.
Рис. 8.4. Образец структуры таблицы.
Более того, структуры могут включаться в определения таблиц. Такие подструктуры аналогичны оператору COPY в языке COBOL и оператору INCLUDE в языках С и Pascal. Если в эти подструктуры вносятся какие-либо изменения, все таблицы и структуры, содержащие измененную подструктуру будут обновлены автоматически.
С другой стороны, к стандартным определениям таблиц и самим таблицам можно прилагать дополнительные структуры, которые не меняют оригинальное определение таблицы. Эти прилагаемые структуры можно использовать для расширения таблицы или разработки индивидуальных изменений и настроек системы SAP. Любые будущие обновления и модернизация системы SAP никак не затронут эти индивидуально разработанные дополнительные структуры.
Комбинированные объекты
Ракурсы — это виртуальные таблицы, сформированные совместным просмотром нескольких таблиц; они используются для установления связи между информацией, содержащейся в различных таблицах, или для ограничения просмотра только избранных полей.
Объекты сравнения кодов (Matchcode objects) используются для поиска записей в таблице на основе лишь одного из составляющих ее объектов. Это комбинированные объекты, которые выступают в роли специального инструмента для поиска записей в таблицах. Объекты сравнения кодов состоят из двух компонентов. Первый компонент называется «ID сравнения кодов» (matchcode ID), он контролирует саму процедуру поиска. Один или несколько таких ID составляют объект сравнения кодов, определяющий поля таблицы, в которых будет вестись поиск, а также разрешенные для поиска поля базы данных. Когда применяется сравнение кодов (оно просто упоминается в атрибутах соответствующего поля таблицы), появляется экран ID сравнения кодов с полями ввода, в которых пользователь может указать условия поиска. Необходимо заметить, что в версии 4.0 сравнение кодов заменено на «помощь в поиске».
Блокировка объектов используются для поддержания интегрированности объекта и предотвращения внесения противоречивых, несогласованных изменений, они блокируют и синхронизируют доступ к таблицам баз данных. Блокированные объекты поддерживаются независимо от каких-либо приложений. Для каждой команды меню система использует блокировку объектов, определяя два функциональных модуля, которые будут осуществлять все операции по блокированию и разблокированию каждой таблицы или набора данных.
В системе SAP авторизация отличается от скрытых проверок прав доступа в сетях и операционных системах, которые обычно сверяют авторизацию только для прав доступа к файлам, используя при этом стандартные привилегии доступа — такие, как чтение, запись и удаление. В противоположность этому, система авторизации SAP предусматривает защиту других объектов — таких, как программы, отчеты и т. д. Система SAP рассматривает авторизацию как совокупность объектов, которые создаются или обновляются независимо от тех объектов, которые они защищают.
Авторизация — это сложный объект, содержащий несколько полей авторизации (но не более 10). Фактически, авторизации — это группы экземпляров объектов авторизации, такие же, как упоминавшиеся выше CDO. Объекты авторизации группируются в классы авторизации. Логически связанные авторизации группируются в профили и комбинированные профили, предназначенные для разных областей приложений и задач. Все необходимые пользователю профили авторизации должны вводиться в основной записи пользователя. После присвоения профилей, комбинированных профилей и авторизации пользователь получает действительные поля авторизации со значениями. Эти и другие моменты, связанные с авторизацией, обсуждаются в разделе «Администрирование пользователей» в главе 11.
Браузер данных
Браузер данных позволяет осуществлять навигацию и просмотр таблиц словаря АВАР/4. В окне браузера представлено содержание таблиц в сочетании с ключевыми полями, также есть возможность просмотреть ключевые внешние отношения. Предусмотрена возможность ввода данных непосредственно в словаре, в случае, если в определенной таблице помечена опция «Maintenance Allowed» (обслуживание разрешено).
Браузер объектов
Это главный инструмент навигации, предусмотренный в АРМ Разработчика АВАР/4. Браузер объектов группирует объекты в соответствии с классами разработки. На рис. 8.5 представлен начальный экран браузера объектов.
Рис. 8.5. Браузер объектов.
Редактор программ
Редактор программ АВАР/4 позволяет пользователю редактировать программы, проверять синтаксис, устанавливать справку он-лайн и т. д. На рис. 8.6 представлен начальный экран редактора программ, на рис. 8.7 показан исходный код образца программы.
Примечание: внутритекстовое кодирование написано на немецком языке.
Рис. 8.6. Редактор ABAP/4
Рис. 8.7. Пример исходного кода в редакторе.
С помощью редактора можно изменять исходные коды различных объектов разработки, в том числе:
• Исходные коды программ АВАР/4 для отчетов, интерактивных отчетов, групп модулей и т. д.
• Коды для редактора экранов
• Логические базы данных
• Функциональные модули
• Текстовые элементы, обновление документации.
Так как редактор программ — это инструмент АРМ Разработчика, он позволяет указывать атрибуты для программ АВАР/4.
Редактор экранов
На рис 8.8 представлен начальный экран редактора экранов.
Редактор экранов позволяет определять дизайн экранов, а также последовательность динамических программ. Дополнительная контрольная информация включает в себя использованный язык, количество последовательных динамических программ и т. д. Экран интерпретируется не только интерпретатором АВАР/4, но и отдельным интерпретатором динамических программ (DYNPRO). Необходимо заметить, что DYNPRO — это полноценная среда четвертого поколения, которая позволяет быстро разрабатывать прототипы и затем задавать последовательность их исполнения.
Редактор экранов определяет следующие характеристики:
• Программные атрибуты экрана, в том числе номер экрана, тип экрана (нормальный, дополнительный, диалоговый) и т. д.
Рис. 8.8. Редактор экранов.
• Внешний вид экрана, в том числе расположение полей, ярлыки, кнопки прокрутки, значки, галочки и групповые элементы
• Поля, в том числе поля баз данных, перекрестные подтверждения и т. д.
• Логическую последовательность.
Для создания дизайна экрана в редакторе предусмотрены как графический, так и буквенно-цифровой варианты редактора. На рис. 8.9 представлен образец экрана.
В графическом варианте редактора ярлыки полей, их положение и т. д. можно менять прямо на экране, причем весь текст экрана может быть представлен графическими значками. В буквенно-цифровом варианте редактора дизайн можно осуществлять только с помощью возможностей меню редактора.
Рис. 8.9. Примерный экран в редакторе экранов.
Редактор меню
Редактор меню — это инструмент АРМ Разработчика АВАР/4 для создания пользовательских интерфейсов или, точнее, интерфейсов представления (см. рис. 8.10).
Рис. 8.10. Редактор меню.
Необходимо отметить, что это — не обычные пользовательские экраны и меню, а только стандартные схемы пользовательского интерфейса, которые используются как шаблоны для всех экранов SAP. Они не имеют отношения к экранам, созданным с помощью редактора экранов. Однако, их можно ассоциировать с помощью объекта меню «статус GUI» (GUI status), который объединяет строку меню, стандартную панель инструментов, панель приложений и функциональные клавиши, используемые в интерфейсах представления.
Как уже упоминалось в разделе «История SAP» в главе 4, системы SAP соответствуют стандарту единого пользовательского доступа (Common User Access, CUA), заданному в рамках системной архитектуры прикладных программ (SAA) компании IBM. Системы SAP используют такие графические интерфейсы пользователя, как MS Windows или Motif в качестве внешней операционной системы или интерфейса представления. Интерфейс представления обеспечивает фактическое изображение окна, а также нескольких элементов управления; использование системы SAP весьма незначительно влияет на этот интерфейс. Объединение системы SAP с элементами управления устанавливается через прямое соответствие между ними.
Панель инструментов позволяет осуществлять связь с Базисом R/3. Нажатие значков запускает функциональные коды, которые контролируют работу приложения АВАР/4, и значки активируются или деактивируются приложением АВАР/4. Функциональные коды либо выполняются системой, либо передаются приложению АВАР/4 для дальнейшей обработки.
Поле команд всегда готово к вводу команды, исполняемой Базисом SAP. Это может быть вызов транзакции (см. «Транзакции SAP»), прекращение работы текущей программы, создание новой сессии и т. д. В строке статуса внизу экрана выводится информация о программе, в том числе системная информация R/3, сообщения, предупреждения о сбоях (на которых можно щелкнуть дважды, чтобы получить подробную информацию) и т. д. Панель инструментов, строку статусов и элементы управления внешней операционной системы невозможно отредактировать напрямую.
Элементы управления, предусмотренные во внешней операционной системе, в основном используются для перемещения окна или самого экрана. Диалоговая программа состоит из нескольких вариантов пользовательских интерфейсов, которые называются «статусы». Статус определяется следующими поддающимися редактированию элементами:
• Меню
• Идентификации кнопок
• Присвоения функциональных клавиш
• Строка заголовка.
На рис 8.11 представлен образец экрана статуса.
Рис. 8.11. Окно статуса.
Главное меню может состоять из нескольких уровней (но не более трех); уровень может включать в себя до 15 пунктов. С помощью редактора меню каждый пункт меню можно ассоциировать с кодом транзакции SAP. Важные функциональные коды для быстрого запуска присваиваются функциональным клавишам; это исключает необходимость поиска требуемой функции в пунктах меню. Похожим образом функциональные коды можно присвоить кнопкам, расположенным под панелью инструментов. Еще раз необходимо отметить, что эти кнопки не идентичны кнопкам, созданным в редакторе экранов, их можно задать только в редакторе меню и затем ассоциировать с транзакциями SAP (то есть, программами АВАР/4), но они не являются частью приложений АВАР/4.
Это разделение пользовательского интерфейса и доступа — то есть интерфейса презентаций и самой системы SAP — оказалось очень благотворным, потому что позволяет системе SAP использовать новейшие Интернет-браузеры в качестве окон доступа в систему без необходимости значительных изменений архитектуры приложений. Фактически, SAP приняла на вооружение стратегию замены таких внешних операционных систем, как Microsoft Windows на браузер Microsoft Explorer. И это не просто смена интерфейса представления. Система, которая поддерживает Интернет-браузеры, позволила SAP освоить новый спектр услуг на быстро развивающемся рынке услуг в Интернете (см. раздел «MySAP.com» в главе 4).
Area Menus
В отличие от обычных меню, Area menus не относятся к конкретной транзакции SAP. Area menus — это транзакции, вызывающие другие транзакции, и в этом смысле они ближе к меню, которые использовались в традиционных информационных системах.
Библиотека функций
Библиотека функций, также называемая «Конструктор функций» (Function Builder) — это инструмент для обновления и тестирования функциональных модулей, который можно использовать, находясь в любой программе. На рис. 8.12 представлен начальный экран Библиотеки функций АВАР/4.
Рис. 8.12. Библиотека функций ABAP/4.
Анализ тестирования и характеристик работы
В этом разделе мы рассмотрим некоторые из инструментов АРМ Разработчика, предназначенные для анализа тестирования и характеристик работы.
Отладчик АВАР/4
АВАР/4 Debugger — это инструмент, предназначенный для тестирования программ АВАР/4. В нем предусмотрены средства для определения точек останова, а также для пошагового выполнения программ. Каждый раз, когда программа останавливается во время отладочной сессии, система предлагает просмотреть или изменить содержание таблиц и полей. Точки останова могут быть статическими, динамическими или контрольными и зависят от ключевого слова или события.
Отладчик может работать в различных режимах просмотра, в зависимости от типа относящейся к программе информации, которая отображается при том или ином режиме. По умолчанию используется режим V, при котором показывается содержание всех полей. Список режимов приведен ниже:
• V-режим — показывает содержание полей
• Т-режимы — показывает содержание внутренних таблиц
• F-режим — показывает подробную информацию по конкретному полю, в том числе содержание, если этому полю присваивается значение
• О-режим — показывает обзор текущей программы с указанием модулей, событий и стандартных подпрограмм
• S-режим — показывает последовательность вызовов различных стандартных подпрограмм, функций и событий
• Р-режим — показывает все программы, которые требуются для выполнения текущей программы.
В версии 4.0 режимы еще существуют, но без некоторых вышеуказанных (V, Т и др.).
Инструмент автоматического тестирования
Computer-Aided Test Tool (САТТ) позволяет осуществлять автоматическое тестирование бизнес-процессов. В этом инструменте предусмотрены средства для описания и автоматизации тестирования бизнес-процессов — например, посредством симуляции диалогов ввода данных на экране. Так как тестирование осуществляется автоматически, его можно повторять при каждом необходимом случае; кроме того, имеется возможность записи результатов тестирования и сообщений в журнал.
Анализ рабочего цикла
Анализ рабочего цикла (Runtime Analysis) предназначен для помощи при диагностике проблем в характеристиках работы программ или транзакций АВАР/4. Этот инструмент предоставляет следующую информацию:
• Выполненные инструкции
• Хронологическая последовательность выполненных инструкций
• Использованные таблицы и тип доступа
• Время выполнения.
SQL-трассировка
SQL Trace позволяет осуществлять анализ и просмотр вызовов баз данных, созданных отчетами и транзакциями написанными на АВАР/4. Этот инструмент весьма полезен при анализе характеристик работы, особенно для пакетных программ.
Панель управления АРМ Разработчика
Панель управления АРМ Разработчика представляет собой среду и инструменты для разработок на языке АВАР (см. раздел «Панель управления и транспортная система» в главе 7).
Программирование на АВАР/4
Язык АВАР/4 — это полноценный язык программирования четвертого поколения, который зародился как язык для отчетности. Как и в случае с любым традиционным языком программирования, свойства и возможности АВАР/4 можно описать, разделив следующим образом:
• Операторы определения данных — описывают данные, которые обрабатывает программа АВАР/4 — например, DATA, TYPES, TABLES.
• Операторы запроса данных — указывают атрибуты записи данных, которые необходимо получить и обработать — например, SELECT.
• Операторы манипуляций с данными — выполняют стандартные операции сданными, например ADD, SUBTRACT, MOVE, COMPUTE.
• Операторы контроля данных — подают сигнал структурам контроля (таким, как цикл, решение, стандартные подпрограммы и т. д.) — например DO, WHILE, IF, CASE, PERFORM.
• Операторы событий с данными — запускают выполнение некоторых стандартных подпрограмм в зависимости от наступления определенных событий — например Pfnn, GET/SET, END-OF-PAGE, AT USER-COMMAND, AT LINE-SELECTION.
Типы данных и операции
Язык АВАР/4 поддерживает почти все стандартные типы данных. На основе этих базовых типов данных АВАР/4 позволяет разрабатывать более сложные структуры или типы данных. Именно в этой области ярко проявляется влияние таких языков программирования, как COBOL.
Кроме того, АВАР/4 содержит все стандартные элементы языка программирования для манипуляций с данными — присвоение, сравнение, вычисление, сложное вычисление с участием различных типов данных и т. д. Помимо этого, в АВАР/4 предусмотрен широкий спектр функций для обработки текстовых данных, в том числе присвоение, округление, добавление пробелов, поиск конкретной строки, сравнение строк, конкатенация строк и т. д., а также различные операции для вычисления данных — подсчет периодов времени в днях, назначение будущих дат, сравнение дат и т. д.
Обработка таблиц данных
Язык АВАР/4 предусматривает возможность доступа к таблицам данных в словаре АВАР/4 с помощью SAP OpenSQL, а также, через SQL к любой стандартной базе данных: Oracle, DB2, Informix и т. д. Для обеспечения независимости системы R/3 от лежащей в основе базы данных, OpenSQL внедряет только необходимый минимум команд и возможностей SQL. Операция соединения отношений, хотя и недоступна в рамках OpenSQL, может использоваться с помощью команд, заданных в словаре АВАР/4.
Внутренние таблицы
Это временные таблицы, которые существуют только в период работы той или иной программы АВАР/4. В языке АВАР/4 предусмотрены различные операции для обработки внутренних таблиц — такие, как сортировка, поиск, последовательный доступ и т. д.
Когда необходимо произвести примерно одинаковую обработку набора записей из таблиц базы данных, определение внутренних таблиц помогает сделать работу программы более эффективной посредством использования таких контрольных операторов, как CASE, цикл типа «DO» и т. д.
Транзакции SAP
Транзакция SAP похожа на программу, написанную на одном из стандартных языков программирования, она имеет индивидуальный 4-х значный код транзакции. Транзакция может быть запущена напрямую, через командную строку в интерфейсе представления или с помощью соответствующего пункта меню. Существует два типа транзакций: отчетные и диалоговые.
Отчетные транзакции
Отчетные транзакции — это программы SAP, которые осуществляют сбор параметров в экране выбора, на выходе получаются так называемые списки (lists).
Диалоговые транзакции
Диалоговые программы состоят из двух и более интерактивных экранов, называемых dynpro. Для запуска этим транзакциям тоже иногда требуется заранее выбранная информация; это схоже с экранами отбора информации в программах отчетности, такие транзакции называются транзакциями параметров.
Стандартные подпрограммы
Как и любой другой язык программирования, АВАР/4 поддерживает стандартные подпрограммы для обеспечения модуляризации программ. Это расширяет возможности повторного использования подпрограмм и ведет к улучшению производительности и качества работы системы, а также к облегчению ее поддержания и документирования. В АВАР/4 предусмотрена возможность задания стандартных подпрограмм с помощью элемента FORM, и вызывать их из внутренних или внешних программ с помощью оператора PERFORM.
Другие характеристики стандартных подпрограмм:
• Параметры любого типа могут передаваться стандартным подпрограммам
• Вызовы могут генерироваться динамично во время обработки
• Вызовы могут быть повторными, вкладываться друг в друга и т. д.
Функции
Функции — это особый вид стандартных подпрограмм; они крайне важны для модуляризации программ и приложений АВАР/4. Модули функций хранятся в централизованной библиотеке, откуда их может затребовать любая программа АВАР/4. Модули функций — это инкапсулированные объекты, они обладают ясно заданными интерфейсами с такими параметрами, как импорт, экспорт и параметры таблиц. Модули функций располагают средствами для программирования решения исключительных ситуаций, которые случаются во время обработки этих функций.
Отчетность
Отчеты обращаются к одной или нескольким таблицам и показывают их содержимое в форме списка, который доступен для просмотра либо на экране, либо в напечатанном виде. Программы отчетности весьма схожи с аналогичными программами в других языках программирования — таких, как COBOL.
Логические базы данных
Для получения данных для отчетов, программы отчетности должны обратиться к нескольким логически взаимосвязанным таблицам. Следовательно, программе отчетности каждый раз приходится устанавливать контакт с каждой из таблиц. Так как многие отчеты обращаются к одним и тем же таблицам, возможно объединение различных по природе отчетов. В SAP предусмотрена особая программа, которая называется логическая база данных. Она считывает данные из нескольких баз данных и компонует их, чтобы к этим данным могли обращаться несколько отчетов одновременно. В таком случае каждому отчету для анализа и демонстрации данных приходится считывать данные только из одного источника. Это увеличивает эффективность работы программ, легкость их обслуживания и т. д.
Экраны выбора
Экраны выбора представляются перед выполнением отчета, они выступают как фильтры, ограничивающие количество записей, включенных в отчет для анализа. Экран выбора — это автоматически генерируемый для каждого отчета экран. Экраны выбора могут собирать либо параметры, либо диапазоны значений для того или иного поля в таблице.
Интерактивная отчетность
Интерактивная обработка подразумевает предоставление исходных данных или дополнительную обработку списков в отчетах в то время, когда эти отчеты выведены на экране. Во время просмотра отчета дополнительная обработка, транзакции или отчеты могут быть запущены с помощью функциональных клавиш. Запуск дополнительных отчетов относится к углубленной отчетности, упомянутой в соответствующем разделе главы 4.
Программирование диалогов
Программирование диалогов имеет отношение к разработке интерактивных приложений в SAP. Программирование диалогов основывается на концепции динамической программы (dynpro), которая состоит из экрана ввода и соответствующего кода обработки. Диалоговая программа состоит из одной или нескольких динамических программ. Элементы диалоговой программы:
• Один или несколько интерфейсов представления
• Один или несколько экранов динамических программ
• Логика исполнения.
Динамическая программа управляет только элементами ввода и их поведением на экране. Как уже упоминалось в разделе «Редактор меню», такие средства управления, как меню и кнопки управляются интерфейсом представления.
Диалоговая программа называется банком модулей, потому что содержит собрание осуществляющих обработку модулей. На рис 8.13 представлен список модулей истории заказов на закупку.
Именно в этой области особенно ясно видна динамичная философия системы SAP и ее объектно-ориентированный подход. Диалоговая программа не является программой как таковой и не использует принцип последовательной обработки. Вся обработка зависит от событий, возникающих в результате взаимодействия пользователя с интерфейсом системы.
Когда диалоговая программа активируется, вызываются не модули, а экраны динамических программ. Именно экраны динамических программ осуществляют необходимую функциональность посредством выполнения отдельных модулей из банка модулей.
Рис. 8.13. Банк модулей.
Динамические программы
Динамические программы состоят из следующих компонентов:
• Экран с такими атрибутами полей, как форматы, характеристики вывода на монитор, подтверждения и т. д.
• Логика выполнения, указывающая модули для обработки.
Диалоговая программа начинает работу с той динамической программы, которая идентифицирована как начальная. Каждый экран динамической программы содержит номер следующей динамической программы, которая вызывается после окончания предыдущей. Эта цепочка прерывается после завершения работы динамической программы, в которой 0 (ноль) указан как номер следующей программы. Это стандартный, статичный способ вызова динамической программы. Вызов динамических программ также возможен посредством команд SET SCREEN и CALL SCREEN в логике выполнения.
Логика выполнения
Flow Logic вызывает модули из банка модулей при наступлении заданного события. Различные модули классифицируются согласно следующим событиям:
PROCESS BEFORE OUTPUT PBO
PROCESS AFTER INPUT PAI
Модули, ассоциированные с первым событием, отвечают за такие пункты, как инициализация, значения по умолчанию и т. д. Вторая группа модулей осуществляет обработку после того, как пользователь заканчивает ввод данных, эти модули отвечают за подтверждение и обработку данных, обновление баз данных и т. д. Могут использоваться еще две группы модулей:
PROCESS ON VALUE-REQUEST POV
PROCESS ON HELP-REQUEST POH
АВАР/4 Запрос
Конечные пользователи могут создавать простые отчеты с помощью АВАР/4 Query. С помощью удобного интерфейса пользователь может указать область или предмет, который его интересует, а также соответствующие таблицы, желаемые поля и оформление списка. Система автоматически сгенерирует экран выбора (который весьма похож на программирование отчетности) и предложит ввести исходные данные.
После этого отчет будет составлен автоматически, причем дополнительно его можно записать в файловое запоминающее устройство, таблицу Microsoft Excel или файл другого типа.
SAPscripts
Программа SAPscript — это текстовый редактор SAP. Обычно текст, получаемый в результате работы программ АВАР, не имеет характеристик размера или шрифта. Программы SAPscripts позволяют SAP распечатывать профессионально оформленные отчеты, а также способны решить проблему многоязычности отчетов. Программы SAPscripts определяют вид текста, а также другие особенности формата — параграфы, элементы текста и т. д. Используя модули функций SAPscript, можно вызвать шаблоны оформления из программ АВАР; подобным же образом можно вызвать стандартные подпрограммы АВАР, находясь в шаблонах оформления.
Интерфейсы и передача пакетов данных
Перед запуском системы в нее необходимо загрузить огромные объемы данных. В системе R/3 4.0 для этого предусмотрена утилита, которая называется «Инструментальные средства для миграции прежней системы» (Legacy System Migration Workbench, LSMW). Принцип действия этой утилиты основан на отображении структуры исходных данных в структуре данных R/3. Впрочем, в более ранних системах было три метода достижения этой цели:
• Пакетный ввод: Этот подход использовался для импорта значительных объемов данных из последовательных файлов в таблицы R/3. Программа пакетного ввода считывает данные и отображает их в сессии пакетного ввода, которая симулирует ввод данных в диалоговом режиме на соответствующих экранах кодов транзакций. Различные значения считываются из записей последовательного файла и присваиваются установленным полям экрана, в соответствии со структурой сессии пакетного ввода. Это усиливает интеграцию данных так же эффективно, как и в случае экранного ввода, потому что соответствующие динамические программы выполняют все сверки данных. В SAP предусмотрена библиотека стандартных программ пакетного ввода. Пакетный ввод также позволяет использовать автоматическую регистрацию данных в журнале событий.
Прямой ввод: Этот подход пропускает стадию симуляции экранного ввода; предпочтение отдается прямому вводу и проверке достоверности данных, что ведет к ускорению процесса. В системе SAP предусмотрена библиотека стандартных модулей функций для загрузки данных, которые обычно требуются большинству пользователей — например, основные данные по материалам или заказы на покупку. Этот подход имеет недостаток — он не обеспечивает автоматической записи в журнале; в результате при сбое или прерывании загрузки может возникнуть необходимость начинать весь процесс заново.
Быстрый ввод: Этот подход является равномерно-ускоренным, потому что данные, которые необходимо загрузить, сначала импортируются во внутренние таблицы со структурами, соответствующими структурам транзакции назначения. Затем данные передаются из внутренних таблиц в R/3 с помощью команды CALL TRANSACTION языка АВАР.
Будущее АВАР/4 как универсального языка программирования
Программы, созданные на языке АВАР/4 и в связанных с ним средах разработки, таких, как АРМ Разработчика АВАР/4, Панель управления АРМ Разработчика и Базиса R/3, приспособлены для работы с любой операционной системой, графическим интерфейсом пользователя, системой управления базами данных, сетевыми интерфейсами и т. д., причем как в централизованной, так и в децентрализованной среде «клиент-сервер».
Эта универсальность в сочетании с гибкостью изменений структур данных, которую обеспечивает такая объектно-ориентированная функция, как словарь АВАР/4, создает очень мощную среду разработки программного обеспечения.
Хотя язык АВАР/4 в основном создавался для систем SAP, он обладает огромным потенциалом как среда разработки программного обеспечения самого широкого назначения. Программисты, привыкшие работать с языком COBOL, не испытывали бы никаких трудностей с АВАР/4. В наше время, когда программирование становится объектно-ориентированным и стремительно развивается Интернет, когда компьютерный мир испытывает перевороты, для старых добрых программистов на языке COBOL еще есть надежда!
ГЛАВА 9
Модули приложений SAP R/3
В этой главе представлены различные бизнес-функциональности системы SAP R/3. Учитывая, что SAP удовлетворяет требования всех функциональных подразделений компаний, работающих в различных отраслях, сложность и масштаб системы не вызывают удивления. Осуществить обзор такой интегрированной системы, как SAP — непростая задача, однако я постарался осветить основные функциональности, доступные в базовых модулях приложений SAP.
Финансы и Контроллинг (FI–CO)
В этом разделе речь пойдет о модуле Финансы и Контроллинг (Finance and Controlling, FI–CO). Финансы — это одна из областей, где SAP как интегрированная система дает целый ряд преимуществ. Система SAP обеспечивает множество крайне важных функций и возможностей интернационализации — в том числе не только многовалютность и поддержку иностранных языков, но и гибкость, необходимую для адаптации к законам и предписаниям, действующим в разных частях земного шара. Модули можно легко и беспрепятственно конфигурировать в соответствии с различными налоговыми режимами и установками, правилами импорта, экспорта и т. д. Модуль Главная Книга (General Ledger) обладает значительной гибкостью для составления бухгалтерской отчетности как на уровне отдельной компании, так и на уровне группы компаний. В области расчета затрат ярко проявляются преимущества свойственной SAP ориентации на процессы; в дополнение к традиционному методу расчета центров затрат такой подход позволяет ассоциировать затраты с конкретными бизнес-процессами в соответствии с затратами ресурсов. На рис. 9.1 представлено подменю Финансовый учет.
Рис. 9.1. Подменю Финансовый учет.
Ключевые бизнес-процессы
В такой интегрированной, работающей в реальном времени системе, как SAP, каждый модуль записывает все транзакции в модуле FI–CO. Фактически этот модуль является виртуальным хранилищем операций компании, так как в нем отражаются и записываются любые действия в компании. Как станет ясно после прочтения этой главы, любой модуль SAP (в том числе SD, РР, ММ, QM, РМ, PS, SM и т. д.) записывает транзакции и в этом модуле.
Финансы
Ниже приведены различные ключевые процессы, которые предусмотрены в SAP и могут быть внедрены в зависимости от требований компании:
• Главная книга (G/L) — бухгалтерский учет
• Дебиторская задолженность
• Кредиторская задолженность
• Управление активами
• Консолидация
• Книги специального назначения.
Контролинг
Ключевые процессы, которые могут быть внедрены в зависимости от требований компании:
• Расчет элементов затрат
• Расчет центров затрат
• Расчет элементов доходов
• Расчет объектов затрат
• Анализ прибыльности
• Калькуляция себестоимости.
Первоначальная конфигурация и основные данные
На уровне всего предприятия существуют параметры (зависящие или не зависящие от клиента), которые необходимо задать в самом начале в соответствии с бизнес-требованиями компании. Некоторые из них приведены ниже:
• Клиент
• Коды компаний
• Область бизнеса
• План счетов для каждого кода компании
• Область контролинга
• Текущее состояние
• Банковские данные
• Выверка счетов кредиторской задолженности
• Выверка счетов дебиторской задолженности
• Валюта
• Ключевые проводки
• Диапазоны значений
• Элементы затрат, группы элементов затрат
• Центр затрат и группы центров затрат
• Типы деятельности и группы типов деятельности
• Ключевые статистические показатели, их группы
• Характеристики счетов.
Специальные функции и возможности
Ниже приведен неполный список функций и возможностей, которые предоставляет модуль SAP FI–CO:
• Обновление счетов Главной Книги (G/L) вручную.
• Регистрирование входящих и исходящих счетов-фактур, которые не обрабатываются автоматически в модуле продаж и поставок.
• Приостановка и отзыв финансовых операций вручную — для этого необходимо указать номер записи, автора, дату или другие параметры записи.
• Задание и исполнение стандартных (повторяющихся) транзакций.
• Печать различных документов — например, электронных бланков документов, писем, чеков и т. д.
• Подготовка одноразовых счетов-фактур, создание одноразовых клиентских счетов, а также возможность расчетов между подразделениями компании.
• Платежи между компаниями в пределах одной группы компаний, а также баланс таких расчетов.
• Определение иерархии счетов для составления различных отчетов с итоговыми суммами и т. д.
• В SAP пользователь может задавать свои версии бухгалтерских балансов.
• Предусмотрены книги специального назначения для удовлетворения нестандартных требований пользователя; например, для создания финансовых ведомостей, совместимых с принятыми правилами учета GAAP (Generally Accepted Accounting Principle), создания отчетов для страховых компаний, правительственная отчетность для компаний государственного сектора, и ежедневный балансовый отчет для банков.
• Мощные средства контроля за прямыми и косвенными затратами.
• Система SAP позволяет задавать элементы затрат (первичные и вторичные) и группы элементов затрат с целью определения природа расходов или доходов относительно контролируемых транзакций.
• Система SAP позволяет задавать центры затрат (начальный уровень ответственности на затраты), а также группы центров затрат по иерархическому принципу.
• Возможность задавать ключевые статистические показатели (количество сотрудников, затраты времени и т. д.), которые можно использовать как основу для периодического расчета затрат и порогов затрат.
• В SAP предусмотрены мощные средства для создания отчетов о колебаниях затрат.
• Анализ прибыльности на основе счетов и на основе затрат с использованием заранее заданных характеристик.
• Подведение итогов за год, месяц, и вообще в любой момент времени.
• Если этого требует законодательство, или просто в целях отчетности перед топ-менеджерами, SAP позволяет состоящим из нескольких юридических лиц компаниям создавать консолидированную финансовую отчетность.
• В SAP предусмотрены средства отслеживания таких транзакций, как запросы на оплату в рассрочку и их статус.
• SAP поддерживает сотни стандартных отчетов; кроме того, в системе предусмотрены гибкие инструменты для создания отчетности — такие, как Редактор Отчетов, Составление Отчетов, АВАР Запросов и многоуровневая отчетность.
• В SAP предусмотрена универсальная автоматическая программа платежей, которая включает чековые или электронные платежи, а также имеет множество функций и возможностей — таких, как автоматическая максимизация скидок в зависимости от срока платежа.
• Автоматическое создание разноуровневых писем с требованиями оплаты непосредственно в тот момент, когда кредит клиента исчерпан, а также периодическое напоминание о задолженности до тех пор, пока не будет произведен платеж.
• В SAP предусмотрена тщательно проработанная функциональность для расчета налога с оборота, налога на использование (как для закупок, так и для продаж), а также для удержания налогов, НДС, налогов с продаж, и других налоговых операций.
• В SAP предусмотрено несколько методов расчета и отслеживания амортизации, налогов, амортизации для бухгалтерской отчетности, амортизации консолидации групп компаний и т. д.
Взаимодействие с другими функциями
В условиях интегрированного внедрения, которое рекомендуется в данной книге, взаимодействие модуля FI–CO с другими модулями состоит в следующем:
• Продажи и Дистрибуция (Sales and Distribution, SD) — проверка кредита, поставки материалов, возврат материалов, налоги и ценообразование, предстоящие дебиторские платежи, анализ прибыльности, требования оплаты долгов, оплата в рассрочку, продажа товара по накладным, возврат предоплаты.
• Управление Материалами (Materials Management, MM) — заказы на поставку, счета поставщиков, платежи поставщикам, перемещения запасов, проверка качества, инвентаризация запасов, несовпадения в запасах, программа платежей, плата за аренду и страховку и т. д.
• Планирование производства (Production Planning, РР) — заводские заказы-наряды, колебания производства, произведенная продукция, текущая работа и т. д.
• Человеческие ресурсы (Human Resources, HR) — оклады, суточные, командировочные расходы, авансы и займы, льготы и т. д.
Продажи и Дистрибуция (SD)
Модуль SAP Sales and Distribution (SD) позволяет эффективно управлять деятельностью по продажам и распространению своей продукции. Прилагающиеся к этому модулю сценарии бизнес-процессов обеспечивают управление продажами, поставку, выписку счетов, поддержку продаж и информацию по продажам. На рис. 9.2 представлено подменю Продажи/Дистрибуция.
Рис. 9.2. Подменю Продажи/Дистрибуция.
Ключевые бизнес-процессы
Ниже приведены различные ключевые процессы, которые предусмотрены в SAP и могут быть внедрены в зависимости от требований компании:
• Обработка клиентских запросов на долевое использование ресурсов (Request For Quote, RFQ) и запросов потребителей
• Обработка расценок для потребителей
• Запись заказов
• Расписание поставок
• Проверка наличия товара
• Ценообразование
• Проверка кредита
• Выписка счетов
• Упаковка
• Поставка
• Платежи потребителей
• Клиентские балансы
• Маркетинговая деятельность по клиентам
• Процесс получения, списки пунктов получения
• Подтверждение получения
• Управления складами
• Транспортировка
• Отчеты о продажах.
Первоначальная конфигурация и основные данные
На уровне всего предприятия существуют параметры (зависящие или не зависящие от клиента), которые необходимо задать в самом начале в соответствии с бизнес-требованиями компании. Некоторые из них приведены ниже:
• Область контроля кредита
• Организация продаж
• Каналы распределения
• Распределение
• Основные клиентские данные: общие, продажи, бухгалтерские данные
• Условия ценообразования
• Суть поставки
• Клиенты
• Долгосрочные договоры и контракты с клиентами
• Информация о материалах для клиентов
• Основные данные по материалам
• Выбор (замена) материалов
• Ценообразование
• Скидки или дополнительные сборы
• Стоимость перевозки
• Налоги.
Специальные функции и возможности
Ниже приведен неполный список функций и возможностей, которые предоставляет модуль SAP SD:
• Подготовка клиентского заказа RFQ в ответ на клиентский запрос или без него.
• SAP поддерживает все виды клиентских заказов, начиная от единичных заказов и заканчивая оптовыми поставками. Система также осуществляет проверку клиентского кредита.
• SAP обеспечивает выполнение контрактов с клиентами, и придерживается согласованных с клиентом сроков.
• SAP также обеспечивает выполнение заказов третьих сторон.
• Интеграция с модулями РР, IM и SD обеспечивает автоматическое предоставление информации о наличии или будущем наличии (Available То Promise, ATP) продукции. Эта функциональность может охватывать несколько производств.
• Средства для подробного просмотра описей и реестров продукции (в том числе запланированной), а также возможность отправки запросов о наличии вручную.
• SAP поддерживает доставку по нескольким адресам по заказу от одного клиента.
• SAP обеспечивает гибкость, необходимую для неограниченности пространства для записи особых инструкций или заказов.
• SAP подсказывает даты поставки для каждого пункта в заказе в зависимости от установленных критериев. Автоматически учитывается время, необходимое для производства продукции, а также упаковки, поставки и транспортировки заказа.
• SAP предлагает поставки в соответствии с указанными в расписании сроками, причем все сопутствующие операции — такие, как передача требований, поставка, прибыльность и т. д., могут выполняться независимо от сроков расписания.
• SAP определяет цену, применяя набор условий к различным компонентам процедуры ценообразования. Это позволяет отличать компоненты, ориентированные на цену, от компонентов, ориентированных на налоги, аренду и т. д. при применении скидок и дополнительных сборов, которые относятся только к первому типу компонентов. Таким образом, можно применять те или иные условия и на уровне всей продукции, и на уровне отдельных позиций.
• SAP поддерживает массированное изменение цен в зависимости от изменения условий, определяющих ценообразование, можно также задавать дату, когда эти изменения вступят в силу.
• SAP осуществляет проверку кредита клиентов в режиме он-лайн, позволяет задавать пределы превышения кредита. В случае превышения кредита SAP обеспечивает работу с клиентами (которых можно объединять в группы) и принятие мер — таких, как удержание заказов или полная блокировка счетов клиента в зависимости от заранее заданных параметров.
• Даже в рамках одного заказа SAP допускает разделение пунктов производства и отправки, а также различия в сроках.
• В зависимости от различных критериев SAP позволяет задать условия блокирования выписки транспортных накладных.
• SAP обеспечивает должную гибкость при определении позиций продукции, предназначенных на поставку, и поддерживает создание единичных документов по поставке либо комплектов документов по одной или нескольким позициям.
• SAP поддерживает отправку частичных поставок и обработку соответствующей информации.
• Гибкость при выставлении счетов-фактур по одной или нескольким позициям поставленной продукции; в частности, возможна пакетная обработка данных или обработка в режиме он-лайн.
• SAP обеспечивает средства для создания и доставки сертификатов качества одновременно с поставкой продукции.
• Обновления счетов в режиме реального времени; выпущенный товар попадает в запасы готовой продукции, создается бухгалтерский документ, который кредитует счет выпуска товара и дебетует счет затрат по поставленным товарам.
Подобным образом выписка счета автоматически создает бухгалтерский документ, который кредитует счет выручки от продаж и дебетует счет клиента.
• В зависимости от заранее заданных критериев, SAP обеспечивает гибкость при обработке требований оплаты долгов, то есть при подготовке уведомлений о просроченных счетах.
• SAP позволяет планировать маршрут доставки, определять зоны доставки и пункты отправления и назначения.
• SAP позволяет группировать клиентов по иерархическому принципу в целях повышения эффективности ценообразования и отчетности.
• SAP позволяет создавать организационные структуры для получения отчетности по конкретным сотрудникам, отвечающим за продажи, по офисам продаж и областям продаж, а также по другим критериям, которые задает пользователь.
• В SAP предусмотрены гибкие инструменты для создания отчетности — такие, как Система информации по продажам (Sales Information System), которая производит стандартные отчеты. Этот инструмент обеспечивает маневренность; в числе прочего в нем предусмотрена Система Раннего Предупреждения (Early Warning Systems), которая автоматически высылает сообщения (по электронной почте) или производит отчеты в зависимости от заранее заданных критериев — например, если количество заказов снижается или некоторые продукты распродаются быстрее, чем прогнозировалось.
• SAP поддерживает различные классы клиентов. Например, клиент может быть покупающей стороной, но при этом получателем груза, адресатами выписки счетов могут быть третьи стороны, так же как и третья сторона может производить оплату счетов. Кроме того, система позволяет автоматически ассоциировать с клиентом различных агентов, контактные лица и т. д.
• SAP имеет функциональность для обратной обработки заказов, если продукция не может быть поставлена клиенту в требуемые сроки.
• SAP позволяет пользователю копировать (многократно использовать) один и тот же документ по продажам (запрос, расценки, заказ), по поставке или выписке счетов. Эта возможность копирования значительно снижает затраты времени и минимизирует возможность ошибок.
• SAP обеспечивает функциональность платежей посредством чека, аккредитива или кредитной карты и автоматически проверяет информацию по аккредитивам или по действительности кредитной карты.
Взаимодействие с другими функциями
В условиях интегрированного внедрения, которое рекомендуется в данной книге, взаимодействие модуля SD с другими модулями состоит в следующем:
• Управление Материалами (Materials Management, MM) — проверка наличия, расписание поставок, проверка кредита, поставки материалов, перемещения запасов между разными участками производства, определение материалов, исключение или замена материалов, случаи повторного заказа, и возврат.
• Планирование производства (Production Planning, РР) — проверка наличия, планирование сбыта и производства (Sales Operations Planning, SOP), передача требований клиентских заказов в модуль РР и т. д.
• Финансы (Finance, FI) — проверка кредита, поставки материалов, возврат материалов, выписка счетов, налоги и ценообразование, предстоящие балансы, анализ прибыльности.
Управление Материалами (ММ)
Модуль SAP Materials Management (ММ) функционирует в полной интеграции с другими модулями — такими, как логистика или финансы. Бизнес-процессы в модуле ММ включают в себя RFQ заказов на покупку, получение товаров и подтверждение счетов-фактур, платежи поставщикам. Модуль ММ — это система управления учетом материалов на всех местонахождениях и участках производства, она может управлять как запасами произведенной продукции, так и обработкой субдоговоров и заказов. На рис. 9.3 представлено подменю модуля Управление Материалами.
Рис. 9.3. Подменю Управление Материалами.
Ключевые бизнес-процессы
Ниже приведены различные ключевые процессы, которые предусмотрены в SAP ММ и могут быть внедрены в зависимости от требований компании:
• Запрос реквизитов закупок
• Запрос на расценки
• Расценки
• Управление закупками
• Получение материалов
• Подтверждение счетов-фактур
• Платежи
• Предстоящие платежи
• Оценка поставщиков
• Контроль качества.
Первоначальная конфигурация и основные данные
На уровне всего предприятия существуют параметры (зависящие или не зависящие от клиента), которые необходимо задать в самом начале в соответствии с бизнес-требованиями компании. Некоторые из них приведены ниже:
• Организация закупок
• Производство
• Расположение складов
• Условия ценообразования (нетто, брутто, действительная цена), налоги, скидки, дополнительные сборы и т. д.
• Основные данные по поставщикам (общие, закупки, бухгалтерские данные)
• Записи информации о поставщике и качестве товара
• Основные данные по материалам (элементарные данные, закупки, планирование потребности в материалах (Material Requirements Planning, MRP), прогноз, хранение, отчетность, затраты, подготовка работы, управление качеством)
• Записи информации о качестве
• Долгосрочные договора и соглашения по срокам.
Специальные функции и возможности
Ниже приведен неполный список функций и возможностей, которые предоставляет модуль SAP ММ:
• SAP поддерживает три основных источника требований — план по продукции, план по закупкам и график выпуска. Эти источники определяются на основе списка требований по запасам, созданном в результате планирования потребности в материалах (MRP).
• SAP поддерживает особенности календаря в других странах, иностранные стандарты размеров и единицы измерения (Unit Of Measure, UOM), а также обусловленные спецификой других стран требования к налогам, почтовые индексы, банки, валюты и т. д.
• Определение различных типов материалов — таких, как сырье, товары на продажу, готовая продукция, малоценные и быстроизнашивающиеся предметы и т. д.
• SAP располагает средствами управления полученными партиями товаров и субподрядными заказами, а также обработкой расходных материалов
• В SAP предусмотрена система управления учетом и инвентаризацией, которая охватывает удаленные друг от друга участки производства.
• SAP позволяет MRP осуществить поставку в рамках долгосрочного соглашения без повторного оформления запросов на поставку и т. д. Система поддерживает список позиций, чтобы цикл MRP мог автоматически генерировать такие поставки.
• SAP поддерживает список поставщиков с информацией о соотношении поставщика и качества его продукции, квотах закупок.
• Ручное и автоматическое создание запросов на закупку через MRP, модуль «Обслуживание и ремонт» (Plant Maintenance, РМ), или через модуль «Система проектов» (Project System, PS). Система SAP также поддерживает гибкую стратегию утверждения запросов на покупку.
• Подготовка запроса RFQ для позиций без каналов поставки и создание расписания поставок.
• Сохранение ответов поставщиков на RFQ как справок по расценкам и таким деталям, как ценообразование.
• SAP поддерживает долгосрочные соглашения с поставщиками. Это могут быть соглашения по срокам, контракты по объему и ценности, которые требуют подтверждающего заказа на покупку для каждой поставки.
• SAP обеспечивает ручное или автоматическое создание заказов на покупку на основе предстоящих потребностей с точным указанием необходимых объемов и сроков.
• SAP располагает средствами создания подтверждения получения товаров на основе соответствующего заказа на покупку. Также система позволяет получать товары в разных местах, или напрямую как неограниченный запас, блокированный запас; обеспечивает контроль качества, если этого требует соответствующий заказа на покупку.
• SAP позволяет осуществлять управление планированием качества, его выполнение и другие рационализаторские мероприятия: принятие материала в неограниченный запас, блокирование запаса или утилизация материала, возвращение поставщику и т. д.
• SAP располагает мощными средствами для управления перемещениями запасов, которые идентифицируются с помощью соответствующего типа перемещения относительно уведомлений о получении товара, вопросов производства, перемещения запасов и записи о перемещении, которая может потребоваться после проверки качества и т. д.
• SAP обеспечивает сопровождение каждого типа перемещений генерацией документа о материалах, и, в случае необходимости, бухгалтерских документов для отражения эффекта этих перемещений на затратах и учете запасов. Система оценивает такой эффект на основе заранее заданного автоматического определения счетов Главной книги, в которые вносятся записи в зависимости от типа перемещения и типа материала.
• SAP располагает средствами для отслеживания, мониторинга и учета уровней запасов и статусов материалов на разных участках производства.
• SAP поддерживает различные процедуры определения ценности материалов («first in, first out» (FIFO), «last in, first out» (LIFO) и стандартная цена).
• SAP располагает средствами для физической инвентаризации товаров для подтверждения точности данных учета по инвентаризации с помощью таких процедур, как периодическая инвентаризация, длительная инвентаризация, выборочная инвентаризация и цикличный подсчет.
• SAP позволяет задавать различную цикличность подсчета имеющихся материалов или групп материалов; кроме того, в системе предусмотрены средства отражения обнаруженных расхождений в записях учета запасов и на соответствующих счетах главной книги
• Полное отображение информации обо всех полученных поставках, счетах-фактурах и платежах поставщикам в соответствующих записях Главной книги.
• В SAP предусмотрены мощные средства для создания программы платежей для обработки и распечатки платежей по открытым счетам, выбранным в программе в момент ее создания.
• SAP позволяет одновременно вести децентрализованные закупки и централизованный учет.
• SAP поддерживает тройную сверку — платеж производится только после того, как система сверит полученный счет-фактуру с указанной в заказе на закупку ценой, количеством и объемом поставленных позиций. Система также поддерживает обычную сверку параметров бизнес-процессов в зависимости от требований компании.
• SAP можно настроить на пределы допустимых расхождений между заказом на покупку и реальным количеством поставленных позиций, между ценой в счете-фактуре и ценой, указанной в заказе и т. д.
• SAP обладает способностью незамедлительного обновления созданных ранее документов в случае наступления каких-либо событий. Например, в заказе на закупку будут отслеживаться все недопоставленные позиции, он будет обновлен сразу после того, как произойдет поступление товара или будет получена счет-фактура.
• SAP располагает крайне полезной системой информации и предупреждений, которая сообщает пользователю о случаях получения дубликатов счетов или создании двух идентичных заказов на закупку.
Взаимодействие с другими функциями
В условиях интегрированного внедрения, которое рекомендуется в данной книге, взаимодействие модуля ММ с другими модулями состоит в следующем:
• Финансы и Контроллинг (Finance and Controlling, FI–CO) — заказы на поставку, счета поставщиков, платежи поставщикам, перемещения запасов, проверка качества, инвентаризация запасов, несовпадения в запасах, программа платежей и т. д.
• Продажи и Дистрибуция (Sales and Distribution, SD) — проверка наличия, расписание поставок, проверка кредита, поставки материалов, перемещения запасов между разными участками производства, определение материалов, исключение материалов, замена материалов, пункты повторного заказа, возврат.
• Планирование производства (Production Planning, РР) — список требуемых запасов, партии поставки на основе планирования потребности в материалах (MRP), регистрация фактических данных через подтверждение и заводской заказ-наряд и т. д.
• Управление качеством (Quality Management, QM) — запись информации о качестве, решения об использовании и т. д.
• Обслуживание и Ремонт (Plant Maintenance, РМ) — заказы на поставку, управление внешними услугами и т. д.
Планирование производства (РР)
Модуль SAP Production Planning (РР) демонстрирует реальные преимущества такой интегрированной, ориентированной на процессы и работающей в реальном времени системы, как SAP R/3. Анализируя свежайшую информацию, полученную от различных функций, система рационализирует и ускоряет принятие решений и эффективность производственной логистики в целом. Система SAP также приводит к одному знаменателю методологию MRP II и необходимость ориентации на потребителя одновременно с поддержанием гарантий качества. Выдвигаемые потребителем требования интерпретируются в управление спросом, которое является основой для планирования производства; планирование ведущих позиций (Master Production Scheduling, MPS) балансируется относительно примерного плана мощностей. Цикл MRP приводит к автоматической генерации производства и созданию требований или заказов на поставку материалов. Выполненные заводские заказы-наряды запускают реальную производственную деятельность, в конечном итоге заказ подтверждается и закрывается. На всех стадиях в режиме реального времени производятся записи соответствующей бухгалтерской информации в модули финансов и контроля. На рис. 9.4 и 9.5 представлены подменю Основные Данные (Master Data) (в подменю Производство) и подменю Генеральный план (Master Planning).
Рис. 9.4. Подменю Основные Данные (в подменю Производство).
Система SAP охватывает все основные бизнес-процессы логистики, а именно — непрерывное производство, массовое производство, серийное производство и сборка на заказ. Также система поддерживает варианты этих процессов, например изготовление на заказ или более сложная категория — проектирование на заказ. Различные категории производственных процессов приведены ниже:
Рис. 9.5. Подменю Генеральный план (в подменю Производство).
• Непрерывное производство. Движущей силой непрерывного производства в основном является инфраструктура производственных процессов. В отличие от традиционных систем MRP II, цикл MPS с самого начала должен синхронизироваться с планированием мощностей. Также вместо MRP обычно создается план движения материалов (Materials Flow Plan, MFP); инфраструктура производства продолжает действовать все это время. Другие характерные особенности включают в себя побочные и сопутствующие продукты, процессовое производство, формализованное управление и техобслуживание, а также множественность единиц измерения. Этот тип производственного процесса характерен для промежуточной обработки сырья, необходимого на других участках производства в пределах одной компании — например, в нефтегазовой и нефтеперерабатывающей отраслях.
• Массовое производство подразумевает создание больших объемов стандартной продукции. Система отслеживает материалы, качество, стоимость материалов, и оборудование на всех этапах системы, при этом зачастую происходит внезапное исчезновение расходных материалов на складах. Количество потребляемых расходных материалов вычисляется на основе приблизительных, усредненных показателей, а не реальном измерении потребления запасов. Эти системы пытаются ориентировать циклы и использование оборудования на фиксированные отрезки времени. Этот тип производства характерен для отрасли товаров народного потребления.
• Серийное производство — для этого типа производства характерны не такие большие объемы продукции, как в предыдущем типе: эти системы обычно имеют не очень длинные списки материалов. Они также используют стандартные размеры партий, для которых можно определить стандартные затраты на одну партию и без труда сравнить с реальными затратами.
• Сборка на заказ — это единственный производственный процесс, который подстраивается под требования заказчика при оптимальных затратах. Производитель или его дилеры должны хранить различные узлы, агрегаты и запчасти для быстрой сборки на заказ в соответствии с пожеланиями клиента. Другие характеристики этого процессы — конфигурация продукции, непосредственный контроль качества и затрат, сложная маршрутизация, отслеживание и организация дистрибуции и учета, расписание производства по нескольким участкам (заводам), а также инжиниринг и интеграция. Примеры такого производства — автомобильная индустрия, а также сборка серверов и рабочих станций.
• Проектирование на заказ — объем продукции невелик, но сложность проектирования и конечного продукта обычно весьма значительна. Продукция обычно проектируется и производится для конкретного клиента. Ключевые характеристики этого процесса — изготовление по контракту, непосредственный контроль качества и затрат, сложная маршрутизация и отслеживание, расписание производства по нескольким участкам (заводам), использование системы компьютерного проектирования/производства (CAD/САМ), а также интеграция. Затраты средств и времени обычно очень высоки; в эту категорию производства попадает специализированное машиностроение, энергетическое оборудование, самолетостроение и оборонные проекты.
Ключевые бизнес-процессы
Ниже приведены различные ключевые процессы, которые предусмотрены в SAP и могут быть внедрены в зависимости от требований компании:
• Планирование продаж и операций
• Примерное планирование мощностей
• Управление спросом
• Планирование ведущих позиций (MPS)
• Планирование потребности в материалах (MRP)
• Долгосрочное планирование
• Планирование мощностей
• Непосредственный контроль
• Обслуживание и ремонт.
Первоначальная конфигурация и основные данные
На уровне всего предприятия существуют параметры (зависящие или не зависящие от клиента), которые необходимо задать в самом начале в соответствии с бизнес-требованиями компании. Некоторые из них приведены ниже:
• Предприятия (заводы)
• Расположение складов
• Списки материалов (разработка, производство и т. д.)
• Основные данные по материалам
• Основные данные по поставщикам
• Заводские заказы-наряды.
Специальные функции и возможности
Ниже приведен неполный список функций и возможностей, которые предоставляет модуль SAP РР:
• Интеграция модулей «Продажи и дистрибуция» (SD), «Планирование производства» (РР), «Управление качеством» (QM) и «Обслуживание и ремонт» (РМ) обеспечивает аккуратное прогнозирование продаж, и как следствие — процесс создания расписания производства.
• В SAP предусмотрена таблица планирования для групп материалов или продуктов.
• SAP позволяет использовать план продаж как основу для управления спросом.
• Составление плана продаж вручную в Системе Информации о Продажах (Sales Information System), на основе анализа прибыльности или прогноза основных данных по материалам. Последняя функция может выполняться режиме он-лайн, в пакетном режиме, или периодически — в зависимости от временных рамок прогнозирования, частоты циклов MPS и MRP и т. д.
• Планирование посредством использования гибких таблиц, основанных на сопоставлении прогнозов по различным сегментам потребления и данным по потреблению в прошлом.
• Возможность примерного планирования мощностей, которое подтверждает совместимость плана продаж с возможностями производства при учете имеющихся узких мест и возможных напряженных ситуаций с ресурсами, что позволяет упредить отклонения от плана производства. Потребность в ресурсах исчисляется от конечных сроков — на день раньше от наступления необходимости в ресурсах.
• SAP обеспечивает независимую подготовку программы спроса для каждого типа материала — количество и соответствующие даты. Управление спросом — это связующее звено между инструментами прогнозирования и MRP, которое также автоматически или вручную разбивается на более мелкие отрезки времени в целях облегчения MPS.
• Гибкость при планировании на уровне групп продуктов, которые могут организовываться в различные иерархические структуры, в том числе одна структура может включаться в другую. Также SAP поддерживает возможность основания иерархии планирования в различных подразделениях продаж, что позволяет регистрировать продажи в разных средствах учета потребления.
• Возможность ручного создания планов производства на основе плана продаж, причем целью плана может быть освобождение складов, достижение определенного уровня запасов или даже производство однодневной нормы продукции.
• Создание всеобъемлющих и в то же время выполнимых графиков производства с использованием информации о спросе, статусе учета ресурсов, характеристик производственных процессов и т. д. Методология MPS может использоваться только на одном уровне Списка материалов (Bill Of Materials, BOM), обычно на самом высоком уровне ВОМ, в то время как MRP может использоваться на всех уровнях ВОМ.
• SAP поддерживает расходный и детерминистический планы MRP, причем расходный MRP основывается на данных о прошлом или прогнозируемом потреблении, а детерминистический основывается на точных требованиях, которые формулируются с помощью Списка материалов (ВОМ).
• Проведение циклов MPS или MRP в любой момент времени в пакетном режиме или в режиме он-лайн даже для отдельных материалов. Эти циклы можно конфигурировать для радикального изменения расписания всех запланированных заказов, или только тех, которые необходимо модифицировать, используя полученные при последних циклах MPS/MRP данные.
• Проведение циклов MPS или MRP с возможностями задержки запланированных дат или переделкой расписания на основе данных по времени подготовки заказов данных о маршрутизации.
• SAP позволяет циклам MPS или MRP дополнительно создавать заявки, а также расписания поставок для закупаемых у внешних поставщиков материалов. Для индивидуальных материалов, которые производятся в пределах компании, генерируются запланированные заказы.
• Проведение циклов MRP с помощью следующих средств: создание нагрузки мощностей, зависимые требования, автоматические заявки на покупку, плановые заказы, автоматическое расписание объемов, прямые автоматические требования по закупкам.
• Прямое отражение изменений поставок, данных учета материалов или спроса на материалы в списке требований по запасам.
• SAP поддерживает «фиксированные» или «нефиксированные» плановые заказы, внесение изменений в такие заказы вручную, а также фиксированные плановые заказы за определенное количество дней до наступления даты расписания производства.
• SAP обеспечивает генерацию заводских заказов-нарядов — по отдельности или сериями — на основе данных по плановым заказам, соответствующему Списку материалов (ВОМ), данных по маршрутизации и т. д. Генерация заказов основывается на определяемой пользователем совокупности таких критериев, как самая ранняя или самая поздняя дата, номера заказов на поставку, номера материалов и т. д. В случае необходимости на этом этапе SAP позволяет проверять наличие необходимых компонентов.
• SAP позволяет авторизованным пользователям изменять или удалять заводские заказы-наряды в любой момент времени. В случае необходимости удаленные заказы могут быть реактивированы.
• SAP обеспечивает индивидуальный или серийный выпуск заводских заказов-нарядов, для запуска непосредственного производства, причем выпущенный наряд автоматически вызывает проверку наличия материалов. Каждое производство или рабочий заказ содержат список всех требуемых материалов (на основе ВОМ) и последовательность операций (составленную на основе данных по маршрутизации).
• Анализ и планирование мощностей рабочих центров в зависимости от категории мощностей — например, оборудование, рабочая сила и т. д., а также предусматривает средства ручного управления и выравнивания мощностей для устранения перегрузок.
• SAP обеспечивает ручной или автоматический отпуск материалов задним числом для заводского наряда, а также с помощью электронной технологии Kanban.
• SАР обеспечивает подтверждение, т. е. сигнал к началу производства на разных уровнях и определяет основные пункты контроля — распечатку, составление расписаний и т. д. Подтверждение содержит информацию о количестве произведенной, проверенной, переделанной и утилизированной продукции, а так же о связанных с производством операциях. Последний аспект записей включает в себя информацию о затратах рабочего времени, машинного времени и т. д. Система SAP позволяет задавать некоторые подтверждения как рубежи, дальше которых производство не может продолжаться, пока не закончен предыдущий этап.
• Подтверждение нарядов, которое автоматически сопровождается записью потребления материалов в сравнении с нарядом и количеством материалов для той или иной операции, заданным в Списке материалов и картах маршрутизации, а также передачу материалов, рабочей силы и других ресурсов в соответствии с нарядом.
• Возможность производить автоматическое или ручное размещение произведенных товаров в регистрах учета, а также создание проводки поступления соответствующего товара.
• Возможность преждевременного закрытия, которое называется «техническое завершение» заказа на производство, по каким-либо причинам аннулируется.
• SAP позволяет записывать и учитывать показатели присутствия на рабочем месте, рабочие часы, отсутствие, отгулы, командировки, замену сотрудников и т. д. Эта информация может быть запрошена разными модулями для соответствующей обработки — расчета затрат на производство, записи данных по сотруднику, расчету командировочных расходов, зарплаты и премий.
Взаимодействие с другими функциями
В условиях интегрированного внедрения, которое рекомендуется в данной книге, взаимодействие модуля РР с другими модулями состоит в следующем:
• Финансы и Контроллинг (Finance and Controlling, FI–CO) — заводские наряды (заказы), колебания производства, произведенная продукция, незавершенное производство и т. д.
• Продажи и Дистрибуция (Sales and Distribution, SD) — проверка наличия и прогнозирование SOP.
• Управление Материалами (Materials Management, MM) — список требований по запасам, планирование графика выпуска, отгрузка посредством подтверждения, заводские заказы-наряды и т. д.
• Управление качеством (Quality Management, QM) — проверка качества в процессе производства.
• Обслуживание и Ремонт (Plant Maintenance, РМ) — план обслуживания, расписания, инструменты, шаблоны и т. д.
• Человеческие ресурсы (Human Resources, HR) — присутствие, рабочие часы, оклады, стимулирующие выплаты и т. д.
Управление качеством (QM)
Вопросы качества имеют отношение ко всем бизнес-процессам организации. Одновременно с доставкой заказов компании должны предоставлять сертификаты качества или соответствия. Кроме того, необходимо проверять качество поставляемых материалов и компонентов, качество работы поставщиков, проводить проверки качества в процессе производства. Функции модуля SAP Quality Management (QM) полностью интегрированы со всеми этими функциями. На рис. 9.6. представлено подменю Управление качеством.
Рис. 9.6. Подменю Управление Качеством.
Ключевые бизнес-процессы
Ниже приведены различные ключевые процессы, которые предусмотрены в SAP и могут быть внедрены в зависимости от требований компании:
• Планирование качества
• Поддержание качества
• Улучшение качества
• Проверка в процессе производства
• Сертификаты качества для потребителей.
Первоначальная конфигурация и основные данные
На уровне всего предприятия существуют параметры (зависящие или не зависящие от клиента), которые необходимо задать в самом начале в соответствии с бизнес-требованиями компании. Некоторые из них приведены ниже:
• Производство
• Расположение складов
• Характеристики
• Средства управления характеристиками
• Каталоги
• Перемещения запасов
• Основные данные по материалам
• Информация о соотношениях поставщик-качество
• Основные данные по поставщикам
• Записи информации о качестве.
Специальные функции и возможности
Ниже приведен неполный список функций и возможностей, которые предоставляет модуль SAP QM:
• Проверки на разных уровнях — в том числе в процессе производства, по получении, при подготовке к отправке и т. д.
• Средства для планирования качества товаров, в том числе установление характеристик проверок качества, стандартов отчетности по качеству, планов и методов проверок, динамического отбора образцов, и записи информации о качестве.
• SAP позволяет задавать различные элементы характеристик качества (которые необходимо регулярно измерять), и контрольные параметры для них.
• SAP позволяет задавать каталоги, которые указывают допустимый диапазон значений элементов характеристик качества.
• План качества для каждого вида материалов, в который включается список норм качества (и соответствующих характеристик качества), которым должны соответствовать материалы на момент получения. Также система показывает статус проверки в любой момент времени.
• Мониторинг характеристик работы того или иного поставщика, используя записи информации о качестве и сравнивая их с заданными стандартами, причем данные о качестве материалов увязываются с поставщиком этих материалов. Система также позволяет уведомить поставщика о необходимости проверки прилагающегося к материалам сертификата качества.
• SAP позволяет задавать схемы и процедуры отбора образцов для проверки качества — например отбор по размеру в соответствии с правилами динамического обновления, заложенными в системе.
• SAP предусматривает описание метода проверки, который необходимо применить при проверке конкретной характеристики.
• SAP позволяет фиксировать операции по проверке качества, характеристики той или иной проверки и ее результаты, в зависимости от соответствующих указаний.
• SAP позволяет принимать решения об использовании на основе результатов проверок качества — о переводе материалов в неограниченный запас, утилизации, помещении в блокированные запасы, помещении в резервные запасы, использовании в качестве образца или о возврате поставщику.
• SAP поддерживает множество форм отчетности и возможностей статистического управления процессом (Statistical Process Control, SPC), направленных на управление усилиями по улучшению качества.
• SAP также поддерживает проверки в процессе работы, а также инспекцию инструментов и устройств, занятых в производстве.
Взаимодействие с другими функциями
В условиях интегрированного внедрения, которое рекомендуется в данной книге, взаимодействие модуля QM с другими модулями состоит в следующем:
• Продажи и Дистрибуция (Sales and Distribution, SD) — сертификаты качества или сертификаты соответствия для потребителей
• Управление качеством (Quality Management, QM) — записи информации о качестве, решения об использовании, перемещения запасов и т. д.
• Планирование производства (Production Planning, РР) — проверки качества в процессе производства, инструменты, шаблоны и т. д.
• Обслуживание и Ремонт (Plant Maintenance, РМ) — результаты проверки качества в процессе производства и т. д.
Обслуживание и ремонт (РМ)
Модуль SAP Plant Maintenance (РМ) обеспечивает средства для применения полного производственного технического обслуживания и ремонта (Total Productive Maintenance, ТРМ) на производстве и производственном оборудовании компании. Этот модуль дает такие преимущества, как:
• Мониторинг наличия и доступности ресурсов, затрат, материалов и рабочей силы
• Оптимизация использования ресурсов и рабочей силы
• Снижение затрат на проверки
• Уменьшение времени простоев и перерывов в работе
На рис. 9.7 представлено подменю модуля Обслуживание и Ремонт.
Рис. 9.7. Подменю модуля Обслуживание и Ремонт.
Ключевые бизнес-процессы
Ниже приведены различные ключевые процессы, которые предусмотрены в SAP и могут быть внедрены в зависимости от требований компании:
• Упреждающий ремонт
• Управление службами
• Управление порядком обслуживания
• Система информации о состоянии производства.
Первоначальная конфигурация и основные данные
На уровне всего предприятия существуют параметры (зависящие или не зависящие от клиента), которые необходимо задать в самом начале в соответствии с бизнес-требованиями компании. Ниже приведены некоторые из таких параметров:
• Производство
• Измерители
• Характеристики качества
• Средства контроля
• Каталоги
• План обслуживания
• Основные данные по материалам
• Соотношение материалы-поставщики
• Основные данные по поставщикам.
Специальные функции и возможности
Ниже приведен неполный список функций и возможностей, которые предоставляет модуль SAP РМ:
• SAP обеспечивает создание и определение расписания контролируемых по времени планов обслуживания для обычных позиций оборудования, а также обоснованных подсчетах планов обслуживания по жизненно важным позициям для производства. Подсчеты обычно производятся на основе интенсивности использования, длительности циклов работы, пробеге и т. д. Система SAP позволяет настраивать параметры расписания и создавать несколько основанных на подсчетах планов.
• SAP рассматривает задачи по техобслуживанию как стратегии превентивного обслуживания — в рамках этих стратегий периоды обслуживания называются пакетами.
• SAP позволяет присваивать плану обслуживания одну или несколько позиций оборудования.
• SAP обрабатывает планы обслуживания, которые состоят из позиций обслуживания и расписания, которое уточняет частоту, время, местоположение и порядок выполнения задач по обслуживанию для конкретного оборудования, сборочных линий и т. д.
• SAP поддерживает превентивную активацию плана обслуживания. Это может быть сделано либо вручную (после получения предупреждения), либо автоматически, что более эффективно. Для каждой позиции обслуживания создается заказ на обслуживание, в котором указываются подробности тех или иных ремонтных работ, этапы, необходимые инструменты, запчасти, а также примерное время для выполнения ремонтных работ.
• SAP позволяет выпускать заказы на обслуживание — система проверяет наличие необходимых материалов, ресурсов, инструментов и т. д.
• После выполнения заказа SAP обеспечивает отчет по затратам и закрытие заказа на обслуживание.
• SAP поддерживает создание заказов на закупку на основе потребностей обслуживания.
• SAP ведет и обновляет историю обслуживания того или иного оборудования в хронологическом порядке, с указанием проведенных ремонтных работ, замены частей, затрат и т. д.
Взаимодействие с другими функциями
В условиях интегрированного внедрения, которое рекомендуется в данной книге, взаимодействие модуля РМ с другими модулями состоит в следующем:
• Управление Материалами (Materials Management, MM) — заказы на поставку, управление внешними услугами и т. д.
• Планирование производства (Production Planning, РР) — план обслуживания, расписания, инструменты, шаблоны и т. д.
• Управление качеством (Quality Management, QM) — результаты проверки качества в процессе производства и т. д.
Человеческие ресурсы (HR)
Модуль SAP Human Resources (HR) обеспечивает полномасштабную оптимизацию использования персонала компании. Функции, которыми управляет этот модуль, включают в себя организационные единицы, их обязанности и задачи, требования к навыкам сотрудников, набор и комплектацию персонала, развитие персонала, управление временем, окладами, льготами и т. д. Модуль HR обеспечивает неоценимую помощь при наборе персонала и предотвращении текучести кадров, а также при повышении квалификации персонала. На рис. 9.8 представлено подменю «Планирование» меню HR.
Ключевые бизнес-процессы
Ниже приведены различные ключевые процессы, которые предусмотрены в SAP и могут быть внедрены в зависимости от требований компании:
• Организационный менеджмент
Рис. 9.8. Подменю Планирование в меню Кадры.
• Управление навыками
• Планирование карьеры и продвижения по службе
• Управление мероприятиями
• Планирование возможностей и должностей персонала
• Планирование затрат на персонал
• Ведение основных данных по персоналу
• Развитие персонала
• Расчет заработной платы
• Выписки и отчеты
• Управление временными данными
• Командировочные расходы.
Первоначальная конфигурация и основные данные
На уровне всего предприятия существуют параметры (зависящие или не зависящие от клиента), которые необходимо задать в самом начале в соответствии с бизнес-требованиями компании. Некоторые из них приведены ниже:
• Клиент
• Код компании
• Организационная структура
• Объекты компании (организационные единицы, обязанности, должности, рабочие места, задачи и т. д.)
• Отношения между объектами
• Отдел кадров
• Кадровые подразделения
• Группы сотрудников
• Категории сотрудников.
Специальные функции и возможности
Ниже приведен неполный список функций и возможностей, которые предоставляет модуль SAP HR:
• Хранение и обновление подробной информации о позициях штатного расписания, описания их обязанностей, должностях и т. д.
• SAP позволяет вести полный учет всех профессиональных навыков, имеющихся у персонала компании. Это называется «Квалификации».
• SAP позволяет задавать модели карьер, которые могут использоваться в планировании карьеры и продвижении по службе.
• Планирование персонала помогает вести мониторинг затрат, налогов, вычетов из зарплаты, проектировать затраты, моделировать различные ситуации с повышением зарплаты, налогов, вычетов и т. п.
• SAP предоставляет обширные возможности для управления такими мероприятиями, как курсы обучения, программы, семинары и т. д. Это управление включает в себя составление расписаний, организацию, изменение сроков, установление платы за обучение, обратную связь и т. д.
• SAP позволяет планировать возможности персонала на основе информации об обязанностях, навыках и квалификации.
• SAP помогает управлять всеми аспектами набора персонала — запросами, заявлениями, собеседованиями, тестированием, отбором, приглашениями на работу, перепиской и т. д.
• Расчет окладов, налогов, удержаний, льгот, командировочных расходов, авансов, страховых выплат и т. д.
• SAP поддерживает все стандартные ежемесячные вычеты из заработной платы.
• SAP располагает заранее сконфигурированной функциональностью расчета заработной платы для многих стран северной и Южной Америки, Европы и Азии. На случай, если для той или иной страны эта функциональность не предусмотрена, SAP предоставляет стандартную международную функциональность расчета заработной платы, которую можно модифицировать в соответствии с особенностями страны.
• SAP предоставляет сотни стандартных отчетов для удовлетворения требований по обязательной и справочной отчетности в любой компании. Если необходимо создать новый отчет, SAP предоставляет гибкие инструменты для создания необходимых форм отчетности.
• SAP позволяет производить и просматривать отчеты по расчету заработной платы до того, как расчеты для текущего месяца вступают в силу.
• SAP позволяет вносить изменения в прошлые данные по расчету заработной платы чтобы, например, повысить зарплату за предыдущий месяц и подсчитать выплаты в текущем месяце с учетом повышения.
• SAP имеет мощные средства для аудита и отслеживания малейших изменений в основной записи по сотруднику, записи первоначальных данных и измененных данных, а также системного времени, указывающего когда изменения были внесены и ID пользователя, который внес изменения.
Взаимодействие с другими функциями
В условиях интегрированного внедрения, которое рекомендуется в данной книге, взаимодействие модуля HR с другими модулями состоит в следующем:
• Финансы и Контроллинг (Finance and Controlling, FI–CO) — посещаемость, рабочие часы, отгулы, расчет заработной платы, авансы, командировочные расходы, обучение и т. д.
• Продажи и Дистрибуция (Sales and Distribution, SD) — занятость в событиях, комиссия от продаж и т. д.
• Планирование производства (Production Planning, РР) — присутствие, рабочее время, стимулирующие выплаты и т. д.
Отраслевые решения (IS)
Довольно давно компания SAP поняла, что каждая отрасль имеет специфические требования, характерные для компаний в этой отрасли. Компания SAP поставляет широкий спектр вертикальных отраслевых решений (Industry-Specific Solutions (IS)), которые могут прилагаться к базовому решению R/3. В 1998 году компания SAP представила Карты Решений SAP для 19 отраслей и продолжает модернизировать эти решения, а также постоянно добавлять новые отраслевые решения. Ниже приведены некоторые из отраслей, охваченных решениями SAP:
• Автомобильная промышленность
• Нефтегазовая промышленность
• Фармацевтика
• Химическая промышленность
Рис. 9.9. Отраслевые решения.
• Розничная торговля
• Телекоммуникации
• Жилищно-коммунальное хозяйство
• Аэрокосмический комплекс и оборона
• Товары народного потребления
• НИОКР.
На рис. 9.9 представлена схема наиболее значимых отраслевых решений.
Компания SAP поддерживает партнерские отношения с клиентами, консалтинговыми компаниями и другими разработчиками программного обеспечения для развития и совершенствования отраслевых решений, а также, с учрежденными Отраслевыми центрами экспертизы (ICOE), которые теперь называются стратегические бизнес-единицы (Strategic Business Units, SBU).
Карты решений SAP
Компания SAP разработала и представила исчерпывающие карты решений (SAP Solution Maps), которые описывают созданные для различных отраслей решения, а также соответствующую технологию и услуги, необходимые для обслуживания этих решений. Карты Решений SAP описывают необходимые бизнес-функции в рамках одной отрасли. Они дополняются Картой Технологий Бизнеса SAP (SAP Business Technology Map), которые описывают технологическую инфраструктуру SAP, а также Картой Услуг SAP (SAP Services Map), которая описывает услуги компании SAP и ее партнеров в планировании, конфигурации, внедрении и использовании отраслевого решения. Применяя ясное, четкое оформление и краткие, емкие названия, эти карты решений значительно облегчают оценку и принятие решений по внедрению совместимых или комплексных IТ-решений.
Карты решений, которые впервые были представлены в 1998 году, формируют структуру для управления всем жизненным циклом отраслевых решений SAP (SAP IS) для более чем двадцати отраслей. Эти карты включают в себя следующие компоненты:
• Карты решений SAP — это исчерпывающие Концептуальные проекты, документирующие все ключевые процессы для той или иной отрасли.
• Карты Технологий Бизнеса SAP — описывают технологии, необходимые для управления полным жизненным циклом проекта SAP, в том числе стадии до и после внедрения, а также запуск системы, ее поддержку и обслуживание. Эта карта также отражает информацию о том, как совокупность продуктов SAP и партнеров компании SAP обеспечивает максимальную эффективность решения.
• Карта Услуг SAP — идентифицирует ключевые области, в которых компания SAP и ее партнеры могут предложить услуги, прибавляющие ценность процессу внедрения SAP в компании и гарантирующие успешное и своевременное выполнение проекта в заданных бюджетных рамках. Такие услуги могут потребоваться на любой стадии жизненного цикла ERP — начиная с оценки требований и самого внедрения и заканчивая операциями и постоянными усовершенствованиями системы. Эти услуги имеют отношение к деловым элементам проекта (в том числе составление карт бизнес-процессов посредством передачи знаний) и техническим элементам (в том числе планирование и внедрение инфраструктуры, справочная служба, служба техподдержки).
Каждая карта решения состоит из двух уровней. Диаграммы первого уровня отражают основную информацию, в то время как диаграммы второго уровня содержат подробные сведения о категориях первого уровня.
На рис. 9.10 — 9.12 представлены карты 1-го уровня, на рис. 9.13 — 9.18 представлены карты 2-го уровня. На этих рисунках использованы следующие значки:
Второй атрибут указывает, произведен ли продукт компанией SAP или партнерами SAP:
• Sn — продукт SAP
• Pn — продукт партнера SAP
• Vn — услуга SAP
• Bn — услуга партнера SAP
Рис. 9.10. Карта решения SAP — Химия.
Рис. 9.11. Карта решения SAP — Технологии Бизнеса.
Рис. 9.12. Карта решения SAP — Услуги.
Рис. 9.13. Карта решения SAP — Химия, диаграмма 2-го уровня.
Рис. 9.14. Карта решения — Карта продуктов, диаграмма 2-го уровня.
Рис. 9.15. Карта Услуг — Таблица услуг, диаграмма 2-го уровня.
Рис. 9.16. Карта Услуг — Таблица услуг, диаграмма 2-го уровня.
Рис. 9.17. Справочная таблица Технологии бизнеса SAP, диаграмма 2-го уровня.
Рис. 9.18. Карта технологии Бизнеса SAP, диаграмма 2-го уровня.
Резюме
В этой главе мы произвели обзор базовых модулей SAP. Эта книга рекомендует предприятиям нового тысячелетия внедрить такие базовые модули, как FI–CO, MM, SD, РР и т. д., в зависимости от отрасли и области деловой активности, причем внедрение рекомендуется проводить по методу «Большого взрыва», когда компании внедряют стандартный пакет модулей в сочетании с одним из отраслевых решений.
Только в результате внедрения по методу «Большого взрыва» компания сможет использовать обработанную системой информацию как любой другой ресурс — рабочую силу, материалы, финансы; иначе система останется просто эффективным средством хранения информации и составления отчетов. Традиционные системы выступали именно в такой роли — поэтому они так и не смогли дать ожидавшиеся от них преимущества и обеспечить увеличение производительности.
Теперь, после знакомства в этой части с продуктами SAP, мы обратимся к вопросам, связанным с проектами внедрения SAP.