Лобанов-логист
Лобанов-логист
Личный кабинетВходРегистрация
Например: Логистика

SAP-вуду, или о чем не говорят "саперы" Тюрин Дмитрий

SAP-вуду, или о чем не говорят "саперы"

Тюрин Дмитрий
главный специалист департамента ЦАБС «АСБ Беларусбанк»,
член группы внедрения SAP R/3 HR


Первое и самое сильное впечатление, возникающее у человека, сталкивающегося с SAP вживую, — ужас.

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

Это поражает.

Прикинуть стоимость внедрения можно было бы на самых ранних стадиях, просто взглянув на снимки экрана с примерами форм, но… Их-то как раз не публикуют. Бывает и еще веселее: некоторые элементы управления программы появляются не в ее окне, а в меню клиента посреди его собственных элементов управления.

Не знаешь – не догадаешься.


Следует иметь в виду, что SAP не предоставляет покупателям документацию. Ни на каком языке. Да, именно так — ПО продается без документации. Не нравится?

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


Есть серьезное подозрение, что так называемые «курсы», например (привожу из знакомой мне области) HR505 — по организационному менеджменту, HR305 — по администрированию персонала, HR306 — по учету рабочего времени и т.?д., выпускаются с искажениями, причем их масштаб настолько велик, что настройка по ним попросту невозможна. Это при том, что «курсы» выдаются после обучения, а передача их третьим лицам преследуется по закону (что, впрочем, не мешает пользователям SAP обмениваться ими на соответствующих форумах).

Из уст в уста

Почему так? Казалось бы, это очень странная позиция. Видимо, таким образом фирма SAP защищает свои интересы и интересы своих партнеров. Литературы по системе тоже очень мало. Месячная зарплата «сапера» превышает гонорар, который может предложить за книгу издательство, поэтому новички отказываются от планов «издать книгу» (а такая мысль поначалу возникает у многих), когда дорастают до специалистов. В итоге знания передаются из уст в уста. Чтобы не быть голословным, опишу типичную настройку и укажу курсы, которые ей соответствуют, чтобы вы могли убедиться, насколько сильно официальные материалы расходятся с действительностью.

Для покупателей это означает, что они не имеют ни малейшего шанса настроить SAP самостоятельно. Единственный способ справиться с проблемой — заключить договор об обслуживании с фирмой — партнером SAP. Для тех, кто занимается ИТ, это значит, что они не имеют ни малейшего шанса изучить SAP «в домашних условиях». Единственный способ — наняться на работу в компанию, которая заключила договор об обслуживании, или в фирму-партнер. (Пиратам же стоит иметь в виду, что устойчивого долговременного спроса на болванки с SAP не будет.)

Странно спроектированный интерфейс и традиции устной передачи знаний приводят к тому, что первые два года новичок работает за 600–700 долл. в месяц, после чего происходит резкий скачок зарплаты в диапазон 3–5 тыс. долл. в месяц. Настройщики (checkbox’еры) получают столько же, сколько программисты (abap’еры), и это совершенно справедливо: ниже будет, понятно, почему. Сравните: потолок для программиста на Cи++ или Java сегодня можно оценить в 1500 долл. в месяц — и это при высокой квалификации. Максимально же известная сумма, которую запрашивал «сапер» (причем фрилансер), составляет 19 тыс. долл. в месяц.


Взгляд изнутри

 
Теперь посмотрим на систему поближе, на примере работы с модулем HR (humain resources, он же HCM, humain capital management; предназначен для управления человеческими ресурсами). Тут придется перейти на терминологию SAP (сохранившуюся неизменной с каких-то доисторических времен). Программы здесь называются report‘ами. SAP написан на языке ABAP, в котором существуют три разновидности процедур — function, form, report. Report может иметь второе, дополнительное имя, называемое транзакцией (которое не имеет никакого отношения к транзакциям баз данных вообще и той базы данных, с которой работает SAP, в частности). Только report может иметь транзакционное имя. Дают его в транзакции SE93. Каждый раз, когда встречается слово «отчет», знайте, это — не отчет, а report (т.?е. процедура).

Когда пользователь регистрируется в клиентском ПО, он видит дерево ярлыков (как в Windows Explorer, только оформлено оно чуть иначе) для запуска прикладных транзакций. Корень этого дерева называется Меню SAP и не имеет ничего общего с меню клиента. Кроме того, в клиентской программе есть командная строка, через которую также можно запускать транзакции.

Транзакцию Implementation Guide, она же SPRO, нужно упомянуть, поскольку она занимает совершенно особое место — демонстрирует дерево ярлыков для запуска транзакций, с которыми работает настройщик. Далее — то, что в СУБД называют view («виды»), в SAP называют ракурсами. Часть таблиц модуля HR называют не таблицами, а инфотипами, их записи — записями инфотипов. Имена всех таблиц, инфотипов, ракурсов — это просто их порядковые номера, что отнюдь не упрощает их использование. При этом порядковые номера содержат не только цифры, но и буквы.

ABAP работает с именами, указанными в Data Dictionary — своего рода «прокладке» между ним и СУБД. Для обработки записей таблицы или ракурса с помощью GUI можно в транзакции SE11 создать специальную программу, называемую диалогом ведения (для этого во время транзакции SE11 в меню клиента (!) выбрать «утилиты», затем «генератор ведения таблиц»), которую затем запустить в транзакции SM30 (указав имя таблицы). Если несколько таблиц/ракурсов связаны (по всей видимости, посредством foreign key), то редактировать их содержимое, отображая для записи одной таблицы связанные с нею записи другой таблицы, можно, создав в транзакции SE54 специальную программу, называемую кластер ракурсов, которую затем запустить в SM34 (несмотря на название, кластер ракурсов родствен диалогу ведения, а не ракурсу). Кроме того, существуют кластерные таблицы (например, BSEG), не являющиеся плоскими таблицами, для которых нельзя создать ни диалог ведения, ни кластер ракурсов, из них нельзя делать select. Диалог ведения для инфотипов создается всегда, но SM30 с ним не работает — разные подгруппы инфотипов создаются, а затем обрабатываются разными транзакциями, например PPCI и PPOME, PM01 и PA30 и т.?д.

Существует понятие подтип инфотипа, это — инфотип с определенным значением в его поле SUBTY. Например, инфотип «члены семьи» может иметь подтипы «брат», «отец» и т.?д. Соответственно идентификатор подтипа — это значение данного поля (оно может оставаться незаполненным). В последующих статьях будем добавлять термины по мере надобности.

Найдите где-нибудь, например, курсы HR315 и HR530 и попытайтесь настроить или по крайней мере своими словами сформулировать последовательность действий, которые придется произвести, и помните об ответственности. Даже в SPRO нужные транзакции вы не найдете. В это невозможно поверить, но так оно и есть.

Годовая стоимость настройки SAP (не считая стоимости выявления бизнес-процессов организации, проводимой более дешевым персоналом) в десятки раз превышает стоимость самого SAP как комплекта ПО. Учитывая, что ниже приведен едва ли не самый безобидный образчик «черной магии» SAP, неудивительно, что «сапер» стоит в пять раз больше, чем проектировщик, занятый переработкой бизнес-процессов организации…

Практический пример

Дадим подсказку: на самом деле задача и методы ее решения формулируются так: «создать новое мероприятие в перечне мероприятий прикладной транзакции PB40».

Предварительные действия, без которых не удастся увидеть то, что было настроено, — выставить себе правильный идентификатор группы пользователей. Он указывается в меню клиента «Система/Постоянные значения пользователя/Собственные данные», вкладка «Параметры», переменная UGR. Значение не означает ничего (в этом смысле оно произвольно), кроме того, что оно будет сравниваться на совпадение с соответствующим полем обрабатываемых таблиц.

Порядок действий по настройке.

Запустите транзакцию SPRO. На рисунке показана только часть дерева; отмечены пункты, имеющие отношение к созданию нового мероприятия в PB40. Позиции с «часиками» — это транзакции, остальные — папки.

1. Запустите «Изменение инфогрупп». Появится окно «Название операции».

Первая позиция «зависимость групп пользователей от меню и инфогрупп» вообще-то неправильно именована! — правильнее ее называть «зависимость инфогрупп от групп пользователей». Эту позицию и запустите. В появившейся таблице создайте новую запись (этим создадите новую инфогруппу, т.?е. группу инфотипов). Предназначение колонок:
Меню — никакое это не меню! Это только что нами придуманный идентификатор инфогруппы! В общем случае нельзя начинать идентификатор с произвольного символа, не рискуя нарушить работу системы. С каких символов может начинаться идентификатор, можно узнать в транзакции SM30 в таблице TRESC (далее необходимо указать название таблицы, в которую вы добавляете идентификатор. А его, в свою очередь, можно узнать, нажав в любом поле той таблицы клавишу F1, затем во вновь появившемся окне кнопку «Техническая информация»).
Название — придуманное название инфогруппы.
Ссылка — никакая это не ссылка! Это ваш придуманный идентификатор группы пользователей (при несовпадении идентификатора пользователя и идентификатора, прописанного здесь, демонстрируется предупреждение).
Остальные колонки оставьте пустыми. Сохранитесь, выйдите. Запустите «инфогруппа». В появившемся окне введите тот же идентификатор инфогруппы, нажмите «Ввод». В появившейся таблице создайте новые записи (в них нвы перечисляете инфотипы, входящие в эту инфогруппу). Предназначение колонок:
ГруппаПользователей — введите тот же идентификатор группы пользователей.
№ — порядок предъявления инфотипов, задается положительными числами. Рекомендуется шаг изменения номеров больше 1, чтобы между любыми двумя последовательно предъявляемыми инфотипами можно было вставить третий, установив его номер меньшим первого инфотипа, но большим второго. Примерно как в BASIC.
Операция — кодовое обозначение операции, которую вы позволяете (и одновременно заставляете) выполнить над инфотипом. Вас интересуют следующие значения: DIS=просмотр данных инфотипа (вы предъявляете инфотип, чтобы пользователь убедился, что работает с нужным набором данных), MOD=просмотр и изменение данных, INS=внесение данных, INSS=разрешено и MOD, и INS.
Инфотип — номер инфотипа (перечень разрешенных инфотипов приведен в таблице T582C, посмотреть которую можно транзакцией SM30).
Подтип — идентификатор подтипа инфотипа.
Значение в колонку «Текст инфотипа» SAP подставит. Сохраняемся, выходим.

2. Запустите «Изменение мероприятий кандидатов».

 

В появившейся таблице (все колонки не уместились по ширине в страницу, пришлось расположить в два ряда) создайте новую запись (этим создадите новое мероприятие). Предназначение колонок:
ВидМероприятияКандидата — ваш придуманный идентификатор мероприятия.
НазваниеВидаМероприятия — ваше придуманное название мероприятия.
Инфогруппа — введите тот же идентификатор инфогруппы. Если для мероприятия не указана инфогруппа, то демонстрируется инфотип 4000.
Сохранитесь, выйдите.

3. Запустите «Изменение меню мероприятий».

 

Появится окно настройки мероприятия. Запустите «Меню мероприятий: кандидаты». В появившейся таблице создайте новую запись (этим мы «прописываем» новое мероприятие в перечне мероприятий). Предназначение колонок:
ГруппаПользователей — введите тот же идентификатор группы пользователей (демонстрируются только мероприятия, идентификатор которых, прописанный здесь, совпадает с идентификатором пользователя).
№ — порядковый номер мероприятия в перечне мероприятий.
Мероприятие — введите тот же идентификатор мероприятия.
Значение в колонку «НазваниеВидаМероприятия» SAP подставит сам. Сохранитесь, выйдите.

4. «Создание динамических мероприятий» уведет нас далеко в сторону, поэтому описывать его не будем, а только упомянем для завершенности общей картины.

 

Техническая безопасность

Она в SAP низкая. В одной схеме базы данных могут быть расположены данные сразу нескольких компаний, для различения их записей в таблицах и инфотипах существует поле MANDT (часть таблиц модуля HR – humain resources, он же HCM, humain capital management, предназначенного для управления человеческими ресурсами – называют не таблицами, а инфотипами, infotype, их записи – записями инфотипов). Соответственно таблицы и инфотипы с этим полем называются клиенто-зависимыми, а без него – клиенто-независимыми. Совокупность записей всех клиенто-зависимых таблиц и инфотипов с одинаковым значением этого поля и всех записей клиенто-независимых называется мандантом. Разграничение прав доступа на основе значения этого поля прописывается в логине. Логины для разных мандантов разные и не имеют никакого отношения к логинам СУБД. Далее, полномочия в SAP бывают обычными (хотя правильнее их назвать плоскими) и структурными (последние существуют только в модуле HR и отсутствуют в других модулях). Первые описывают режим доступа к любым элементарным объектам – процедурам, транзакциям (программам), таблицам, ракурсам, инфотипам; вторые – к под-деревьям организационного плана компании (организационный план компании состоит из «объектов» и «соединений», которые хранятся соответственно в 1000 и 1001 инфотипах).

Связь соединяет два внутренних (т.е. из модуля HR) объекта или внутренний с внешним (т.е. с объектом из другого модуля). Связи не имеют никакого отношения к foreign key баз данных, а являются, как уже было сказано, записями 1001-го инфотипа и имеют следующие атрибуты: идентификаторы двух объектов, между которыми связь протянута, направление (от первого ко второму или от второго к первому), имя связи (называемое соединением), два произвольных числа (называемых взвешиванием и приоритетом), даты начала и конца существования связи, временная привязка. Связи между совершенно разнородными парами объектов могут иметь одинаковое имя (соединение). Временная привязка – это ограничение целостности для периода существования, и бывает следующих видов: связь с данным именем и направлением между данными объектами может существовать только один раз за все время существования объектов; может существовать несколько раз, но периоды существования не пересекаются и не образовывают разрывов; только не пересекаются (возможны разрывы); никаких ограничений. Не существует временной привязки, обязывающей только не образовывать разрывов (и допускающей пересечения). Под-дерево организационного плана, на которое выдаются полномочия, задается корнем, максимальным количеством уровней и путем анализа, который является перечислением допустимых связей без указания глубины их расположения в дереве (в т.ч. без указания идентификаторов объектов, которые связь соединяет). Не получив полномочия на некоторые объекты – записи 1000-го инфотипа – невозможно по их первичному ключу найти относящиеся к ним записи других инфотипов, в которых зафиксированы те или иные свойства объектов. Пути анализа поименованы и применяются не только механизмом контроля полномочий, но и report-ами для извлечения под-деревьев.

Между плоскими и структурными полномочиями выполняется операция AND, они группируются в профили, профили в роли, роли в групповые роли. Вычитания полномочий нет. Роли и групповые роли при установленном модуле HR выдаются под-деревьям организационного плана, начинающимся с должностей, штатных должностей, рабочих мест, персон (табельный номер привязывается к логину в 105-м инфотипе) и организационных единиц компании, а без него – напрямую логинам. Под-дерево, которому выдаются полномочия, не имеет количество уровней и путь анализа в качестве ограничений. Не существует механизма не делегировать полномочия какой-либо из его ветвей.

Роли в SAP не имеют никакого отношения к ролям СУБД. И все бы хорошо, если бы не одно «но»: ни логин, ни роль не ограничивают ABAP-программы, а только поставляют им дополнительные данные: report-ы имеют доступ сразу ко всем инфотипам и таблицам, ко всем их записям (в т.ч. к записям всех мандантов) и сразу по всем операциям (вставка, удаление, изменение, чтение). Существует транзакция SCI для выявления потенциально опасных действий программы до ее запуска, но после запуска проконтролировать и остановить программу не может ничто. Потенциально в системе есть место для двух центров контроля – в ABAP-интерпретаторе и в SQL-интерпретаторе. Однако в первый возможности контроля до сих пор не добавлены, а во втором они отключены – СУБД низведена просто до раздатчика и приемщика записей. А что вы хотите? ABAP появился на пятилетку раньше, чем Clipper и Fox.. Чтобы соответствовать современным представлениям в язык добавили операторы обращения к базе данных, однако есть серьезное подозрение, что SAP никто не переписывал. Вы наверное представляете, что такое Fox, обращающийся за данными в Oracle или Postgres (опять же, чтобы соответствовать современным представлениям в SAP добавлен Java, однако весь продукт наработан на ABAP, и уйти от него невозможно).

Замусоривание базы данных – вещь обычная. Взять хоть тот же пример из предыдущей статьи: запустите транзакцию PB40, выберите в ней любое мероприятие, нажмите «выполнить» (F8), пройдите несколько экранов, введя в них данных (переход от экрана к экрану осуществляется по кнопке «сохранить», Ctrl-S), выйдите из транзакции (кнопка «выход», Shift-F3) на каком-нибудь промежуточном этапе (не доходя до последнего экрана). Вы оставили после себя в базе данных столько записей инфотипов, сколько экранов прошли, rollback не было, замусоривание базы данных произошло. А теперь представьте, что у вас будет с информационной безопасностью, когда один и тот же кандидат будет внесен в базу данных несколько раз под разными номерами – и использован под ними, когда будет выполняться удаление дубликатов (а также как упадет производительность персонала, рыскающего по длинному списку, как он будет демотивирован этим и т.д.)

Смежным моментом является копирование данных из ранее использовавшейся АСУ в SAP. Фирма SAP утверждает, что существует однозначное соответствие между таблицами/инфотипами, демонстрируемыми в транзакциях, и таблицами реляционной базы данных – и категорически запрещает копировать в базу данных напрямую в обход SAP (выключил constraint-ы, загрузил в таблицы, включил constraint-ы). Мол дескать SAP сделает за вас проверку данных на самосогласованность, которая и так уже существует в предыдущей АСУ. В самом SAP загрузка делается транзакцией LSMW или группой методов «download» на ABAP (возможна загрузка в ракурс). В этом случае вы, правда, напарываетесь на неюзабельность – соответствие полей загружаемых данных и полей таблиц/инфотипов задается не во внешнем файле (например, текстовом или xml-ом, которые можно было бы сгенерировать и подправлять автоматически), а в самой транзакции вручную. Не будем уже упоминать такие мелочи как поле «текст неограниченной длины», которое может быть только одно в таблице и только последнее из полей, и пр. Меньше универсальности, больше перекраивания, больше ошибок.
Экономическая безопасность

Экономически выгоднее привести бизнес-процессы компании в соответствие с возможностями SAP, предоставляемыми настройками (checkbox-ами и radiobox-ами в настроечных транзакциях), чем добавлять функциональность своими разработками на ABAP. Новая функциональность незнакома саперам-настройщикам; конфликтует с service pack-ами (ведь у принимаемого на работу абапера на лбу не написано, может ли он писать так, чтобы разработки с ними не конфликтовали, да и квалифицированный абапер иногда такого наворотит; для модуля HR вместо появления новых версий будут поставляться расширения EhP и CLC, конфликты с которыми скорее всего тоже войдут в практику), в результате конфликтов разработки придется переписывать или не устанавливать service pack-и (а теперь, видимо, и расширения); документация на разработки будет скудна, в связи с чем сопровождать их будет крайне тяжело. В случае SAP все это становится критичным в связи с высокой ценой саперов – уже невозможно переписать все с нуля за копейки. Это же замечание ограничивает в возможностях re-engineering-а вообще, затрудняя перепроектирование организации в произвольном направлении.

Модель ведения бизнеса, предоставляемая SAP, отнюдь не лучшая. Опять сошлемся на уже упомянутый пример. Часть инфотипов предназначена для хранения данных о кандидате в сотрудники (в кандидаты принимают в транзакции PB40), часть – для хранения данных о сотруднике (в сотрудники принимают в транзакции PA40). Первые инфотипы являются подмножеством вторых. Может статься, вам нужно собирать больше данных о кандидате, например, регистрировать его инвалидность и ее параметры. Однако инфотип, в который они записываются – инфотип 4 – предназначен только для сотрудников. Если вы пропишите его для мероприятия транзакции PB40, то система продемонстрирует его в мероприятии, но введенные данные не сохранит. Записи инфотипов для кандидатов хранятся в таблицах базы данных с именами вида PBxxxx, где xxxx – номер инфотипа, номера меньшие тысячи содержат лидирующие нули; записи инфотипов для сотрудников – в таблицах с именами вида Paxxxx; инфотипы демонстрируются и сохраняются ABAP-модулями MPxxxx00. Независимо от того, в какой таблице вы хотите регистрировать инвалидность и ее параметры – в PA0004, во вновь созданной PB0004 (создав ее, вы вторгаетесь в область системных имен и рискуете нарушить работу системы при установке ближайшего service pack), или во вновь созданной таблице вне системных имен, вам придется модифицировать MP000400. Кроме того, придется решать проблему переноса данных при приеме сотрудника из числа кандидатов. Полные перечни инфотипов для кандидатов и инфотипов для сотрудников вы можете видеть в транзакциях PB30 и PA30. Если вам необходимо поэкспериментировать с приемом кандидата или сотрудника: удаляют кандидата или сотрудника со всеми записями инфотипов в транзакциях PB30 и PA30 соответственно, выбирая в меню клиента, а не в меню экрана, позиции «Вспомогательные функции / Удалить номер кандидата» в первой транзакции и «Утилиты / Удалить табельный номер» во второй (некоторые элементы управления программы появляются не в ее окне, а в меню клиента посреди его собственных элементов управления: не знаешь – не догадаешься).

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

Но практически всегда модели бизнеса потребителей достаточно отличаются) требуют добавления полей в инфотипы, создания непредусмотренных отчетов и просто дописывания логики работы – это вы знаете и по другим АСУ. Т.е. даже если вы поступитесь, без разработок все равно не получается.

Кроме того, в современном обществе настройка превратилась фактически в обманку: каждый производитель преднамеренно создает в своем ПО область ручной путанной работы – а как иначе превратить клиента в дойную корову? Иначе клиент скопирует ПО, уйдет и не заплатит. От программирования такая настройка отличается уже мало. Сошлюсь на книгу С. Г. Кара-Мурза «Манипуляция сознанием», которую можно скачать с сайта kara-murza.ru, она же продается в московских магазинах (в других городах, думаю, тоже есть). Вопрос «дойки» тесно смыкается с вопросом «удержания», см. en.wikipedia.org/wiki/Vendor_lock-in Чтобы развеять ваш романтизм, расскажу о более циничных способах, например в хартии w3.org прямо записано, что новая технология не может быть стандартизирована, если существует технология с той же областью применимости – при изложении HTML60 мне разъяснили, что этот пункт направлен не против аналогичных технологий, а против более совершенных (речь в частности шла о том, что появление языка JavaScript надолго остановило развитие языка HTML). Мы по наивности воспринимаем (по крайней мере бессознательно) международные организации как созданные пользователями и для пользователей, на самом деле скинулись парни с деньгами. Даже W3C. От кого и что вы еще ожидаете? От R/3?

Не только настройщиков, но и пользователей нужно учить. Стереотипы использования, положенные в основу SAP, отнюдь не современны, например, не нажать-на-кнопку, а нажать-на-кнопку и на-кнопку-«выполнить» (F8, иконка «часы»). Например, для запуска мероприятий в той же транзакции PB40 вы нажимаете на кнопку напротив мероприятия (она утопляется, нажатие на другую освобождает первую кнопку, т.е. они ведут себя как radiobox-ы, при этом о том, что это кнопки, нужно еще догадаться, их ряд замаскирован под левую утолщенную границу таблицы, строки которой содержать названия мероприятий), а затем на иконку «часы». Экраны перегружены элементами управления: переход к следующему экрану – кнопки «сохранить», «следующий экран»; возврат к предыдущему экрану – кнопки «назад», «предыдущая запись»; выход из транзакции – кнопки «выход», «отмена». Вместо многострочных текстовых полей ввода («textarea» в терминах HTML) система содержит несколько однострочных («text» в терминах HTML), приходится делить строку на несколько частей и вбивать части в отдельные поля. Длинные выпадающие списки («select» - «option» в терминах HTML) демонстрируются не с места ранее выбранной позиции, а с самого начала. Часть автоматизируемой работы попросту приходится делать вручную, например, после ввода нового кандидата (сотрудника и т.д.) он не появляется автоматически на экране в списке кандидатов, для обновления этого списка нужно выполнить поиск всех кандидатов вручную. А главное – сам интерфейс сделан так, что последовательность событий не прогнозируема, опытный пользователь, который в другом ПО разбирается сам, тут бессилен. Таким образом дороги не только изменения настроек и доработок, но и смена собственного персонала. И расходы состоят не только из оплаты обучения. Время на привыкание к такому ПО увеличивается – даже если допустить отсутствие негативной реакции и сопротивления. А негативная реакция есть.

Для миража, устроенного SAP в масштабах планеты, я знаю только один аналог: отбирание срубленного и неоплаченного леса, и внушение, что это – ваши леса, снесение домов, построенных без оплаты земли, и внушение, что это – ваша земля. И так во всех цивилизациях. Больше ничто с SAP по грандиозности миража сравниться не может.

SAP украшает имидж организации, позволяет не беспокоиться за мысли отружающих, что ты принял правильное решение. SAP – это что-то очень крутое… 

Мотивы выбора лица, принимающего решения, могут быть сильно чреваты для жизнеспособности организации. Приносить ей и техническое, и финансовое кровопускание. А в целом по отрасли цены снизиться не могут, в ряду конкурентов видим типичную диссипативную структуру, типичный триггерный эффект: кто больше отобрал, тот больше имеет ресурсов для ведения войны, а значит с позиции силы снова больше отберет. Конформизм является механизмом поддержания триггерного эффекта – против постоянного вдалбливания человеческая природа бессильна. Доли рынка конкурентов стоят в геометрической прогрессии, а все они барражируют, закрывая новые подходы. Поэтому делегирование права принятия решения вниз IT-шникам или бизнес-аналитикам приводит не более чем к нахождению мелких отличий, много меньших масштаба самой отрицательной величины. Чтобы избежать кровопускания, необходимо подняться над схваткой (см. например «Свои представления вместо чужих, путь первый: схема экрана есть схема данных» kv.by/index2008494201.htm и другие статьи), ведь давно известно из науковедения (science of science), что новая точка роста, скачек возникает при создании нового типа инструмента, а не следующего изделия старыми инструментами. Почитайте хотя бы классика Eugene Garfield

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

Юридическая безопасность

Никакое ПО не может заставить операции клиента соответствовать требованиям законодательства. Хоть отслеживай производитель ПО национальное законодательство, хоть не отслеживай. С другой стороны, схему бизнес-процессов организации, подписанную проектировщиком, или альбом бланков приказов, подписанный юристом, можно ввести в любую АСУ. А вот приезды и замеры, какие компоненты установлены и каково количество операций в течение суток вам совершенно ни к чему.

За саповские деньги вы реализуете любое решение. И в те же сроки – все организации плохо управляются, но никто в этом не признается. 

Слайдшоу


Рис. 1. Запускаем транзакцию SPRO, на рисунке показана только часть дерева, отмечен пункт для создания, модификации, удаления путей анализа


Рис. 2. В появившемся окне представлен кластер ракурсов – образование для редактирования двух связанных (по всей видимости, посредством foreign key) таблиц: для записи одной таблицы отображаются связанные с нею записи другой таблицы. Во фрейме (в терминах HTML) слева выбираем первую таблицу «путь анализа», во фрейме справа видим ее записи.

Предназначение колонок:
ПутьАнлз – идентификатор пути анализа 
Текст пути анализа – его текстовое описание

Записи можно добавлять, удалять, исправлять. Выбираем одну из записей, утопив голубую прямоугольную кнопку на левой границе правого фрейма…


Рис. 3. …и нажимаем «Путь анализа (отдельное ведение)» в левом фрейме, дабы видеть перечисление связей, входящих в данный путь анализа.

Предназначение колонок:
№ – фиктивный целочисленный идентификатор (не значит ничего, но присвоить нужно) 
ТипОбъект и ТипСвязОбъекта – вид объекта на том и другом концах связи: O – организационная единица, C - должность, S – штатная должность, P - персона, Q - квалификация, A – рабочее место, T - задача, K – место возникновения затрат, и т.д. 
A/B – направление связи (A – снизу вверх, B – сверху вниз) 
Соединение – имя связи (ваше имя, в отличие от системного, лучше начинать на Z) 
Приоритет – поставьте «звездочку» для обозначения любого приоритета 
Обозначен  Соединения – SAP подставит сам

https://www.lobanov-logist.ru/library/352/56978/

дата: 00.00.0000 00:00:00    просмотров: 12144

рейтинг: 
(Голосов: 14, Рейтинг: 4.14)



Рекламный блок

Подстроились под рынок: что драйвит рынок логистики Скорость и прозрачность: как изменился рынок доставки в маркетплейсы Х5 Group разработала новую систему управления складом Юрист о сложных вопросах в контрактах по ВЭД поставок в логистике