Інтеграція систем і даних

Обмін з SAP

До нас звернувся клієнт Miniso Україна з потребою по розробці та впровадженню Підсистеми обміну даними між Корпоративною Інформаційною Системою Замовника на базі програмного продукту 1С:Підприємство (надалі КІС) та програмним продуктом SAP (надалі SAP)

Обмін з SAP

До нас звернувся клієнт Miniso Україна з потребою по розробці та впровадженню Підсистеми обміну даними між Корпоративною Інформаційною Системою Замовника на базі програмного продукту 1С:Підприємство (надалі КІС) та програмним продуктом SAP (надалі SAP)

В ході проекту було успішно реалізовано обмін даними між системами. Короткий опис проведених робіт наведено нижче:

Адміністрування інтеграційної платформи

В рамках підсистеми «Сервіс» для управління та налаштування інтеграційної платформи був реалізований відповідний функціонал в системі Управління торгівлі, а саме додано ролі.

Логування.

Для аналізу зміни даних та операції вивантаження даних в інтеграційну платформу додано ряд сервісних підсистем для логування.

Кожний с записів SAP (елемент відповідного довідника) має відповідний запис Log в якому фіксуються всі операції та помилки. Запис Log можна відкрити як безпосередньо с запису SAP так і через загальний інтерфейс.

Сервісні команди.

Для можливості ручного виконання дій с записами SAP розроблені сервісні команди. Перелік сервісних команд залежить від типу запису SAP – для записів Майстер дати це один перелік команд, для вхідних записів – другий перелік, для вихідних записів – третій перелік команд і так далі.

Майстер дата (Master Data)

Підсистема «Майстер дата» обробляє вхідні дані з SAP і перетворює її в нормативно-довідкову інформацію в УТ. Автоматично створюються і оновлюються тільки ті дані, які пов’язані з товарами, цінами та продуктовими категоріями. Інша нормативно-довідкова інформація така як склади, дані покупців та постачальників синхронізується з існуючими об’єктами вручну адміністратором системи.

Синхронізація номенклатури (SAP1, SAP5).

До початку роботи в SAP вся номенклатура в УТ була згрупована по основних групах номенклатури. Крім того, в додаткових реквізитах номенклатури зберігалася розгорнута класифікація та додаткові реквізити. Після запуску інтеграції УТ з SAP управління категоріями та групами номенклатури було передано в SAP. SAP вивантажує дані через довідник SAP5, після чого УТ обробляє дані і створює відповідні групи номенклатури, також створюються нові значення в додаткових реквізитах. Таким чином, значення категорій створюються автоматично.

Синхронізація роздрібних цін (SAP8).

При завантажені даних про зміни цін номенклатури у записі SAP, система вираховує за який день були внесені зміни і виконує оновлення даних в регістрі SAP8: Product price(a) за необхідний день. Після чого, змінюється статус з «Processed» на «Updated».

На основі завантажених даних в SAP8: Product price(a) виконується регламентне завдання «SAP: Обробити ціни (а)», яке обробляє усі записи SAP8, вибирає ті записи в яких оновилися дані по цінам та виконує встановлення цін номенклатури. Вся процедура встановлення і оновлення цін номенклатури виконується автоматично у відповідності з розкладом регламентного завдання «SAP: Обробити ціни (а)».

Синхронізація складів та кас ККМ (SAP7).

Після створення нового складу в УТ необхідно виконати синхронізацію. Для цього потрібно вказати (вибрати) відповідний реквізит в довіднику «Склади» з довідника SAP7.

Після того як адміністратор системи зазначить цей реквізит в довіднику «Склад», система автоматично заповнить необхідні додаткові реквізити, такі як вид номенклатури ( обладнання, товари), SAP ІD складу, тип магазину.

Синхронізація каси ККМ виконуються в ручному режимі при первинному створенні елемента довідника. Адміністратору системи необхідно вручну заповнити поле SAP id. Значення формується як SAP id магазину + латинська літера : a/b/c

Синхронізація постачальників (SAP6)

Для синхронізації постачальників необхідно в регістрі відомостей «Параметри заповнення документів постачальників» створити запис та вказати наступні дані:

– «Період» – період з якого діє запис;

– «Запис сап» – вказати посилання SAP;

– Партнера та контрагента в системі УТ;

– Договір, який буде підставлятись в документи замовлень, що будуть завантажуватися з SAP.

Синхронізація покупців (SAP27).

Для синхронізації покупців необхідно заповнити регістр «Параметри заповнення документів покупців» та вказати в ньому посилання на запис SAP27.

Синхронізаціяфранчайзі та комісіонерів.

В системі УТ операції відвантаження франчайзі та комісіонерам виглядають так само, як відвантаження стороннім покупцям, тобто необхідно вказати контрагента та договір. Але в системі SAP відсутні такі дані, які зв’язують магазин, контрагента і договір. Для опису схеми відвантаження на магазини франчайзі та комісіонерів в УТ розроблено регістр відомостей «Параметри заповнення документів Франчайзі». В залежності від типу договору ( комісіонер чи франчайзі) система буде створювати документи на реалізацію з відповідним видом операції.

Продажі(Sales Reports)

Підсистема «Продажі» виконує передачу даних про роздрібні продажі та підсумкові звіти про роздрібні продажі в SAP.

Підсистема використовує: таблиці SAP14 (інформація про чеки), SAP15 та SAP16 (підсумкові звіти за день).

Також підсистема використовує регламенті завдання та спеціалізований план обміну.

Для генерації даних про роздрібні продажі у форматі записів SAP14 використовуються чеки (а не звіти про роздрібні продажі як в УТ). Для цього розроблено спеціалізований обмін даними між Роздріб та УТ, який перевантажує чеки з Роздріб в УТ.

Повторна передача даних таблиці SAP14 в SAP недопустима і викликає дублювання даних про продажі в SAP. Повторна передача даних підсумкових звітів (SAP15, SAP16) є нормальним функціонуванням системи передачі даних.

Процедура передачі даних про роздрібні продажі в SAP відбувається в декілька етапів:

Етап1: Перенесення чеків з Роздрібу в УТ. Виконується автоматично по плану обміну з періодичністю, яка налаштована в регламентному завданні.

Етап2: Створення записів SAP14. Відбувається автоматично при завантаженні чека в УТ по плану обміну.

Етап3: Створення записів підсумкових звітів SAP15 та SAP16. Створюються (оновлюються) автоматично при запису елемента SAP14. При створенні записів SAP15 та SAP16 по відповідному бізнес дню у записів знімається прапорець «Зміна закрита».

Етап4: Автоматичне вивантаження SAP14 у відповідності до налаштування регламентного завдання.

Етап5: Автоматичне заповнення даних в таблицях SAP15 та SAP16 після завершення робочого дня та автоматичне вивантаження в SAP у відповідності до налаштування регламентного завдання.

Зарплата (HR+Salary)

Підсистема «Зарплата» виконує передачу даних про працівників та нараховану заробітну плату.

В підсистемі задіяні об’єкти конфігурацій УТ: довідники SAP28 (інформація про працівників) та SAP29 (дані про нарахування заробітної платні); план обмін УТ- Зарплата і управління персоналом (ЗУП) та відповідні регламенті завдання.

Формування даних таблиць SAP28, SAP29 виконується в базі ЗУП та переноситься в базу УТ за допомогою обміну даними, який був розроблений в рамках проекту інтеграції. Для формування таблиць SAP та перенесення їх в УТ в базі ЗУП виконана розробка необхідних об’єктів інтеграції.

Процедура передачі даних про працівників та нараховану заробітну плату в SAP відбувається в декілька етапів:

Етап1: Формування таблиць SAP28 та SAP29 в базі ЗУП. Формування виконується в автоматичному режимі у відповідності ро розкладу регламентного завдання (зараз це один раз в кінці дня). Підставою для формування даних таблиці SAP28 є зміни в регістрі відомостей «Робітники організацій». Підставою для заповнення даних таблиці SAP29 є дані проведених документів «ВІдображення зарплати в регл. обліку», «Платіжні доручення», «Нарахування резервів відпусток»

Етап2: Перенесення даних довідників SAP28 та SAP29 з ЗУП в УТ. Виконується автоматично по плану обміну з періодичністю, яка налаштована в регламентному завданні. Наразі щодня ввечері.

Етап3: Вивантаження даних таблиць SAP28 та SAP29 в систему SAP. Виконується автоматично у відповідності до розкладу регламентного завдання.

Бізнес процеси (Business Workflow)

Підсистема складається з двох основних розділів «Вхідні документи» та «Вихідні документи» та додаткового розділу «Онлайн запити».

Підсистема також використовує ряд регламентних завдань для автоматичної обробки отриманих даних з SAP та вивантаження даних в SAP.

Згідно з інтеграційним планом бізнес-процеси, що відображають рух товарів ініціюються в SAP та передаються в УТ інтерфейсами ID10 (Delivery Note), ID12(Inbound delivery note), ID18 (Reservation), ID21(Stock transfer order).

Залежно від бізнес-процесу вхідні записи SAP однозначно визначаються даними вхідного запису та конвертуються в відповідні документи УТ.

Для кожного запису, отриманого з SAP формується один документ УТ, що починає бізнес-процес. Підтверджуючі документи УТ, які свідчать про те, що операція в УТ успішно відбулась або не відбулась, для кожного виду бізнес-процесу різні та відповідають реальним процесам прийомки/відвантаження. Ці документи (в певному стані та статусі) формують вихідні записи для відправлення в SAP.

Якщо в бізнес-процесі беруть участь документи що створюються в базі Роздріб, то підтверджуючих (вихідних) документів, а відповідно і записів SAP, буде два – один з яких створено в УТ, а другий створений в Роздіб та переданий в УТ.

Треба розуміти, що документообіг SAP в значній мірі відрізняється від документообігу УТ, тому не всі документи, що створюються в УТ передаються в SAP. З описаного вище прикладу про приймання товарів на склад, документ «Поступлення товарів» не передається в SAP.

Вхідні документи (IncomingDocs)

Для отримання вхідних записів SAP в програмі УТ розроблено HTTP-cервіси (асинхронні). За допомогою яких система SAP виконує підключення для системи УТ та створює або оновлює відповідні вхідні записи. Інформація приходить в УТ в тілі http-запиту, що містить дані у вигляді тексту – назви полів та їх значень. Всі отримані вхідні дані завжди записуються в базу даних УТ незважаючи на те, чи виконана їх обробка, чи ні. Всі зміни вхідних даних реєструються в підсистемі логування.

Конвертація вхідних записів SAP в документи УТ відбувається в повністю автоматичному режимі – документи створюються, заповнюються і проводяться. Користувачі програми УТ працюють з вхідними документами без редагування переліку номенклатури, кількості, сум, складів, партнерів. Повне обмеження на редагування вхідних документів не застосовується через специфіку взаємодії УТ та SAP.

Якщо майстер-даних для конвертації вхідного запису недостатньо при обробці вхідного запису, буде зроблений запис про помилку у Лог вхідного запису і документ УТ створено не буде. Наприклад, якщо запис SAP містить артикул номенклатури, яка ще не отримана з SAP або з якихось причин не оброблена, то статус помилки такого запису є некритичним для обробки. Отже, якщо тільки номенклатура по цьому артикулу буде успішно оброблена, в наступному регламентному обході буде оброблений і запис SAP, який вона затримувала.

Загалом обробку вхідної інформація від SAP можна розділити на декілька етапів.

Етап1 Обробка http-запиту та створення запису SAP. При запису дані не аналізуються та не перевіряються, додатково формуються службові поля, виставляються статуси для позначення готовності для обробки, визначається вид бізнес-сценарія.

Етап2 Обробка записів SAP в статусах «Created» та «Updated» та створення документів УТ у відповідності з видами бізнес-сценаріїв.

Користувач УТ за посиланнями на вхідні записи SAP може переглянути та проаналізувати лог кожного запису, за потреби примусово викликати обробку запису повторно (див. Сервісні команди).

В формі запису користувач може переглянути стан обробки запису та послідовність пов’язаних записів SAP та документів УТ.

Вихідні документи (OutcomingDocs)

Сформовані документи УТ (на основі записів SAP) відображають вхідні точки бізнес-процесів руху товарів та обладнання. Підпорядковані їм документи УТ, що відображають відвантаження та прийняття на складах товару, безпосередньо впливають на значення залишків на складах УТ, і мають бути відображені в SAP, для цього розроблені механізми формування пакетів даних, що відправляються в SAP.

Вихідна таблиця формується на основі документу УТ, коли той перебуває в певному «стані», тобто відповідає сукупності умов. Наприклад, для документу «Реалізація товарів і послуг» виконуються наступні перевірки при записі:

– Дата документу більша дати початку обміну

– Відповідність статусу документу («Реалізовано»)

– Склад входить в підсистему інтеграції (має заповнений реквізит СапІд)

– Реалізація відбувається по головному складу товарів або обладнання

– Документ проведений

– Хоча б один елемент номенклатури з Товарів входить в підсистему інтеграції (має заповнений реквізит СапІд)

Якщо для документу будуть виконані всі ці перевірки, на його основі сформується вихідна таблиця SAP з статусом «Created» і буде відправлена черговим регламентним завданням.

Після відправлення в SAP документ УТ є доступним для редагування, обмежень для користувачів немає, але реєстрації запису SAP повторно не відбувається, він не оновлюється, натомість зміни вважаються помилковими і всі пов’язані записи SAP отримають статус помилки «Документ УТ змінений після відправлення». Таку ситуацію можна виправити лише відміною введених змін, тобто приведенням документу до стану в якому сформувався вихідний запис на момент першого відправлення.

Загалом відправку даних SAP можна розділити на декілька етапів.

Етап1 Створення та проведення документу системі Роздріб або УТ у відповідному кінцевому статусі. Перенесення за допомогою типового обміну документа з системи Роздріб в систему УТ.

Етап2 Генерування при запису документа запису SAP. Користувач з відповідними правами може самостійно виконати генерацію даних черес сервісні команди.

Етап3 Відправка запиту SAP в програму SAP. Відправка відбувається автоматично у відповідності до розкладу регламентного завдання.

Запити до SAP для всіх процесів є асинхронними, тобто запит з однієї сторони не очікує відповіді одразу від іншої, відправлення даних не пов’язане з отриманням. Відправлення даних з обох сторін налаштовано окремо, з власною частотою і регламентними завданнями.

Онлайн запити (OnlineRequest)

Для певного переліку операцій запит до SAP на отримання даних може бути зроблений користувачами в онлайн-режимі – відповідь приходить одразу та результат зберігається в таблицях SAP30 та SAP31:

Таблиця SAP30 зберігає результати запитів відміни таблиці SAP11 та викликається з команд списку таблиці або форми елемента SAP11. При виклику запит виконує відміну раніше відправленої таблиці Goods issue, що в УТ відповідає процесам відправки товару з головного складу.

Це може бути потрібним в двох випадках:

– Потрібно відредагувати документ відправки (відвантажили іншу кількість, ніж провели в документі); Якщо запит виконався успішно, таблиця SAP11 сформується ще раз і буде відправлена в SAP з наступним черговим відправленням даних.

– Потрібно відмінити замовлення разом з документом переміщення. В такому випадку слід послідовно виконати відміну таблиці SAP11 онлайн-запитом, та помітити на вилучення документ замовлення УТ.

Таблиця SAP31 зберігає результати онлайн-запитів до SAP, що повертають результати балансу клієнта по конкретному замовленню та дозвіл його відвантаження. Викликається з меню документу УТ, сформованого на основі запису SAP10 (Delivery Note)

Інші проєкти

Маєте подібну задачу?

Розкажіть про ваш бізнес — допоможемо визначити оптимальний підхід до автоматизації.

Обговорити проєкт

Залиште запит

Зателефонуємо або напишемо у робочі години. Консультація безкоштовна.

Обов'язкове поле

Обов'язкове поле