RPA для перехода с SAP на 1С
Зачем нужна роботизация при переходе с SAP на 1С. Как мигрировать с SAP с минимальными усилиями и даже без команд поддержки SAP.
- Описание
- Подробнее
Описание
Что мы подразумеваем под SAP?
Тут, конечно, стоит сразу уточнить, чтобы не показаться уже совсем дилетантом в этом вопросе.
В проектах перехода с SAP на 1С я участвовал не раз, но, к сожалению, до того, как это стало мэйнстримом.
Сама по себе фраза "переход с SAP на 1С" обычно сразу выдаёт человека "недалёкого и необразованного", поэтому использую я её в статье сугубо для упрощения (а оно ещё как потребуется). Конечно, SAP и 1С — это бренды, принадлежащие компаниям соответственно SAP AG и ЗАО "1С" (могу конечно ошибаться, но как-то так). При этом продуктовая линейка у обоих компаний крайне обширная. Под 1С мы будем понимать главным образом ERP или, я бы даже сказал, любимый всеми "ERPУХ", поскольку для перехода с SAP выбираем флагманское актуальное решение.
Что же касается линейки продуктов SAP…
Сразу скажу, что SAP BO (Business One — не путать с Business Objects, которое, впрочем, тоже уже переименовали:) ) в рамках этой статьи рассматривать не будем (хотя RPA для него тоже подойдёт) просто BO относительно простая история — проще разобраться в структуре, сделать выгрузки и перейти "одним днём", притом не факт, что на ERP — вполне вероятно, на УНФ или КА. Тут можно, наверное, "обойтись привычными эксельками".
В статье буду придерживаться основной линейки, ведущей свою историю от R/3.
Хотел обойтись без рекламных SAP-овских картинок, но уж очень они хороши:

Итак, если вы думали, что у 1С всё запутано, то наслаждайтесь :).
На самом деле всё проще: в 1992 году появился SAP R/3 — тот SAP, который мы знаем, и до 2004 года ничего с ним не случалось кроме переименований, в 2004 он встал на NetWeaver — самая популярная на текущий момент "платформа" для SAP. Потом ещё пара переименований вроде ECC, All-In-One, BS.
Пока в 2015-м не появилась HANA, она же S/4, которая про inmemory и columnstore и вообще изначально больше про БД. Но в целом теперь это название актуальной версии SAP.
А что не так с интеграцией?

Зачем всё это нужно знать?
Для того, чтобы понимать — если у вас SAP до NetWeaver, то SAP-ёры предложат вам "классный инструмент", который они называют RFC (не путать со стандартами!!!), это по сути то, что все нормальные люди называют RPC (удаленный вызов процедур), но в SAP решили, что у них функции и будем называть RFC… Для него есть, конечно, прекрасный SDK на C++. В общем, как вы уже поняли, это не для нормальных здоровых людей.
Но скорее всего у вас будет SAP уже посвежее и вы услышите что-нибудь про XI\PI (это два названия одного и того же, которые просто устали путать и все используют вместе :)). И там будет "полный SOAP" с xsd схемами, которые кроме SAP-а никто больше не прочитает, но "ручками" можно, всё таки быстрее, чем C++ SDK.
Может ещё всплыть тема вроде iDoc — это типа нашей универсальной выгрузки загрузки XML — с неё я бы рекомендовал сливаться, если не уверены в себе или ваших друзьях SAP-ёрах. Косяки ловить можно очень долго.
Но, кстати к чести SAP-овцев, стоит сказать, что вся эта история обратно совместима… так что если освоили RFC то это будет работать вообще везде :).
Благодать наступает с S/4 Hana — тут уже вам могут предложить ODATA, даже управляемую через CDS.
Это конечно не самая простая история и в SAP надо очень хорошо разбираться, но относительно описанного выше — самая приличная, хотя бы привычный уже REST.
А что с интерфейсом?

Тут тоже много всего интересного. Но коротко — есть два типа интерфейса: SAP GUI и SAP Fiori.
То, к чему мы с вами привыкли — это SAP GUI. Интерфейс убогий, но практичный.
Если успели забыть, как он выглядит — могу напомнить:

Но кто не видел, ничего не потерял.
Если у вас SAP версии до HANA, то именно этот интерфейс вы скорее всего увидите.
Хотя всё, конечно, зависит от SAP-ёров. Чтобы писать на Fiori, не обязательно использовать HANA.
Тем не менее, большинство аппликух переписано на fiori уже в HANA (заметьте, не все!).
Кстати, ничего не напоминает в 1С? 🙂
SAP Fiori уже HTML5, так что выглядит всё очень даже прилично:

И причём тут RPA?
Так вот, весь предыдущий экскурс в историю был именно ради этого момента, чтобы слова не звучали пустыми:
- Интеграция с SAP дело непростое
- В SAP по сути два вида интерфейса
Где же место RPA в проекте миграции с SAP?
Если сейчас вам на ум пришли "загрузка — выгрузка начальных остатков и номенклатуры", то НЕТ!
Давайте будем честны с собой — остатки проще всего загрузить обычными CSV и XLS — если это разовая история. RPA тут, конечно, можно приделать, но особого смысла, пожалуй, нет.
Если есть наивные читатели, которые скажут "ну тогда он не нужен, мы загрузим начальные остатки и начнём работать в 1С с 1 января нового года, SAP удалим 2 января", то им, конечно, нужно один раз это проделать в своей жизни… просто чтобы понять, что жизнь штука тяжелая 🙂
В общем, идеальное место применения для роботов в проектах миграции с SAP — это ПОДДЕРЖКА ПАРАЛЛЕЛЬНОЙ ЭКСПЛУАТАЦИИ 2-х систем:
- Робот пишется быстро и не требует больших вложений в разработку, с учетом того, что это временное решение, то такой подход более чем оправдан
- Не нужно привлекать две команды для параллельной эксплуатации
- Робот может как брать данные из SAP и вносить в 1С, так и брать из 1С и вносить в SAP
- Робот учитывает все интерфейсные механики и не требует глубокого знания структуры систем
Соответственно RPA поможет на проекте избежать работы пользователей в двух системах, а это и ускорение процессов, и право на ошибку, и более гладкое внедрение, я бы даже сказал, в принципе сама возможность внедрения. Более того, для RPA вам не нужно дорогостоящих консультантов и разработчиков — достаточно просто чтобы пользователь показал, куда и что он вводит в SAP, а консультант показал, куда и что надо вводить в 1С… Кстати, как инструмент тестирования и проверки это тоже весьма неплохо подходит :).
Так реально ли мигрировать с SAP на 1С без команды поддержки SAP?
При наличии консультантов и\или продвинутых пользователей, конечно, да.
В конце концов данные в систему или загружаются или вносятся людьми.
То, что вносится людьми, легко роботизируется. Прямо очень легко.
Для SAP UI есть замечательная штука "Script recording and playback":


Садимся рядом с пользователем, жмём "записать", получаем скрипт, скармливаем его OneRPA и расставляем параметры. Наслаждаемся.
Для 1С процедура схожая как две капли воды, впрочем, вы её знаете:

Если же речь идёт про Web интерфейс (Fiori) то с ним работы средств, конечно же, много, и с селекторами в нём всё намного лучше, чем в 1С (по крайней мере нет циклических, неуникальных и не меняются постоянно).
Осваивается это всё 1С-ником за пару часов (тут я именно про OneRPA, с другими не знаю) после чего жизнь на проекте миграции становится намного более приятной и понятной.

