Смекни!
smekni.com

Руководство начинающего консультанта по SAP (стр. 2 из 3)

Группа разработки (абаперы).
Абапер - это программист на языке ABAP/4.
Задача - реализовать в системе некоторую функциональность или отчет на основе поставленного консультантом технического задания. Абапер хорошо (гораздо лучше консультанта) разбирается в функционировании системы, но при этом не знает бизнес-процессов и не общается с пользователями. Абапер имеет "ключ разработчика" - пароль, который позволяет создавать и модифицировать код в системе в предусмотренных SAPом местах. (Для модификации стандартных программ требуются дополнительные ключи.)
Практически никакой защиты от ошибок в программе в SAP не предусмотрено. Легко можно уничтожить или изменить данные в любой таблице. Барьером сохраняющим данные продуктива в целостности (в "консистентном"-логически правильном состоянии) выступает процедура разработки ориентированная на 3-х звенный ландшафт. Разработка переносится в продуктив только после тщательного тестирования консультантом.
Абапер и базисник должны обладать прямо противоположными качествами. Один - любит все изменять, улучшать, экспериментировать, второй - наоборот. При этом необходимо добиться их совместной конструктивной работы.

Что нужно знать из области базиса. Ландшафт. Транспортная система. Роли.

Рассмотрим основные понятия из области базиса.

Система (центральная инстанция) - представляет собой сервер приложений вместе с СУБД.

Мандант (клиент). - это организационно независимая часть в системе R/3. Каждый мандант имеет собственную среду данных, т.е. собственные основные и переменные данные, присвоенные основные записи пользователей, планы счетов и специфические параметры настройки.В системе может быть несколько мандантов. Почти во всех таблицах БД с пользовательскими данными и настройками есть поле, являющиеся частью ключа, которое содержит номер манданта. Когда программа запрашивает какие-либо данные из такой таблицы, к запросу автоматом дописывается что-то вроде and mndt=НомерМандантаКудаВыВошли

На практике это означает, что в каждом манданте может работать отдельное предприятие не мешая работающим в других мандантам. Но программы на ABAP/4, формуляры (отчетные формы) при этом являются общими для всех мандантов одной системы.

Репозитарий - хранилище всех ABAP-программ и описания структуры данных и таблиц, с которыми работают программы. Репозитарий является общим для всех мандантов системы.

Запрос на перенос (транспорт) - содержит программы или настройки, которые можно переносить между мандантами или системами. Деблокированный запрос представляет собой несколько файлов, содержащих требуемую информацию.

Деблокированние – этот термин в SAP означает «утверждение», отправку в работу. Пока запрос, документ не деблокированы они считаются черновиками, их можно изменять и никаких действий они не вызывают.

Ландшафт - это несколько систем, между которыми можно переносить настройки и программы. Несколько систем требуются для обеспечения процесса разработки и настройки. SAP рекомендует следующий ландшафт: [ADM325, BC325]

1 - система разработки. Содержит 3 манданта (номера можно использовать другие).

- 300 - в нем можно менять настройки и программы. При этом любое изменение сразу попадает в запрос на перенос.
- 400 - менять в нем ничего нельзя. Используется для предварительного грубого тестирования программ (кои "возникают" там одновременно с 300) и настроек (можно перенести запрос без деблокирования с помощью транзакции scc1)
- 200 - песочница (Sandbox). Предназначен для экспериментирования с настройками. Поменяли настроечку - сразу там же посмотрели, как изменилась работа пользовательской транзакции. Запросы на перенос из песочницы не формируются и соответственно эксперименты никак не могут повредить другим мандантам в этой и других системах.

2 - контроль качества

В этой системе обычно два манданта:

- 500 - используется для обучения пользователей
- 600 - предназначен для проверки корректности разработки или настройки.

Настройка или разработка может попадать в эту систему после деблокирования. Вы должны тщательно проверить, что все работает, как задумано, прежде чем переносить запрос в продуктив.

3 - продуктивная система

Обычно один мандант, в котором работают пользователи. Согласно требованиям SAP, группа внедрения вообще не должна иметь доступа к этой системе. Если у вас есть доступ к продуктиву, следует соблюдать крайнюю осторожность т. к. ошибочные действия ведут к очень тяжелым последствиям. Также иногда на продуктивной системе делают копию продуктивного манданта (на разных проектах за этим могут стоять разные цели).

Запрос переносят в продуктив базисники на основании заявки, подписанной руководителями модуля и проекта (разумеется, все может быть реализовано по безбумажной технологии, например с использованием Solution Manager - суть это не меняет)

«Зачем нужно разделение в системе разработки на настроечный (300) и тестовый (400) манданты? Почему нельзя все сразу пробовать в 300?»

Это вызвано техническими ограничениями. При вводе в 300 некоторых данных может сложиться ситуация при которой настройку нельзя будет изменить или удалить т. к. она связана с этими данными.

- Роль (отдельная) – описывает, какие именно действия может осуществлять пользователь в системе.
- Роль (групповая) - состоит из отдельных ролей. Используется для облегчения работы с ролями.

Роли являются мандантозависимыми, создаются и переносятся так же, как настройки.

Роль может содержать в себе: [ADM940]

1) дополнение к меню пользователя, т.е., транзакции с названиями, которые будет видеть пользователь;
2) объекты полномочий - описывают, что именно может делать пользователь. Например, какие транзакции он имеет право запускать, какие именно операции над данными может выполнять для данного подразделения и т. п.

Следует иметь в виду, что если пользователю присвоены несколько ролей, в которых есть один и тот же объект полномочий с разными параметрами, пользователь получит максимальные права из двух возможных (соответствует логической операции "или"). Поэтому следует быть внимательными при настройке объектов полномочий в новых ролях - "несущественный" параметр, которому вы присвоите значение "*" (разрешено все) может "аукнуться" для другой транзакции и роли.

На программном уровне объект полномочий является специальным элементом языка ABAP/4 и проверяется при выполнении программы. В зависимости от результатов проверки программа может осуществлять различные действия, например, выдавать сообщение "Недостаточно полномочий"

Профиль полномочий - это скомпилированная (приведенная в машинный вид) роль. Собственно система работает именно с профилями, роли пользователю можно и не присваивать (если нет нужды в меню). На практике консультант обычно оперирует ролями.


Версии компонентов. Обновления.

Текущая иерархия версий наиболее популярного продукта SAP выглядит следующим образом:

- SAP R/3 4.6 (A,B,C,D) Функционируют на основе «SAP базиса»
- SAP R/3 Enterprise 4.7 Работает в среде SAP WEB AS
- mySAP ERP 2004 (ECC 5.0) Функционирует на платформе Netweaver 04
- mySAP ERP 6.0 (ранее известен как SAP ERP2005 (ECC 6.0)). Функционирует на платформе Netweaver 7.0 (ранее известен как Netweaver 2004s)

( ECC – Enterprise Central Core)
( WEB AS – WEB Application server)
Более полная информация по платформе NetWeaver

Если щелкнуть на пункте меню Система -> Статус -> «Лупа», можно увидеть версии системы.
- SAP_APPL = 470 (для системы SAP версии 4.7)

- SAP_APPL = 46С (для системы SAP версии 4.6С)

[У кого есть возможность, проверьте для других систем]

Число в следующей колонке показывает номер последнего установленного пакета поддержки (содержит все исправления ошибок и дополнения, выпущенные к некоторой дате). Когда вы смотрите ноты, следует обращать внимание на версию системы, для которой она предназначена и уровень пакета, в который эта нота входит (может быть уже установлена в системе). Обновление этого компонента (обновляется ABAP-код) затрагивает большинство стандартных модулей.

- C-CEE это «русский Add-on» («дополнение») Выпускается Московским отделением SAP. Обеспечивает набор программ и транзакций для поддержки специфики отечественного бухучета. Начиная с версии >ECC 5.0, для России не он нужен (требуется ставить только на Украине и в Казахстане), поскольку функциональность, изначально включенная в дополнение, теперь входит в стандартную поставку системы.

- SAP_BASIS, SAP_ABA – эти компоненты обеспечивают функционирование «базиса». Их обновление не так сильно заметно в системе.


Что нужно знать о программировании на ABAP/4

Понимание, что именно делает программа, весьма желательно для консультанта. Часто исследование под отладчиком или просто просмотр кода являются единственным способом определить причину проблемы и найти ее решение. Это требует хорошего знания ABAP/4. [книга «Разработка приложений SAP R/3 на языке АВАР/4», курсы BC*]