Реферат: Руководство начинающего консультанта по SAP
Название: Руководство начинающего консультанта по SAP Раздел: Рефераты по информатике Тип: реферат |
Руководство начинающего консультанта по SAP Версия 1.08 от 27.10.2007 "Если вы не можете что-то объяснить шестилетнему ребенку, значит, вы сами этого не понимаете" Преамбула. Для кого это предназначено. Для людей, стремящихся стать консультантами и не знающих, с чего начать. Начальные знания в указанной области малы или полностью отсутствуют, но есть мозги и желание. Путь в консультанты у "программистов" и "предметников", конечно, различен, автор старался, чтобы материал был понятен всем. Дабы не раздвигать размеры документа сверх всяких разумных пределов и не забивать голову новичкам всяческими нюансами, автор сознательно пошел на упрощение многих понятий (тем не менее, стараясь избегать явных ошибок). В квадратных скобках приводятся названия курсов 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) замучаетесь с адаптацией системы; Как известно, если автоматизировать бардак, то получится автоматизированный бардак, коий разгрести в сто раз сложнее, чем обычный. Соответственно, одним из наиболее ценимых навыков консультанта является способность "осаживать" ретивого пользователя (стандартный пример: "Хочу, чтобы в этом вашем SAPе все было, как в 1С, в противном случае я не буду в такой системе работать") и находить компромиссы. Что такое транзакция SAP?
Что такое модули? [SAP01] Система логически подразделяется на модули. Каждый модуль состоит из множества транзакций, охватывающих определенную часть деятельности предприятия. Как правило, консультант специализируется на каком-либо определенном модуле (хотя узость кругозора никогда ни к чему хорошему не приводила, так что по возможности не надо себя искусственно ставить в рамки). Границы модулей в значительной степени условны, между ними происходит обмен данными, могут быть общие настройки и таблицы с данными, совместное использование одной и той же части программы на ABAP/4 (со всеми вытекающими последствиями при ее непродуманном изменении). Краткое описание модулей. MM
(Materials Management) - Управление материальными потоками. FM – Управление бюджетом. Другие названия FI-FM, PSM-FM. Есть вторая более современная разновидность модуля BCS – Система управления бюджетом. Предназначение и FM, и BCS – управленческий учет, а если по-простому – по каким направлениям (статьям бюджета) израсходованы деньги бухгалтерскими проводками. Если все деньги бюджета уже истрачены – делать проводки запрещает система (ну или предупреждает о проблемах с бюджетом). Данные для FM берутся из MM, FI, CO, SD, ТОРО (но не обязательно из всего сразу). [IPS910, IPS960] Базис
занимает особое место среди других модулей. Группа разработки (абаперы).
Что нужно знать из области базиса. Ландшафт. Транспортная система. Роли. Рассмотрим основные понятия из области базиса. Система (центральная инстанция) - представляет собой сервер приложений вместе с СУБД. Мандант (клиент) . - это организационно независимая часть в системе R/3. Каждый мандант имеет собственную среду данных, т.е. собственные основные и переменные данные, присвоенные основные записи пользователей, планы счетов и специфические параметры настройки.В системе может быть несколько мандантов. Почти во всех таблицах БД с пользовательскими данными и настройками есть поле, являющиеся частью ключа, которое содержит номер манданта. Когда программа запрашивает какие-либо данные из такой таблицы, к запросу автоматом дописывается что-то вроде and mndt=НомерМандантаКудаВыВошли На практике это означает, что в каждом манданте может работать отдельное предприятие не мешая работающим в других мандантам. Но программы на ABAP/4, формуляры (отчетные формы) при этом являются общими для всех мандантов одной системы. Репозитарий - хранилище всех ABAP-программ и описания структуры данных и таблиц, с которыми работают программы. Репозитарий является общим для всех мандантов системы. Запрос на перенос (транспорт) - содержит программы или настройки, которые можно переносить между мандантами или системами. Деблокированный запрос представляет собой несколько файлов, содержащих требуемую информацию. Деблокированние – этот термин в SAP означает «утверждение», отправку в работу. Пока запрос, документ не деблокированы они считаются черновиками, их можно изменять и никаких действий они не вызывают. Ландшафт - это несколько систем, между которыми можно переносить настройки и программы. Несколько систем требуются для обеспечения процесса разработки и настройки. SAP рекомендует следующий ландшафт: [ADM325, BC325] 1 - система разработки. Содержит 3 манданта (номера можно использовать другие). - 300 - в нем можно менять настройки и программы. При этом любое изменение сразу попадает в запрос на перенос. 2 - контроль качества В этой системе обычно два манданта: - 500 - используется для обучения пользователей Настройка или разработка может попадать в эту систему после деблокирования. Вы должны тщательно проверить, что все работает, как задумано, прежде чем переносить запрос в продуктив. 3 - продуктивная система Обычно один мандант, в котором работают пользователи. Согласно требованиям SAP, группа внедрения вообще не должна иметь доступа к этой системе. Если у вас есть доступ к продуктиву, следует соблюдать крайнюю осторожность т. к. ошибочные действия ведут к очень тяжелым последствиям. Также иногда на продуктивной системе делают копию продуктивного манданта (на разных проектах за этим могут стоять разные цели). Запрос переносят в продуктив базисники на основании заявки, подписанной руководителями модуля и проекта (разумеется, все может быть реализовано по безбумажной технологии, например с использованием Solution Manager - суть это не меняет) «Зачем нужно разделение в системе разработки на настроечный (300) и тестовый (400) манданты? Почему нельзя все сразу пробовать в 300?» Это вызвано техническими ограничениями. При вводе в 300 некоторых данных может сложиться ситуация при которой настройку нельзя будет изменить или удалить т. к. она связана с этими данными. - Роль (отдельная)
– описывает, какие именно действия может осуществлять пользователь в системе. Роли являются мандантозависимыми, создаются и переносятся так же, как настройки. Роль может содержать в себе: [ADM940] 1) дополнение к меню пользователя, т.е., транзакции с названиями, которые будет видеть пользователь; Следует иметь в виду, что если пользователю присвоены несколько ролей, в которых есть один и тот же объект полномочий с разными параметрами, пользователь получит максимальные права из двух возможных (соответствует логической операции "или"). Поэтому следует быть внимательными при настройке объектов полномочий в новых ролях - "несущественный" параметр, которому вы присвоите значение "*" (разрешено все) может "аукнуться" для другой транзакции и роли. На программном уровне объект полномочий является специальным элементом языка ABAP/4 и проверяется при выполнении программы. В зависимости от результатов проверки программа может осуществлять различные действия, например, выдавать сообщение "Недостаточно полномочий" Профиль полномочий - это скомпилированная (приведенная в машинный вид) роль. Собственно система работает именно с профилями, роли пользователю можно и не присваивать (если нет нужды в меню). На практике консультант обычно оперирует ролями.
Текущая иерархия версий наиболее популярного продукта SAP выглядит следующим образом: - SAP R/3 4.6 (A,B,C,D) Функционируют на основе «SAP базиса» ( ECC – Enterprise Central Core) Если щелкнуть на пункте меню Система -> Статус -> «Лупа», можно увидеть версии системы. - SAP_APPL = 46С (для системы SAP версии 4.6С) Число в следующей колонке показывает номер последнего установленного пакета поддержки (содержит все исправления ошибок и дополнения, выпущенные к некоторой дате). Когда вы смотрите ноты, следует обращать внимание на версию системы, для которой она предназначена и уровень пакета, в который эта нота входит (может быть уже установлена в системе). Обновление этого компонента (обновляется ABAP-код) затрагивает большинство стандартных модулей. - C-CEE это «русский Add-on» («дополнение») Выпускается Московским отделением SAP. Обеспечивает набор программ и транзакций для поддержки специфики отечественного бухучета. Начиная с версии >ECC 5.0, для России не он нужен (требуется ставить только на Украине и в Казахстане), поскольку функциональность, изначально включенная в дополнение, теперь входит в стандартную поставку системы. - SAP_BASIS, SAP_ABA – эти компоненты обеспечивают функционирование «базиса». Их обновление не так сильно заметно в системе.
Понимание, что именно делает программа, весьма желательно для консультанта. Часто исследование под отладчиком или просто просмотр кода являются единственным способом определить причину проблемы и найти ее решение. Это требует хорошего знания ABAP/4. [книга «Разработка приложений SAP R/3 на языке АВАР/4», курсы BC*] Незнание языка программирования не является фатальным. Можно ставить грамотные технические задания разработчикам и без этого. Нужно уметь просматривать таблицы (транзакции SE11, SE16). Как называется интересующее вас поле, и в какой таблице оно находиться, можно определить следующим образом: 1) Находим его на экране, ставим туда курсор. Кстати, там же можно найти еще много полезной информации. Что-то работает не так как надо или не работает вообще. Решаем проблему. В первую очередь надо обязательно убедиться, что имеет место ошибка. Тяжелей всего чинить то, что не сломалось. Если 2*2 не равно четырем, первым делом уточните: может быть, мы видим сумму с НДС. 99% обращений пользователей по поводу "ошибки системы" лечатся чтением инструкции и вправлением мозгов. Дамп - самая серьезная из ошибок системы. Возникает при полной невозможности дальнейшего исполнения программы на ABAP/4. Выполнение транзакции прекращается. На экран выводиться информация, описывающая суть ошибки, место ее возникновения и рекомендуемые ключевые слова для поиска нот. Нота (note) - "заметка" (в самой системе, например, в транзакции snote ноты называются "указаниями", нем. Hinweis), выпускаемая SAP, описывающая проблему и способы ее решения. Помимо текстовой части может содержать исправления (корректуры) для программ на ABAP/4. Ноты следует искать на service.sap.com. Требуемые для входа имя и пароль вы можете получить у базисников или руководителя проекта. Установкой нот занимаются базисники. Если стандартная транзакции выдает сообщение об ошибке с кодом: 1) читаем внимательно сообщение (лучше войти в систему на английском языке), думаем, проверяем настройки, перечитываем хелп и курсы...
В первую очередь систему приводят в соответствие с требованиями бизнеса путем изменения настроек. Запустив транзакцию SPRO, можно получить доступ к всевозможным настройкам. Собственно, данная транзакция является удобной оболочкой (меню) для огромного количества транзакций, работающих с конкретными настройками. Варианты транзакций - это еще один способ подгонки системы под требования клиента. Позволяет прятать или делать обязательными для ввода отдельные поля, вкладки и т. п. Часто существующих отчетных форм недостаточно. В этом случае пишут свою программу (транзакцию) на ABAP/4, которая выбирает и выводит данные в требуемой форме. При необходимости можно создавать свои таблицы с названием на Z* и добавлять в стандартные таблицы новые поля с названием на Z*. Во многих ABAP-программах предусмотрены специальные места, куда можно вписывать дополнительный код на ABAP/4 с целью выполнения транзакцией некоторых дополнительных действий. Это customer-exit (фактически - вызов функции с параметрами, тело функции мы пишем сами), user-exit (фактически include – место для вставки произвольного кода) и BADI (близко по смыслу к customer-exit, но реализовано методами объектно-ориентированного программирования). [BC425]. Информацию о возможности воспользоваться расширением можно найти в SPRO, щелкнув на "листочке" с описанием настроек. Там же обычно указывается, в какой момент будет отрабатывать ваш код. Следует соблюдать осторожность, т.к. ошибки могут привести к нарушению в работе стандартных транзакций вплоть до потери данных. Много интересной информации можно найти здесь http://platon69.narod.ru/begin.html Иногда "хотелки" пользователей таковы, что реализовать их можно, только изменив стандартный код системы. Несмотря порой на кажущуюся легкость и незначительность изменений ("вот тут одну строчечку поменять"), следует иметь в виду, что в долгосрочной перспективе это приводит к БОЛЬШИМ проблемам с вероятностью в 99%. Искусство консультанта, в том числе, состоит и в умении переформулировать требования пользователей таким образом, чтобы их можно было реализовать в системе приемлемым способом.
ТЗ (техническое задание) - это документ, в котором постановщик (консультант) описывает, что именно должен сделать (запрограммировать) разработчик (абапер). "Как именно" он должен реализовывать ТЗ, указывать не нужно, за исключение самых общих моментов. Также ТЗ должно содержать: "Почему в SAP все реализовано так сложно, я знаю как сделать проще и лучше" В SAP аккумулирован многолетний опыт организации бизнеса во многих странах, в первую очередь в Германии. Немецкая пунктуальность, четкая организованность во всем вплоть до мелочей (и эти мелкие, "несущественные", обязательные для ввода, данные в транзакциях порой так раздражают) являются известными чертами национального характера и соответственно бизнеса. В Германии кирпич на стройку должен доставляться не "20.08.07", а "20.08.07 в 12:30" и машина действительно приезжает в указанное время (соответственно перед этим, завод в нужное время получает сырье, производит требуемое количество продукции, машина не ждет своей очереди на загрузку и т. д. и т. п.) Врядли кто может поспорить по организованности и эффективности с немецким бизнесом - разве что японцы... (Русские однозначно молча курят в сторонке :) Конечно SAP несмотря на огромные возможности по адаптации, не может 100% идеально (эффективно) соответствовать требованиям бизнеса данного конкретного предприятия. Но можно с уверенностью утверждать, что после грамотного реинжиринга бизнес-процессов, система удовлетворит требованиям минимум на 95%. Вы считаете, что этого мало и надо попытаться достичь большего? Далеко не факт, что вы сможете переплюнуть SAP. Можете попытаться при соблюдении следующих условий: Где искать дополнительную информацию 1) Курсы SAP. Официально не предназначены для самостоятельного изучения. И это не только маркетинговый ход, действительно очень часто в них опущены описания некоторых простых действий (подразумевается, что их показывает инструктор), что крайне затрудняет понимание. Но приходиться понимать, ибо других источников по интересующей теме может не быть. При этом не стоит забывать, что авторские права на курсы принадлежат исключительно SAP, и весь обмен курсами (а уж тем более - их продажа) между физлицами, по сути, незаконна и может быть преследуема в уголовном порядке. Обилие НЕотсканированных курсов и на русском и на английском вызывает подозрения, что негласно их распространение если не поощряется, то и не запрещается (но это частное мнение, и его "к делу не подошьешь"). |