Dotyczy wersji 2021.1.x i powyżej, autor: Adrian Baszak
Dla aplikacji stworzonych w WEBCON BPS często zachodzi potrzeba ich integracji z systemami zewnętrznymi. Jednym z popularnych systemów, który trzeba zintegrować z obiegami WEBCON BPS jest SAP.
Scenariusze biznesowe
Poniżej zostały zaprezentowane przykładowe obszary połączenia systemu Microsoft Dynamics z WEBCON BPS.
Faktura kosztowa
Często miejscem styku systemu SAP i WEBCON BPS jest obieg Faktur kosztowych. Z systemu SAP pobierane są w tym przykładzie dane do słowników, np.
- Kontrahenci
- Konta bankowe
- Waluty
- Kategorie kosztu
- MPK
- Projekty
Do systemu SAP wysyłane są natomiast dane opracowywanej faktury: dane nagłówkowe, jak numer faktury, data wystawienia oraz rozbicie analityczne.
Urlopy
Kolejnym przykładem powiązania systemu SAP z WEBCON BPS będą Urlopy. Po stronie obiegu można stworzyć i zaakceptować wniosek o urlop, a następnie wysłać jego dane do systemu SAP. SAP może również dostarczać źródła danych takie jak limity urlopowe pracowników, typy urlopów oraz kalendarz dni wolnych od pracy.
Zapotrzebowania
Kolejnym obszarem integracji może być przesyłanie do SAP zgłoszeń zapotrzebowania zakupu materiałów lub usług. Pobranie zwrotnie danych o statusie zapotrzebowania może być wykorzystane do weryfikacji ich rozliczenia i powiązania z fakturami. Integracja obu systemów może również obejmować pobieranie i przesyłanie informacji o stanach magazynowych lub potwierdzeniach odbioru towaru lub wykonania usługi.
Oczywiście to nie koniec możliwych miejsc do integracji systemów SAP i WEBCON BPS. Innymi przykładami mogą być np. obieg delegacji, synchronizacja danych kontrahentów (dostawców i klientów), zarządzanie projektami i inwestycjami, tworzenie zleceń sprzedaży.
Metody integracji
Integracja systemów SAP z WEBCON BPS może się odbywać na kilka sposobów. Rodzaj wybranego rozwiązania zazwyczaj różni się w przypadku pobierania i wysyłania danych między systemami.
Pobieranie danych z SAP
Dane słownikowe z SAP, np. słownik Kontrahentów mogą być udostępniane do obiegu w formie widoków SQL. Dzięki takiemu rozwiązaniu dane słownikowe dostępne w obiegu są zawsze aktualne, odświeżane na bieżąco po dokonaniu zmian w systemie źródłowym.
Dane mogą również zostać udostępnione innymi sposobami, np. w formie WebService. Dane słownikowe są udostępnia z systemu SAP przez usługę sieciową i aktualizowane w określonym cyklu, np. raz na dobę, w nocy, w bazie danych SQL. Takie rozwiązanie ma swoje minusy – dane wprowadzane do SAP są widoczne z opóźnieniem, ale czasem priorytetem jest mniejsze obciążanie zasobów systemu. W przypadku zapytań o jedną wartość ze źródła danych cykliczna synchronizacja może nie być konieczna – przykładem może tu być sprawdzenie limitów urlopowych pracownika (każdorazowo sprawdzamy tylko limity jednej osoby)
Poniżej przykład danych jakie może zwracać usługa REST zwracająca limity urlopowe pracownika
Dane wejściowe:
Parametr | Typ danych | Uwagi |
Kod pracownika | string | Identyfikator pracownika w SAP |
Rok | Int | Rok dla którego mają być zwrócone limity urlopowe |
Dane wyjściowe
Limity urlopowe
Parametr | Typ danych | Uwagi |
Kod pracownika | string | Identyfikator pracownika w SAP |
Rok | Int | Rok, na który podany jest limit |
Liczba dostępnych dni | Int | Liczba wszystkich dostępnych w danym roku dni urlopu. |
Liczba dni z poprzedniego roku | Int | Liczba dni pozostałych z poprzedniego roku. |
Liczba dni wykorzystanych | Int | Liczba wykorzystanych dni w danym roku. |
Przykład konfiguracji akcji w WEBCON BPS Designer Studio
Dane wejściowe
Dane wyjściowe
Przykład danych jakie może zawierać widok SQL zawierający statusy zapotrzebowań
Kolumna | Typ danych | Uwagi |
ID | int | Kolumna z wartościami unikalnymi |
ID zapotrzebowania | string | Identyfikator zapotrzebowania w SAP |
ID z systemu zewnętrznego | string | Identyfikator (sygnatura) zamówienia z obiegu. |
Status | string | Status zapotrzebowania, przykładowo:
· Zaakceptowane · Przesłane do dostawcy · Zrealizowane |
Wysyłanie danych do SAP
Dla operacji wpisu danych do systemu SAP jest dostępne kilka opcji wykonania tego powiązania. Można to zrobić poprzez WebService: REST bądź SOAP. Takie rozwiązanie jest rozwiązaniem synchronicznym, więc wybierając je, odpowiedź o statusie wysyłki danych jest przesyłana bezzwłocznie. WebService REST jest rekomendowaną metodą integracji z SAP.
Innym sposobem integracji omawianych systemów jest wpis za pomocą tabel buforowych, które są uzupełniane na podstawie udostępnionych z systemu WEBCON BPS widoków SQL z danymi z obiegów. Po przetworzeniu wiersza z danym elementem przez SAP, w jednej z kolumn zwracany jest status jego wpisu i ewentualnie komunikat zwrotny, np. w przypadku błędu. Ta metoda wymaga po stronie obiegu cyklicznej obserwacji czy dany element został już poprawnie przeniesiony do systemu SAP.
Realizacja wpisu może się różnić w zależności od konkretnej konfiguracji systemu SAP oraz aplikacji WEBCON BPS w danej organizacji. Dla przykładu wysyłkę danych faktury do SAP można rozdzielić na dwa wywołania WebService: pierwszy otwierający arkusz, a drugi już wpisujący do niego konkretne dane albo też pierwszy wpisujący dane nagłówkowe, a drugi aktualizujący wpis o rozbicie analityczne. Oczywiście najprostszym wariantem jest wykonanie całego wpisu podczas jednego wywołania, ale czasem takie rozdzielenie jest konieczne, a jego realizacja nie ma zazwyczaj wpływu na pracę użytkowników aplikacji WEBCON BPS.
Poniżej przykład danych dla prostego wpisu faktury.
Nagłówek
Parametr | Typ danych | Uwagi |
ID WEBCON | int | |
Nr dokumentu | string | Sygnatura z WEBCON w celu łatwego parowania dokumentu między systemami |
Data wpływu | date | |
Data wystawienia | date | |
Data sprzedaży | date | |
Nr faktury | string | |
ID kontrahenta | int | ID ze słownika Kontrahentów |
ID rachunku bankowego | int | ID ze słownika Rachunków bankowych |
Forma płatności | int | ID ze słownika Forma płatności |
Termin płatności | date | |
Kwota netto | decimal | Kwota w walucie |
Kwota brutto | decimal | Kwota w walucie |
Kod waluty | string | Kod z NBP |
Rozbicie analityczne
Parametr | Typ danych | Uwagi |
MPK | string | Wartość ze słownika MPK |
Kategoria | string | Wartość ze słownika Kategorii |
Kwota netto | decimal | Kwota w walucie |
Kwota brutto | decimal | Kwota w walucie |
Kod waluty | string | Kod z NBP |
Opis | string | Opis danej pozycji |
Parametry zwracane
Parametr | Typ danych | Uwagi |
Status | string | Informacja czy wpisano poprawnie, np. 0-sukces, 1-błąd |
ID dokumentu | string | Przy poprawnym wpisie zwracany jest ID wpisanego dokumentu w SAP |
Komunikat | decimal | W przypadku braku powodzenia zwracany jest komunikat błędu |
Konfiguracja powyższego wpisu WS REST w WEBCON BPS