Руководство начинающего консультанта по SAP
Версия 1.08 от 27.10.2007
fatheryan.narod.ru при содействии сообщества SAPForum.ru и других хороших людей
"Если вы не можете что-то объяснить шестилетнему ребенку, значит, вы сами этого не понимаете"
''А. Эйнштейн''
Преамбула. Для кого это предназначено.
Для людей, стремящихся стать консультантами и не знающих, с чего начать. Начальные знания в указанной области малы или полностью отсутствуют, но есть мозги и желание. Путь в консультанты у "программистов" и "предметников", конечно, различен, автор старался, чтобы материал был понятен всем. Дабы не раздвигать размеры документа сверх всяких разумных пределов и не забивать голову новичкам всяческими нюансами, автор сознательно пошел на упрощение многих понятий (тем не менее, стараясь избегать явных ошибок). В квадратных скобках приводятся названия курсов SAP и другие источники информации. Документ планируется совершенствовать, буду признателен за критику и дополнения.
ПРЕДУПРЕЖДЕНИЕ: Даже если вы выучите данную статью наизусть, это не даст вам право называть себя "консультантом по SAP". Впереди еще тысячи страниц текста и обязательно опыт работы на проекте. Все что я могу это "наставить на путь истинный". Желаю успеха.
Что такое система SAP R/3 и для чего она нужна?
SAP R/3 является информационной системой ERP (Enterprise Resources Planning - планирование ресурсов предприятия). Система предназначена для автоматизации всей деятельности по управлению предприятием: управленческий и бухгалтерский учет, планирование и многое другое. (Кстати, в последнее время декларируется новая концепция на основе платформы Netweaver: система должна не охватывать все области, а предоставлять сервисы на основе данных из программных продуктов разных производителей. Приживется ли, покажет будущее [SAPTEC]). Система ОЧЕНЬ большая и ОЧЕНЬ сложная. Примите как факт: ее невозможно «самому поставить на компьютер» и «разобраться за выходные, в крайнем случае, за неделю». Просьбы «дайте дистрибутив, я сам установлю и разберусь» поступают регулярно, но не могут иметь другого результата кроме бессмысленной траты времени. Хотя опыт автора основывается в основном на R/3, большая часть положений статьи, с некоторой осторожностью, применима к следующим версиям SAP.
Как все это устроено с технической точки зрения?
На компьютере пользователя устанавливается небольшая программка SAP GUI (Graphics User Interface - Графический Интерфейс Пользователя), функция которой сводится к отображению данных, принятых с сервера, и передаче на сервер данных и команд пользователя (иногда можно обойтись интернет-браузером вместо GUI).
Сервером называют специализированный мощный надежный компьютер, предназначенный для хранения и обработки передающихся по сети данных множества пользователей.
На сервере обычно устанавливают Систему Управления Базой Данных (СУБД) – программу, предназначенную для хранения данных в виде набора взаимосвязанных таблиц, с возможностью их (данных) добавления, изменения, удаления и извлечения по запросу пользователя в различных сочетаниях. Обращение к БД (Базе данных) осуществляется, как правило, с использованием специального языка SQL (Structured Query Language - Структурированный Язык Запросов). В нашем случае в БД, кроме собственно бизнес-данных, хранятся все настройки системы, репозитарий (о нем будет ниже) и тексты программ на языке ABAP/4.
Собственно SAP-ом называют Сервер Приложений (Application Server) – программу, работающую на сервере, которая осуществляет все действия над данными пользователей. Рассмотрим ее работу упрощенно на примере.
Пользователь vasya вводит какое-то число и нажимает Enter. SAP GUI незамедлительно передает Серверу Приложений это число и факт нажатия клавиши. Сервер Приложений запрашивает у БД часть программы на языке ABAP/4, которая должна обработать действие пользователя, и начинает ее выполнять. Программа на языке ABAP/4 может, например, извлечь из БД некую информацию в зависимости от полученного числа и затем передать ее SAP GUI для отображения пользователю vasya.
В чем суть работы консультанта и что такое процесс внедрения?
Новички (во всяком случае, те, кого я собеседовал при приеме на работу) часто думают, что достаточно установить программу, ну, может, еще обучить пользователей, и "процесс пошел". На самом деле, такая халява имеет место только при "внедрении" очень простых, узко функциональных программ с малым числом пользователей, к коим даже самая примитивная ERP-система уж точно не относится.
Проектом внедрения называют ограниченный во времени процесс изменения деятельности предприятия, призванный достичь заданных целей. Целями обычно бывают:
- Улучшение информированности руководства о текущем состоянии дел. Начальник может видеть все, что пожелает, почти в реальном времени.
- Улучшение (реинжиниринг) бизнес-процессов (исключение ненужных, повышение эффективности полезных). Например, до внедрения системы перед выпиской накладной на отпуск товара требовалась подпись "отдела учета МТР", дабы не пытаться выдать со склада то, чего там нет в нужном количестве. При использовании системы, где эти данные есть, и при выписке документов автоматически проверяются, данная подпись вкупе со всем отделом становятся ненужным.
- Снижение затрат на управление. Достигается редко.
Консультанты должны в указанный срок достичь заданных целей. Для этого нужно:
- Обследовать деятельность предприятия (если это не сделано до того отдельно).
- Разработать и согласовать предложения по ее улучшению.
- Добиться приведения оргструктуры в требуемое состояние.
- Обучить пользователей (иногда на проектах консультанты вообще не учат пользователей или учат только ключевых, а те, в свою очередь, - конечных).
- Добиться грамотной и согласованной работы пользователей для достижений заданных целей.
- Адаптировать (настроить) систему под специфику бизнеса клиента.
Разумеется, одному человеку затруднительно реализовать все эти функции, поэтому они по возможности распределяются между руководителем проекта, бизнес-аналитиком и техническим консультантом (хотя на практике бывает, что один человек "и швец, и жнец и...").
Основные навыки и знания консультанта. Что надо и что не надо делать?
Исходя из вышеописанных задач, можно сформулировать требования к консультанту:
- Хорошее знание предметной области.
- Умение увидеть плохую организацию работы, придумать, как ее сделать лучше, и убедить людей в своей правоте.
- Умение учить.
- Знание возможностей системы, заложенной в нее бизнес-логики и пределов ее адаптации.
- Умение настраивать и дорабатывать систему под клиента.
- Умение грамотно формулировать решения и требования и документировать их.
- Коммуникабельность.
- Умение грамотно планировать свое время.
- Организаторские способности.
- Умение решать нетривиальные проблемы.
НЕ НАДО пытаться автоматизировать «кривой» бизнес, т.к.:
1) замучаетесь с адаптацией системы;
2) все равно потом придется переделывать.
Как известно, если автоматизировать бардак, то получится автоматизированный бардак, коий разгрести в сто раз сложнее, чем обычный. Соответственно, одним из наиболее ценимых навыков консультанта является способность "осаживать" ретивого пользователя (стандартный пример: "Хочу, чтобы в этом вашем SAPе все было, как в 1С, в противном случае я не буду в такой системе работать") и находить компромиссы.
Что такое транзакция SAP?
[SAP20]
Транзакция SAP - прикладная программа, выполняющая бизнес-процесс в системе, осуществляющая над данными определенный логически завершенный набор действий. (Технически - это "ярлык" для вызова программы на ABAP/4). Например, это может быть ввод и бухгалтерская проводка счета-фактуры, формирование некоторого отчета. (Программистам: транзакция SAP не является синонимом транзакции БД).
Что такое модули?
[SAP01] Система логически подразделяется на модули. Каждый модуль состоит из множества транзакций, охватывающих определенную часть деятельности предприятия. Как правило, консультант специализируется на каком-либо определенном модуле (хотя узость кругозора никогда ни к чему хорошему не приводила, так что по возможности не надо себя искусственно ставить в рамки). Границы модулей в значительной степени условны, между ними происходит обмен данными, могут быть общие настройки и таблицы с данными, совместное использование одной и той же части программы на ABAP/4 (со всеми вытекающими последствиями при ее непродуманном изменении).
Краткое описание модулей.
MM (Materials Management) - Управление материальными потоками.
Включает в себя:
1) Бухгалтерский учет в части учета запасов по складам, перемещения и списания ТМЦ (товарно-материальных ценностей).
2) ППМ (планирование потребности в материалах)
3) Справочник материалов
4) Систему закупок начиная с заявки и заканчивая поступлением ТМЦ на нужный склад.
Получает данные из модуля ТОРО (PM). Если настроен ППМ, заявки на ТМЦ формируются из ТОРО-заказов.
Сформированные проводки передаются в FI.
При продаже на сторону часть операций (например фактурирование) может быть реализовано средствами SD (сбыт).
[SCM 500,510,515,520,521,550]
FM – Управление бюджетом. Другие названия FI-FM, PSM-FM. Есть вторая более современная разновидность модуля BCS – Система управления бюджетом.
Предназначение и FM, и BCS – управленческий учет, а если по-простому – по каким направлениям (статьям бюджета) израсходованы деньги бухгалтерскими проводками.
Если все деньги бюджета уже истрачены – делать проводки запрещает система (ну или предупреждает о проблемах с бюджетом).
Данные для FM берутся из MM, FI, CO, SD, ТОРО (но не обязательно из всего сразу).
[IPS910, IPS960]
Базис занимает особое место среди других модулей.
Базисники отвечают за функционирование SAPа (сервера приложений) в целом. Задачи:
Первоначальная установка и настройка параметров производительности.
Администрирование базы данных.
Установка пакетов обновлений и корректур (нот).
Осуществление переносов (транспортов) в продуктивную систему.
Администрирование (ввод и присвоение ролей) пользователей.
Резервное копирование данных.
Настройка взаимодействия систем (передачи данных между системами).
Мониторинг (контроль) системы с целью заблаговременного определения проблем и принятия мер.
Настройка доступа к системам со стороны службы поддержки SAP.
Поддержка в актуальном состоянии данных о системах на service.sap.com
Предоставление доступа (выдача имени, пароля и полномочий) для работы с сервисом SAP.
Анализ дампов (лучше совместно с функциональщиками – консультантами оп прикладным модулям и абаперами).
Перечисление неполное, но думаю достаточное для понимания. Базисник по роду своих занятий имеет полные полномочия в системе (SAP_ALL). Любая ошибка легко может привести к полному краху системы. В связи с этим базисник должен обладать как глубокими знаниями, так и колоссальной ответственностью и самодисциплиной. Кроме того это самый консервативный человек в команде - противник всяческих экспериментов, установки непроверенных обновлений и т. п.