Czy da się połączyć SAP z Excelem bez udziału działu IT
Tak, w zakresie odczytu danych i raportowania, przy użyciu narzędzi, które SAP udostępnia zwykłemu użytkownikowi: eksport z transakcji, SAP GUI Scripting, Power Query przez OData oraz automatyzacja na pulpicie. Nie wymaga to zmian w kodzie SAP ani uprawnień administratora. Nie da się natomiast bez IT zapisywać danych z powrotem do SAP, tworzyć nowych interfejsów ani obchodzić uprawnień. Granica przebiega dokładnie tam, gdzie kończy się to, co i tak możesz zrobić ręcznie.
Zasada, która rozstrzyga wszystko
Automat może zrobić dokładnie to, co Ty możesz zrobić ręcznie, tylko szybciej i bez pomyłek. Ani grama więcej. Jeśli masz dostęp do transakcji i możesz z niej wyeksportować dane do pliku, to samo może zrobić skrypt działający na Twoim koncie. Jeśli nie masz uprawnień do jakiejś transakcji, żadne narzędzie tego nie obejdzie, bo kontrola uprawnień siedzi po stronie serwera SAP, nie klienta.
Ta jedna zasada odpowiada na większość obaw. Nie omijasz zabezpieczeń, nie sięgasz do bazy danych, nie modyfikujesz systemu. Wykonujesz swoją własną pracę w sposób powtarzalny. Różnica jest taka sama jak między pisaniem raportu ręcznie a użyciem formuły w Excelu.
Konsekwencja tej zasady jest jednak dwustronna: skoro automat działa jak Ty, to ponosisz odpowiedzialność za to, co zrobi. Skrypt, który przez pomyłkę uruchomi transakcję zapisującą, zrobi to na Twoim koncie i w dzienniku systemowym będzie widniało Twoje nazwisko.
Pięć metod, od najprostszej do najmocniejszej
| Metoda | Co potrafi | Potrzebne uprawnienia | Odporność na zmiany | Trudność |
|---|---|---|---|---|
| 1. Eksport z transakcji plus makro w Excelu | Cykliczne przetwarzanie plików, które i tak eksportujesz ręcznie | Tylko dostęp do transakcji | Bardzo wysoka | Niska |
| 2. Power Query przez OData | Odświeżanie danych w Excelu jednym kliknięciem, bez pośrednich plików | Dostęp do usługi OData, zwykle wymaga jej wcześniejszego udostępnienia | Bardzo wysoka | Niska |
| 3. SAP GUI Scripting | Sterowanie klientem SAP: wejście w transakcję, ustawienie filtrów, eksport | Scripting włączony na serwerze i u klienta | Średnia do wysokiej | Średnia |
| 4. RPA na pulpicie Power Automate Desktop | Łączenie SAP z innymi aplikacjami, obsługa całego procesu | Prawo instalacji programu na stacji | Średnia | Średnia |
| 5. RFC, BAPI, API | Bezpośrednie odpytywanie SAP, najszybsze i najstabilniejsze | Wymaga uprawnień i konfiguracji po stronie IT | Najwyższa | Wysoka |
Metoda 1. Eksport plus automat na plikach
Najprostsza i najbardziej niedoceniana. Jeśli raz w tygodniu wchodzisz w transakcję, ustawiasz te same filtry i klikasz eksport do arkusza, a potem przez godzinę czyścisz plik i budujesz z niego zestawienie, to ta godzina jest w pełni automatyzowalna i nie wymaga niczyjej zgody. Eksport zostaje ręczny, reszta dzieje się sama: plik wpada do folderu, automat go przechwytuje, czyści, przelicza, łączy z innymi źródłami i wysyła gotowy raport.
Zysk: zwykle 70 do 85 procent czasu, przy zerowym ryzyku i bez rozmów z IT. To najlepszy punkt startu, bo pokazuje efekt w kilka dni.
Metoda 2. Power Query przez OData
Jeśli Twoja instalacja SAP ma wystawione usługi OData, a w S/4HANA jest to standard, Excel łączy się z nimi bezpośrednio przez Dane, Pobierz dane, Z innych źródeł, Z kanału OData. Dane odświeżają się jednym kliknięciem albo automatycznie przy otwarciu skoroszytu.
To najczystsze rozwiązanie z możliwych bez IT: nie ma pośrednich plików, nie ma sterowania interfejsem, uprawnienia działają normalnie. Jedyny warunek to udostępniona usługa. Warto sprawdzić, zanim zacznie się kombinować z trudniejszymi metodami. Często okazuje się, że usługa istnieje, tylko nikt o niej nie wiedział.
Metoda 3. SAP GUI Scripting
Mechanizm wbudowany w klienta SAP GUI. Pozwala napisać skrypt, który loguje się, wchodzi w transakcję, wypełnia pola wariantu, uruchamia raport i eksportuje wynik. Sterowanie odbywa się przez identyfikatory elementów okna, nie przez współrzędne, dlatego jest znacznie stabilniejsze niż klikanie po ekranie.
Sprawdzenie, czy jest dostępny: SAP GUI, Opcje, Dostępność i skrypty, Skrypty. Jeśli pole jest wyszarzone, scripting jest wyłączony na serwerze i bez IT go nie włączysz.
Praktyczna wskazówka: SAP GUI ma wbudowany rejestrator. Włączasz nagrywanie, wykonujesz swoją zwykłą pracę, zatrzymujesz. Dostajesz gotowy szkielet skryptu, który potem trzeba tylko uporządkować i uodpornić na błędy.
Metoda 4. RPA na pulpicie
Power Automate Desktop jest dostępny w ramach Windows 11 i większości planów Microsoft 365. Nadaje się, gdy proces obejmuje nie tylko SAP: pobierz dane z SAP, porównaj z arkuszem na SharePoincie, dopisz kurs waluty z API NBP, złóż raport, wyślij mailem, zapisz kopię.
Ważne: gdy w takim procesie pojawia się SAP, nie każ RPA klikać po ekranie. Użyj wewnątrz niego SAP GUI Scripting. Dostaniesz uniwersalność RPA i stabilność Scriptingu naraz.
Metoda 5. RFC i BAPI
Bezpośrednie wywołania funkcji SAP. Najszybsze, najstabilniejsze, całkowicie niezależne od wyglądu ekranów. Ale wymagają uprawnienia S_RFC i zwykle konta technicznego, czyli decyzji IT. Wymieniam je dla pełności obrazu i dlatego, że jeśli automatyzacja ma rosnąć, to jest kierunek docelowy.
Jakich uprawnień potrzebujesz
| Metoda | Po stronie SAP | Po stronie stacji roboczej | Czy trzeba pytać IT |
|---|---|---|---|
| Eksport plus makro | Dostęp do transakcji, który już masz | Excel z makrami | Nie |
| Power Query, OData | Dostęp do usługi | Excel 2016 lub nowszy | Tylko jeśli usługa nie jest wystawiona |
| GUI Scripting | Scripting włączony na serwerze | SAP GUI z włączonymi skryptami | Jeśli wyłączony, tak |
| Power Automate Desktop | Bez zmian | Prawo instalacji programu | Zwykle tak, ze względu na politykę instalacji |
| RFC, BAPI | Uprawnienie S_RFC, konto techniczne | Biblioteka łącząca | Tak, zawsze |
Bezpieczeństwo i zgodność z regulaminem
Cztery rzeczy, które trzeba zrobić dobrze, niezależnie od wybranej metody.
Hasła nigdy w skrypcie
Najczęstszy błąd w domowych automatyzacjach SAP to hasło wpisane w kodzie albo w pliku obok. Poprawne rozwiązania: Menedżer poświadczeń systemu Windows, logowanie jednokrotne przez SAP Secure Login, albo sejf na hasła w narzędziu automatyzującym. Jeśli automatyzacja wymaga wpisania hasła do pliku, to znak, że coś jest źle zaprojektowane.
Tylko odczyt, dopóki się da
Skrypt powinien mieć dostęp wyłącznie do transakcji raportujących. Jeśli używasz konta z pełnymi uprawnieniami, pomyłka w kodzie może odpalić transakcję zapisującą. Warto poprosić o osobną rolę tylko do odczytu, nawet jeśli wydaje się to nadmiarem ostrożności.
Dziennik działań
Każde uruchomienie automatu powinno zostawiać ślad: co, kiedy, ile rekordów, jaki wynik. Bez tego pierwsza rozbieżność w raporcie kończy się dyskusją, której nie da się rozstrzygnąć.
Dane po wyjściu z SAP
To jest punkt, który najczęściej umyka. Dane w SAP są chronione uprawnieniami. Ten sam zbiór w pliku Excel na pulpicie albo na dysku współdzielonym nie jest chroniony niczym. Jeśli raport zawiera wynagrodzenia, dane osobowe albo warunki handlowe, to plik wymaga takiej samej ostrożności jak sam system. Przy danych osobowych wchodzi RODO, niezależnie od tego, że pochodzą z SAP.
Rada, która oszczędza problemów. Nawet gdy technicznie nie potrzebujesz zgody, wyślij do IT krótką notatkę: co automatyzujesz, jaką metodą, na jakim koncie, tylko odczyt. Trzy zdania. Zamienia to sytuację „ktoś skryptuje SAP za naszymi plecami" w „użytkownik zgłosił, wiemy o tym". Gdy coś kiedyś przestanie działać po aktualizacji, dostaniesz pomoc zamiast pytań.
Kiedy udział IT jest konieczny
| Sytuacja | Bez IT | Dlaczego |
|---|---|---|
| Odczyt danych z transakcji, do których masz dostęp | Tak | Robisz to, co i tak możesz zrobić ręcznie |
| Cykliczny raport na własnym komputerze | Tak | Działa na Twoim koncie, w Twojej sesji |
| Zapis danych do SAP | Odradzam | Ryzyko utworzenia błędnych dokumentów, trudne do cofnięcia |
| Uruchamianie na serwerze, bez zalogowanego użytkownika | Nie | Wymaga konta technicznego i licencji |
| Dostęp do danych spoza Twoich uprawnień | Nie | Nie da się i nie należy próbować |
| Włączenie Scriptingu, gdy wyłączony na serwerze | Nie | Parametr serwera, tylko administrator |
| Udostępnienie automatu całemu działowi | Nie | Wspólne konto łamie licencję na nazwanego użytkownika |
Jak to wygląda w praktyce
Raport sprzedaży, który powstawał trzy godziny w poniedziałek
Typowy przypadek: osoba z działu handlowego eksportuje dane z dwóch transakcji, wkleja do arkusza, dopisuje kolumny z marżą, robi tabelę przestawną i wysyła zarządowi. Trzy godziny, co tydzień, od lat.
Rozwiązanie: SAP GUI Scripting pobiera oba zestawy o siódmej rano, Power Query czyści i łączy, szablon przelicza marże, gotowy plik trafia mailem o ósmej. Osoba sprawdza wynik zamiast go budować. Czas: 15 minut zamiast trzech godzin. Wdrożenie: około tygodnia.
Zestawienie zapasów łączące SAP z arkuszem planistycznym
Dane o stanach są w SAP, plan produkcji w arkuszu na SharePoincie, kursy walut w API NBP. Nikt nie ma pełnego obrazu, bo składanie tego zajmuje pół dnia i szybko się dezaktualizuje. Power Automate Desktop pobiera wszystkie trzy źródła, łączy i publikuje jeden arkusz, aktualizowany codziennie.
Kontrola faktur wobec zamówień
Faktura przychodzi mailem, zamówienie jest w SAP. Ktoś ręcznie sprawdza zgodność pozycji i cen. Automat odczytuje fakturę, pobiera zamówienie z SAP i pokazuje wyłącznie rozbieżności. Człowiek patrzy na pięć problematycznych pozycji zamiast na dwieście poprawnych.
Najczęstsze pytania
Czy automatyzacja pobierania danych z SAP jest legalna i zgodna z licencją?
Odczyt danych narzędziami, które SAP sam udostępnia, mieści się w normalnym użytkowaniu. Kluczowa zasada: automat działa na Twoim koncie i widzi dokładnie to, co Ty. Problem licencyjny pojawia się, gdy jedno konto obsługuje wielu użytkowników, bo SAP licencjonuje per nazwany użytkownik. Regulamin wewnętrzny firmy może być bardziej restrykcyjny niż licencja, dlatego warto to zgłosić, nawet jeśli technicznie zgody nie potrzeba.
Czym różni się SAP GUI Scripting od RPA?
SAP GUI Scripting to wbudowany w klienta SAP mechanizm, który pozwala sterować interfejsem przez skrypt. Jest szybszy i stabilniejszy od RPA, bo odwołuje się do elementów okna po identyfikatorach, a nie po pozycji na ekranie. RPA, na przykład Power Automate Desktop, jest bardziej uniwersalne i obsłuży też inne aplikacje, ale przy samym SAP jest wolniejsze i wrażliwsze na zmiany. Najlepsze wyniki daje połączenie: RPA steruje całością, a fragment dotyczący SAP używa Scriptingu.
Czy da się zapisywać dane z Excela do SAP bez IT?
Technicznie tak, przez wprowadzanie danych w interfejsie za pomocą skryptu albo narzędzia LSMW. Praktycznie odradzam robienie tego bez uzgodnienia z IT i właścicielem procesu. Odczyt, który się pomyli, daje zły raport. Zapis, który się pomyli, tworzy dokumenty księgowe albo zmienia dane podstawowe, a odkręcanie tego w SAP bywa trudne. To jest granica, na której warto się zatrzymać.
Co jeśli SAP GUI Scripting jest wyłączony?
Scripting bywa wyłączony po stronie serwera parametrem sapgui/user_scripting albo po stronie klienta w opcjach. Jeśli jest wyłączony po stronie serwera, bez IT go nie włączysz. Zostaje wtedy eksport z transakcji plus automatyzacja na poziomie plików, albo RPA operujące na obrazie ekranu, co jest rozwiązaniem ostatniego wyboru.
Ile trwa zbudowanie automatycznego raportu z SAP do Excela?
Pojedynczy raport oparty na jednej transakcji z eksportem: 2 do 5 dni roboczych, łącznie z testami. Raport łączący dane z trzech do pięciu transakcji, z przeliczeniami i wysyłką mailem: 1 do 3 tygodni. Najwięcej czasu zabiera nie kod, tylko ustalenie, które dokładnie pola i filtry dają liczby zgodne z tym, co osoba robiąca raport ręcznie uznaje za poprawne.
Czy takie rozwiązanie przetrwa aktualizację SAP?
Eksport z transakcji i OData przetrwają prawie zawsze. SAP GUI Scripting przetrwa zwykle aktualizacje wsparcia, ale może wymagać poprawki przy zmianie wersji, jeśli zmieni się układ ekranu transakcji. RPA oparte na obrazie jest najbardziej wrażliwe. Dlatego przy projektowaniu warto wybierać metody wyżej w tej hierarchii, nawet jeśli początkowo wymagają więcej pracy.
Masz taki proces u siebie?
Opowiedz mi o nim w kilku zdaniach. Odpowiem, czy da się to zautomatyzować, ile mniej więcej zajmie i ile będzie kosztować. Rozmowa i wstępna wycena nic nie kosztują.
Napisz do mnieAlbo od razu: +48 503 430 344 · kontakt@grabtech.pl