Integracje / ERP / Sage 100
Przewodnik po integracji Sage 100 ze SkyPlanner APS do planowania produkcji
Ten przewodnik po integracji Sage 100 pokazuje partnerom Sage i zespołom IT, jak połączyć Sage 100 ze SkyPlanner APS. Obejmuje oba produkty o tej nazwie: Sage 100 z modułem Production Management w USA i Kanadzie oraz Sage 100 z modułem Sage 100 Produktion w Niemczech i Austrii. Integracja SkyPlanner z Sage 100 działa w obu kierunkach:
- Do SkyPlanner trafiają zlecenia Work tickets lub Fertigungsaufträge wraz z operacjami — steps lub Arbeitsgänge — a także gniazda produkcyjne, kartoteki towarowe, stany magazynowe i zamówienia zakupu.
- Planowane terminy są zapisywane zwrotnie dla każdej operacji — step lub Arbeitsgang.
- Zarejestrowany czas pracy operatorów wraca jako wpisy czasu pracy (US) lub Rückmeldungen (DE).
Podczas wdrożenia zespół SkyPlanner konfiguruje integrację zgodnie z Twoją instalacją Sage 100 i zapewnia jej wsparcie po uruchomieniu produkcyjnym. Ten przewodnik jest przeznaczony dla partnerów i programistów, którzy chcą uczestniczyć w tych pracach lub samodzielnie tworzyć rozwiązania oparte na udokumentowanym REST API SkyPlanner (dokumentacja API).
Amerykański Sage 100: interfejsy integracji
Amerykański Sage 100 działa lokalnie w wersjach Standard, Advanced lub Premium. Interfejsy integracji znajdują się na serwerze Sage 100.
Business Object Interface (BOI).
„The Business Objects Interface allows third-party developers with the necessary skills to access Sage 100 programs and applications using Component Object Model (COM).” (Interfejs Business Objects Interface umożliwia zewnętrznym programistom o odpowiednich umiejętnościach dostęp do programów i aplikacji tego systemu za pomocą Component Object Model (COM)). (Pomoc Sage 100) Portal dla programistów Sage opisuje go jako „Sage 100’s internal API layer, giving you access to the same logic used by the application itself.” (wewnętrzną warstwę API systemu, dającą dostęp do tej samej logiki, z której korzysta sama aplikacja). (developer.sage.com) Zapis odbywa się przez BOI: każde utworzenie lub zaktualizowanie rekordu podlega tej samej walidacji co czynności użytkownika w Sage 100.
ODBC.
Sterownik ProvideX ODBC odczytuje tabele Sage 100 na potrzeby raportowania i masowego pobierania danych. W wersji Advanced dostępny jest sterownik ODBC w architekturze klient–serwer. Integracja wykorzystuje ODBC do masowego odczytu zleceń produkcyjnych, kartotek towarowych i zamówień zakupu, a BOI — do zapisu.
Visual Integrator (VI).
Zadania importu i eksportu VI przenoszą dane między Sage 100 a plikami lub źródłami ODBC. Jak podaje Sage: „One of the most powerful features of the Visual Integrator module is its ability to directly import data from and export data to an ODBC data source.” (Jedną z największych zalet modułu Visual Integrator jest możliwość bezpośredniego importu danych ze źródła ODBC i eksportu danych do niego). (źródło) VI wchodzi w skład pakietu Essentials i nadaje się do wymiany danych opartej na plikach.
eBusiness Web Services korzysta z SOAP i obsługuje „the Sage 100 sales order, customer, and customer contact entities.” (encje zamówień sprzedaży, klientów i kontaktów klientów tego systemu). (źródło) Może przesyłać zamówienia sprzedaży, natomiast dane produkcyjne są przesyłane przez BOI i ODBC.
Integracja jest uruchamiana w środowisku Sage 100, na koncie użytkownika Sage 100 z uprawnieniami do wykorzystywanych zadań w modułach Production Management, Inventory i Purchase Order. Ruch wychodzący jest kierowany do REST API SkyPlanner przez HTTPS.
Niemiecki Sage 100: interfejsy integracji
Niemiecki Sage 100 działa na Microsoft SQL Server, w instalacji lokalnej lub w wariancie chmurowym. Sage wskazuje możliwość „Partnerlösungen via API-Schnittstelle ergänzen” (Dodawania rozwiązań partnerskich przez interfejs API) (Sage 100). Wymienione przez Sage dodatki dla produkcji bazują na Sage AppDesigner i obiektach biznesowych Sage 100.
Integracja działa tak samo jak rozwiązania partnerów Sage: odczytuje z bazy SQL Server Sage 100 dane Fertigungsaufträge, Arbeitsgänge, Arbeitsplätze, Ressourcenlisten, Artikel i Bestellungen. Terminy Arbeitsgang i dane Rückmeldungen są zapisywane zwrotnie za pomocą mechanizmu, który partner Sage i zespół SkyPlanner ustalają podczas określania zakresu projektu. Dzięki temu rejestracja odbywa się zgodnie z logiką Sage 100. Partner Sage potwierdza wersję (na przykład 9.0) i konfigurację dostępu.
Uwierzytelnianie i dostęp
| System i interfejs | Sposób uwierzytelniania |
|---|---|
| Amerykański Sage 100, BOI | Sesja użytkownika Sage 100 na serwerze Sage 100, z uprawnieniami roli do każdego wykorzystywanego zadania |
| Amerykański Sage 100, ODBC | DSN w instalacji Sage 100, dostęp do odczytu |
| Niemiecki Sage 100 | Konto użytkownika Sage 100 do zapisu zwrotnego i dostęp do odczytu w SQL Server, uzgodnione z partnerem Sage |
| SkyPlanner | Token API w nagłówku Authorization-Token, utworzony w SkyPlanner w sekcji Settings > API |
REST API SkyPlanner jest udokumentowane w Swagger/OpenAPI. Samouczek integracji pokazuje, jak wykonać pierwsze wywołania.
Wykrywanie zmian
Zmiany w Sage 100 są wykrywane przez cykliczne odczyty. Odczytuj otwarte zlecenia work tickets lub Fertigungsaufträge w krótkich odstępach, a stany magazynowe i zamówienia zakupu — co godzinę. Filtruj dane według statusu i dat zmian, aby każdy odczyt obejmował tylko to, co się zmieniło.
SkyPlanner wysyła webhooki przy zmianach harmonogramu, więc zapis zwrotny do Sage 100 jest wyzwalany zdarzeniami.
Mapowanie danych
| Sage 100 (US) | Sage 100 (DE) | Obiekt SkyPlanner | Kierunek | Częstotliwość |
|---|---|---|---|---|
| Item | Artikel | Produkty i materiały | Sage 100 → SkyPlanner | Import początkowy, następnie codziennie |
| Bill of Materials, materiały w szablonach | Stückliste w Ressourcenliste | Struktura produktu, podprodukty, materiały przypisane do produktu | Sage 100 → SkyPlanner | Po zmianie |
| Gniazdo produkcyjne: pracownicy lub maszyny, godziny pracy w poszczególne dni tygodnia, okresy wyłączenia z pracy | Arbeitsplatz, Ressource (Mitarbeiter, Maschine) | Stanowiska robocze, grupy stanowisk roboczych, personel, zmiany robocze | Sage 100 → SkyPlanner | Import początkowy |
| Operacje w szablonach zleceń produkcyjnych, kody czynności | Arbeitsplan, Arbeitsgänge z czasami Rüst- i Stückzeiten | Etapy procesu z czasami przezbrojenia i wykonania | Sage 100 → SkyPlanner | Po zmianie |
| Zlecenie produkcyjne z operacjami i terminem realizacji | Fertigungsauftrag z Arbeitsgänge i Liefertermin | Zlecenia i operacje z terminami realizacji | Sage 100 → SkyPlanner | Odczyt w krótkich odstępach |
| Stany magazynowe według magazynu | Lagerbestand | Stany magazynowe | Sage 100 → SkyPlanner | Co godzinę |
| Pozycje zamówień zakupu, wymagane terminy | Bestellungen, Liefertermine | Zamówienia zakupu z oczekiwanym terminem dostawy | Sage 100 → SkyPlanner | Co godzinę |
| Pozycje zamówień sprzedaży, terminy zadeklarowane klientom | Kundenaufträge | Terminy realizacji dla klienta, priorytet klienta | Sage 100 → SkyPlanner | Odczyt w krótkich odstępach |
| Terminy operacji zlecenia produkcyjnego (BOI) | Arbeitsgang-Termine | Planowany początek, koniec i stanowisko robocze dla każdej operacji | SkyPlanner → Sage 100 | Po zmianie, przez webhook |
| Labor Entry, zakończenie zlecenia produkcyjnego (BOI) | Rückmeldung: czasy, ilości | Wpisy czasu pracy i potwierdzenia operatorów | SkyPlanner → Sage 100 | Przy każdym potwierdzeniu lub raz na zmianę roboczą |
| Nie są przechowywane w Sage 100 | Nie są przechowywane w Sage 100 | Macierz czasów przezbrojeń, narzędzia jako zasoby o ograniczonej dostępności, operatorzy przypisani do operacji, alternatywne stanowiska robocze | Zarządzane w SkyPlanner | Podczas wdrożenia |
Schematy integracji
1. Początkowy import danych podstawowych. Najpierw zaimportuj kartoteki towarowe i gniazda produkcyjne, a następnie szablony lub Arbeitspläne wraz z operacjami. Gniazdo produkcyjne w amerykańskiej wersji systemu, obejmujące trzy maszyny i dwóch operatorów, jest odwzorowywane w SkyPlanner jako trzy stanowiska robocze, grupa stanowisk roboczych i dwie osoby. Każdy z tych zasobów otrzymuje własną oś czasu.
2. Synchronizacja zleceń. Odczytuj otwarte zlecenia work tickets lub Fertigungsaufträge wraz z operacjami, a także stany magazynowe i otwarte zamówienia zakupu. Zanim SkyPlanner umieści operację w harmonogramie, sprawdza zarówno stan magazynowy, jak i nadchodzące dostawy. Sage 100 nadal proponuje pracę do wykonania, a SkyPlanner układa harmonogram dla zleceń, które zwolnisz do realizacji.
3. Zapis zwrotny harmonogramu. Dla każdej operacji, którą silnik umieścił w harmonogramie lub przesunął, SkyPlanner wysyła planowany początek, koniec i stanowisko robocze. W amerykańskim Sage 100 integracja aktualizuje terminy operacji zlecenia produkcyjnego przez BOI. W niemieckim Sage 100 aktualizuje terminy Arbeitsgang za pomocą mechanizmu ustalonego podczas określania zakresu projektu. Ilości, alokacje i kalkulacja kosztów pozostają w Sage 100.
4. Potwierdzenia z hali produkcyjnej. Operatorzy rejestrują pracę za pomocą SkyPlanner Mobile Confirmations lub Production Timer, a wpisy czasu pracy zapewniają aktualność harmonogramu. W amerykańskim Sage 100 zarejestrowany czas trafia do Labor Entry dla danej operacji zlecenia, a końcowe potwierdzenie zamyka zlecenie. W niemieckim Sage 100 powstaje Rückmeldung z czasami i ilościami. Jeśli zakład już rejestruje czas w Betriebsdatenerfassung lub aplikacji do obsługi kodów kreskowych, wybierz jeden kanał rejestracji.
5. Odpowiedzialność za dane i zasady rozstrzygania konfliktów. Spisz je przed uruchomieniem produkcyjnym:
| Dane | System odpowiedzialny |
|---|---|
| Indeksy, BOM, szablony, ilości zleceń, koszty | Sage 100 |
| Kolejność operacji, czasy rozpoczęcia i zakończenia, przypisanie stanowisk roboczych | SkyPlanner |
| Macierz czasów przezbrojeń, narzędzia, liczba operatorów na operację, zasoby alternatywne | SkyPlanner |
| Czas pracy i Rückmeldungen | Sage 100, zasilany wpisami czasu pracy ze SkyPlanner |
Głównym źródłem konfliktów jest drugi system harmonogramowania. Jeśli planiści nadal uruchamiają Enhanced Scheduling w amerykańskim Sage 100 lub przesuwają zadania na Plantafel w niemieckim Sage 100, za terminy odpowiadają dwa systemy. Powierz zarządzanie terminami operacji SkyPlanner. Dzięki Autopilot SkyPlanner automatycznie aktualizuje harmonogram, gdy zmienia się sytuacja na produkcji.
Typowe etapy projektu
Wdrożenie zwykle kończy się w ciągu kilku tygodni od rozpoczęcia onboardingu. Wcześniej sprawdź harmonogram podczas 30-dniowego bezpłatnego okresu próbnego, korzystając z eksportu otwartych zleceń produkcyjnych lub Fertigungsaufträge do pliku CSV lub Excel. Następnie projekt przebiega tak:
- Określenie zakresu. Potwierdź produkt (amerykański lub niemiecki Sage 100), wersję i sposób instalacji, metody odczytu i zapisu, częstotliwości synchronizacji oraz kanał rejestracji czasu pracy.
- Dostęp. Twój partner Sage konfiguruje użytkownika Sage 100, jego uprawnienia oraz dostęp do bazy danych.
- Pierwsze zasilenie danymi. Indeksy, gniazda produkcyjne, szablony lub Arbeitspläne, BOM oraz zmiany robocze.
- Synchronizacja zleceń. Cykliczne pobieranie zleceń produkcyjnych lub Fertigungsaufträge, zamówień zakupu i stanów magazynowych.
- Konfiguracja ograniczeń w SkyPlanner. Macierz czasów przezbrojeń, narzędzia, liczba operatorów na operację oraz alternatywne maszyny lub personel.
- Zapis zwrotny harmonogramu. Przekazanie planowanych terminów operacji do Sage 100, a następnie czasu pracy i Rückmeldungen.
- Testy równoległe i uruchomienie produkcyjne. Porównaj terminy z bieżącym planem, popraw dane podstawowe, a następnie włącz zapis zwrotny.
Co uwzględnić przy integracji z Sage 100
- Ustal, z którego Sage 100 korzystasz. Amerykański i niemiecki Sage 100 mają różne modele danych i interfejsy. Podaj produkt i wersję już podczas pierwszej rozmowy dotyczącej określenia zakresu.
- Gniazda produkcyjne obejmujące kilka maszyn. W wersji amerykańskiej gniazdo produkcyjne stanowi jedną jednostkę zdolności produkcyjnej obejmującą „one or more persons or machines” (jedną lub więcej osób lub maszyn). Dla każdego gniazda zdecyduj, czy odwzorować je jako jedno stanowisko robocze, kilka stanowisk czy grupę.
- Czasy przygotowania i wykonania. Szablony i Arbeitspläne zawierają czasy, na podstawie których SkyPlanner tworzy harmonogram. Przed uruchomieniem produkcyjnym porównaj je z rzeczywistymi czasami wykonania.
- Kalendarze. W amerykańskim Sage 100 gniazda produkcyjne mają określone godziny pracy w poszczególne dni tygodnia oraz okresy wyłączenia z pracy. Wczytaj je do SkyPlanner jako zmiany robocze, a następnie dodaj w SkyPlanner zmiany i nieobecności każdego operatora.
- Jednostki miary. Operacje mogą być rozliczane na sztukę, partię lub godzinę. Zmapuj jednostkę dla każdej operacji.
- Uprawnienia BOI. BOI respektuje uprawnienia ról w Sage 100. Brak uprawnienia do zadania blokuje zapis. Przetestuj każdą operację zapisu na koncie użytkownika integracji.
- Jeden system odpowiedzialny za terminy. Gdy SkyPlanner przejmie zarządzanie terminami, wyłącz równoległe harmonogramowanie lub przesuwanie zadań na Plantafel.
Integracja z Sage 100: kto ją konfiguruje i zapewnia wsparcie
- Zespół SkyPlanner konfiguruje integrację podczas onboardingu i zapewnia wsparcie po uruchomieniu produkcyjnym.
- Twój partner Sage może uczestniczyć w projekcie. Zna używaną przez Ciebie wersję Sage 100, konfiguruje użytkowników i uprawnienia oraz potwierdza dostęp do bazy danych.
- Twoi programiści mogą rozbudować integrację, korzystając z udokumentowanego REST API SkyPlanner. Na początek wystarczy token API, a zespół SkyPlanner pomaga w razie potrzeby.
Po połączeniu silnik Arcturus tworzy harmonogram na podstawie bieżących zleceń z Sage 100, a planowane terminy trafiają do każdej operacji. Ceny SkyPlanner zaczynają się od 199 € miesięcznie za 5 stanowisk roboczych, z rozliczeniem miesięcznym. Integrację wyceniamy z góry, stosownie do Twojego procesu i potrzeb, razem z wybranym planem. Dzięki temu znasz pełny koszt przed rozpoczęciem. Sprawdź cennik i funkcje, a w artykule Harmonogramowanie produkcji w Sage 100 zobacz, jak wypadają na tym tle własne funkcje planowania Sage 100. Informacje ogólne znajdziesz na stronie Sage 100. Sage 200 i Sage X3 mają własne przewodniki dostępne na stronach Sage 200 i Sage X3, a pozostałe systemy ERP znajdziesz w sekcji integracji z ERP.
Opinie firm produkcyjnych o SkyPlanner
6 miesięcynaprzód — dział sprzedaży widzi wolne moce produkcyjne
„SkyPlanner stanowi podstawę całego planowania produkcji i zapewnia jego niezawodność.”
Anu Järvinen, kierowniczka produkcji
Fredman Operations · Papiery opakowaniowe dopuszczone do kontaktu z żywnością
Dział sprzedaży widzi wolne moce produkcyjne z sześciomiesięcznym wyprzedzeniem, a odpowiedzi na prośby o zmianę harmonogramu, które wcześniej zajmowały godzinę lub dłużej, są teraz udzielane w kilka sekund.
100%terminowości dostaw od 2021 roku
„SkyPlanner daje nam wgląd w moce produkcyjne i sprawia, że planowanie jest przewidywalne.”
Dan Berglund, COO/CFO
Opes Corporation · Produkcja chemiczna i spożywcza
Terminowość dostaw wynosi 100% przez cały okres korzystania ze SkyPlanner, od 2021 roku.
Najczęściej zadawane pytania
Czy Sage 100 udostępnia REST API do obsługi zleceń produkcyjnych?
Amerykański Sage 100 udostępnia logikę biznesową przez Business Object Interface, odczyt danych przez ODBC oraz operacje na plikach przez Visual Integrator. SkyPlanner odczytuje zlecenia produkcyjne przez ODBC i BOI, a terminy operacji i czas pracy zapisuje przez BOI. Dane z niemieckiego Sage 100 są odczytywane z jego bazy SQL Server, a metodę zapisu zwrotnego ustala się z Twoim partnerem Sage podczas określania zakresu integracji.
Kto tworzy integrację z Sage 100?
Zespół SkyPlanner konfiguruje dwukierunkową integrację z Twoją instalacją Sage 100 podczas onboardingu i zapewnia wsparcie po uruchomieniu produkcyjnym. Twój partner Sage konfiguruje użytkowników, uprawnienia i dostęp do bazy danych oraz może uczestniczyć w projekcie. Twoi programiści również mogą tworzyć rozwiązania oparte na udokumentowanym REST API SkyPlanner — na początek wystarczy token API.
Jak planowane terminy są zapisywane z powrotem w Sage 100?
W amerykańskim Sage 100 integracja aktualizuje planowane terminy każdej operacji zlecenia przez BOI i rejestruje Labor Entry na podstawie wpisów czasu pracy operatorów. W niemieckim Sage 100 aktualizuje terminy Arbeitsgang każdego Fertigungsauftrag i zapisuje Rückmeldungen metodą zapisu uzgodnioną przez Twojego partnera Sage i zespół SkyPlanner podczas określania zakresu integracji.
Czy Sage 100 może wysyłać zmiany w czasie rzeczywistym?
SkyPlanner pobiera zmiany z Sage 100 poprzez cykliczny odczyt: otwarte zlecenia w krótkich odstępach czasu, a stany magazynowe i zamówienia zakupu co godzinę. W przeciwnym kierunku webhooki SkyPlanner wysyłają zmiany harmonogramu na bieżąco, gdy tylko się pojawią.
Czy możemy przetestować SkyPlanner przed utworzeniem integracji?
Tak. Podczas 30-dniowego bezpłatnego okresu próbnego możesz korzystać z maksymalnie 20 stanowisk roboczych i importować zlecenia produkcyjne lub Fertigungsaufträge z plików CSV lub Excel. Karta kredytowa nie jest wymagana. Rozpocznij okres próbny lub porozmawiaj z działem sprzedaży, aby określić zakres integracji.