Integrationen / ERP / SAP Business ByDesign
SAP Business ByDesign Schnittstelle für die Feinplanung mit SkyPlanner APS: der Leitfaden
Dieser Leitfaden zur SAP Business ByDesign Schnittstelle zeigt Partnern und IT-Teams, wie sie ByDesign mit SkyPlanner APS verbinden. SkyPlanner tauscht Daten in beide Richtungen mit ByDesign aus und nutzt dafür die von SAP freigegebenen Webservices:
- Importiert werden freigegebene Produktionsaufträge mit ihren Arbeitsgängen, Production Models, Bills of Material und Bills of Operations, Betriebsmittel- und Personalressourcen, Materialien, Bestände und Bestellungen.
- Der geplante Start jedes Produktionsauftrags und die Hauptressource jedes Arbeitsgangs werden an ByDesign zurückgegeben.
- Rückgemeldete Mengen, Ausschuss und abgeschlossene Aufgaben können in die Produktionslose zurückgeschrieben werden.
- SkyPlanner-Webhooks übertragen Planänderungen, sobald sie auftreten.
Das SkyPlanner-Team richtet die Anbindung an Ihren ByDesign-Mandanten während des Onboardings über die REST API ein und betreut sie auch nach dem Go-live. Dieser Leitfaden richtet sich an Partner und Entwickler, die daran mitwirken oder selbst auf der dokumentierten REST API von SkyPlanner aufbauen möchten (API-Referenz).
Integrationsschnittstellen von SAP ByDesign
ByDesign veröffentlicht die freigegebenen A2X-SOAP-Webservices für jede Version in der Liste der Webservice-APIs. Eine Schnittstelle für die Feinplanung nutzt folgende Dienste:
- Manage Production Orders (ManageProductionOrderIn). READ_PROD_ORDER liefert die gewünschten, frühesten und spätesten Start- und Endtermine, Ressourcen mit geplanter und geleisteter Dauer sowie Priorität, Ausführungsstatus und Planungsstatus. MAINTAIN_BUNDLE_V2 aktualisiert EarliestStartPeriod oder LatestEndPeriod sowie MainResourceID des Arbeitsgangs (SAP-Hilfe).
- Manage Production Lots (ManageProductionLotsIn). MaintainBundle legt Produktionsaufgaben an oder aktualisiert sie. Dazu gehören die rückgemeldete Menge, Ausschuss und das Kennzeichen für eine abgeschlossene Rückmeldung je Meldepunkt, der Aufgabenabschluss mit ausführendem Mitarbeiter und Ausführungszeit sowie die Ressourcenauslastung (SAP-Hilfe).
- Abfragedienste. Query Production Orders, Query Production Lots, Query Production Model, Query Production Bill of Materials, Query Production Bill of Operations (auch nach Ressource), Query Materials, Read Equipment Resources, Query Labour Resource, Query Purchase Orders, Query Identified Stocks und Determine Availability of Products.
- OData. Individuelle OData-Dienste für Geschäftsobjekte sowie OData für Datenquellen und analytische Berichte. Laut SAP entscheiden Unternehmen selbst, welche Geschäftsobjekte bereitgestellt werden: „companies are fully empowered to decide which business objects“ (Unternehmen haben die volle Entscheidungsfreiheit bei der Auswahl der Geschäftsobjekte) (SAP-Integrationsszenarien).
Verwenden Sie zum Lesen die Abfragedienste oder OData und für sämtliche Schreibzugriffe die beiden Manage-Dienste.
Authentifizierung und Lizenzierung
Legen Sie in ByDesign ein Kommunikationssystem für SkyPlanner und eine Kommunikationsvereinbarung für die verwendeten Dienste an. Jede Vereinbarung hat einen eigenen technischen Benutzer. Der SAP-Sicherheitsleitfaden nennt für die Authentifizierung bei der Anwendungsintegration „user ID plus password, and the X.509 client certificate“ (Benutzer-ID mit Passwort und Clientzertifikat) (Sicherheitsleitfaden). Für OData lässt sich OAuth 2.0 konfigurieren. Die WSDL des jeweiligen Dienstes laden Sie aus der Kommunikationsvereinbarung oder dem Service Explorer herunter.
Auf SkyPlanner-Seite enthält jeder Aufruf ein API-Token im Header Authorization-Token. Das Token erstellen Sie in SkyPlanner unter Settings > API. Ein API-Token genügt, um mit der Entwicklung zu beginnen.
Ereignisse und Polling
SkyPlanner sendet bei jeder Planänderung Webhooks. So werden Änderungen am Plan direkt an ByDesign zurückgeschrieben.
Änderungen in ByDesign erfassen Sie durch regelmäßiges Abfragen der Query-Dienste. Lesen Sie freigegebene Produktionsaufträge und Produktionslose alle paar Minuten aus, Materialien, Bestände und Bestellungen in größeren Abständen. Die Abfrageergebnisse werden mit QueryHitsMaximumNumberValue und LastReturnedObjectID seitenweise abgerufen. Die standardmäßige Seitengröße dokumentiert SAP auf der Seite zu Webservices.
Datenzuordnung
| ByDesign-Objekt (Schnittstelle) | SkyPlanner-Objekt | Richtung | Häufigkeit |
|---|---|---|---|
| Materialien (Query Materials) | Produkte und Materialien | ByDesign → SkyPlanner | Erstimport, danach Polling |
| Production Bill of Material (Query Production Bill of Materials) | Produktstruktur, Materialien je Produkt | ByDesign → SkyPlanner | Erstimport, danach bei Änderungen |
| Production Bill of Operations: Arbeitsgänge, Aktivitäten vom Typ Setup, Produce und Tear down (Query Production Bill of Operations) | Prozessschritte mit Dauer, Rüst- und Abrüstzeiten | ByDesign → SkyPlanner | Erstimport, danach bei Änderungen |
| Production Model (Query Production Model) | Arbeitsplan des Produkts je Standort | ByDesign → SkyPlanner | Erstimport, danach bei Änderungen |
| Betriebsmittelressourcen und Ressourcengruppen (Read Equipment Resources) | Arbeitsstationen, Arbeitsstationsgruppen, Werkzeuge | ByDesign → SkyPlanner | Erstimport, danach selten |
| Personalressourcen, Betriebszeiten (Query Labour Resource) | Personal und Schichten | ByDesign → SkyPlanner | Täglich oder eigene Schichten in SkyPlanner |
| Freigegebene Produktionsaufträge und Arbeitsgänge (Query Production Orders, READ_PROD_ORDER) | Aufträge und Arbeitsgänge mit Fälligkeitsterminen und Materialbedarf | ByDesign → SkyPlanner | Polling alle paar Minuten |
| Produktionslose und Aufgaben (Query Production Lots) | Fortschritt der Arbeitsgänge | ByDesign → SkyPlanner | Polling alle paar Minuten |
| Identifizierter Bestand, Produktverfügbarkeit (Query Identified Stocks, Determine Availability of Products) | Lagerbestände | ByDesign → SkyPlanner | Polling, stündlich oder beim Planungslauf |
| Bestellungen (Query Purchase Orders) | Bestellungen, Materialzugänge nach Liefertermin | ByDesign → SkyPlanner | Polling, stündlich oder beim Planungslauf |
| EarliestStartPeriod, MainResourceID des Arbeitsgangs (Manage Production Orders, MAINTAIN_BUNDLE_V2) | Geplanter Start, zugewiesene Arbeitsstation | SkyPlanner → ByDesign | Bei Planänderung über einen SkyPlanner-Webhook |
| Rückgemeldete Menge, Ausschuss, Aufgabenabschluss (Manage Production Lots, MaintainBundle) | Zeitbuchungen und Rückmeldungen der Mitarbeiter | SkyPlanner → ByDesign | Je Rückmeldung oder je Schicht, falls gewünscht |
| Nicht in ByDesign | Rüstzeitmatrix, Bedarf an mehreren Mitarbeitern, alternative Maschinen und Mitarbeiter | Pflege in SkyPlanner | Einrichtung während des Onboardings |
Integrationsabläufe
1. Erstimport der Stammdaten. Lesen Sie Materialien, Production Models, Bills of Material und Bills of Operations sowie Betriebsmittel- und Personalressourcen aus. Legen Sie die Zuordnung der Ressourcen bewusst fest: Eine Ressourcengruppe mit vier Maschinen wird zu einer Arbeitsstationsgruppe oder zu vier Arbeitsstationen. Betriebsmittelressourcen, die Werkzeuge darstellen, werden in SkyPlanner als Werkzeuge mit begrenzter Verfügbarkeit abgebildet.
2. Produktionsaufträge synchronisieren. Lesen Sie freigegebene Produktionsaufträge mit ihren Arbeitsgängen und Materialien sowie offene Bestellungen aus. SkyPlanner betrachtet bestelltes Material zum Liefertermin der Bestellung als verfügbar und aktualisiert den Bestand, sobald die Bestellung als Delivered markiert ist. Produktionsvorschläge bleiben in ByDesign Supply Planning, bis sie zu Produktionsaufträgen werden.
3. Planung zurückschreiben. Wenn die Planungs-Engine einen Auftrag einplant oder verschiebt, löst ein SkyPlanner-Webhook MAINTAIN_BUNDLE_V2 im Dienst Manage Production Orders aus. Dabei werden EarliestStartPeriod und MainResourceID des von SkyPlanner ausgewählten Arbeitsgangs gesetzt.
4. Rückmeldungen aus der Fertigung. Mitarbeiter erfassen ihre Arbeit mit SkyPlanner Mobile Confirmations oder dem Production Timer. Die Zeitbuchungen halten den Plan aktuell. Sie entscheiden, ob Ist-Daten zurückgeschrieben werden. Wenn ja, überträgt MaintainBundle im Dienst Manage Production Lots die rückgemeldete Menge, den Ausschuss und die abgeschlossene Aufgabe samt ausführendem Mitarbeiter. Wenn nicht, werden Rückmeldungen wie bisher in ByDesign erfasst.
5. Datenhoheit und Konfliktregeln. Halten Sie diese vor dem Produktivstart schriftlich fest:
| Daten | Führendes System |
|---|---|
| Materialien, Production Models, Mengen, Auftrags- und Losstatus | ByDesign |
| Reihenfolge der Arbeitsgänge, Start- und Endzeiten, Ressourcenzuordnung | SkyPlanner |
| Rüstzeitmatrix, Werkzeug- und Personalbedarf, alternative Ressourcen | SkyPlanner |
| Schichten und arbeitsfreie Tage | Ein System, bei der Anforderungsaufnahme festgelegt |
| Rückmeldungen, Warenbewegungen, Kalkulation | ByDesign; dort erfasst oder aus SkyPlanner-Zeitbuchungen übertragen |
Legen Sie genau ein System fest, das Auftragstermine schreibt. Führen Sie kein Load Leveling für Ressourcen aus, die SkyPlanner verplant. Prüfen Sie außerdem, dass der Planungslauf keine freigegebenen Aufträge verschiebt, für die SkyPlanner zuständig ist.
Typischer Projektablauf
Die Implementierung ist normalerweise innerhalb weniger Wochen nach Beginn des Onboardings abgeschlossen. Prüfen Sie zuvor den Plan in der kostenlosen 30-tägigen Testphase anhand von Ressourcen, Bills of Operations und offenen Produktionsaufträgen, die Sie als CSV- oder Excel-Dateien aus ByDesign exportieren.
- Mapping. Legen Sie die Mapping-Tabelle, die Zuständigkeiten und die Synchronisierungsintervalle fest. Entscheiden Sie außerdem, ob Rückmeldungen zurückgeschrieben werden.
- ByDesign-Zugang. Legen Sie das Kommunikationssystem und die Kommunikationsvereinbarungen an und laden Sie die WSDLs herunter. Testen Sie zunächst in Ihrem ByDesign-Testmandanten.
- Erstimport. Materialien, Production Models, Bills of Material und Bills of Operations, Ressourcen, Betriebszeiten.
- Aufträge und Bestellungen synchronisieren. Polling mit seitenweisem Abruf, Filtern und Wiederholungsversuchen.
- Restriktionen in SkyPlanner einrichten. Rüstzeitmatrix, Werkzeuge, Anzahl der Bediener je Arbeitsgang sowie alternative Maschinen oder Mitarbeiter.
- Planungsdaten zurückschreiben. MAINTAIN_BUNDLE_V2-Aufrufe werden durch SkyPlanner-Webhooks ausgelöst. Hinzu kommen Losrückmeldungen, sofern diese gewählt wurden.
- Parallel testen. Lassen Sie SkyPlanner parallel zur bisherigen Planung laufen, vergleichen Sie die Termine und korrigieren Sie die Stammdaten.
- Produktivstart. Aktivieren Sie das Zurückschreiben, sobald die Daten übereinstimmen.
Was Sie bei einer SAP-ByDesign-Integration berücksichtigen sollten
- Ein Termin pro Aufruf. „The EarliestStartPeriod and the LatestEndPeriod cannot be updated together.“ (EarliestStartPeriod und LatestEndPeriod können nicht zusammen aktualisiert werden.) Verwenden Sie beim Zurückschreiben den Starttermin als Bezugspunkt.
- Keine Sperren. A2X-Dienste sind zustandslos. Laut SAP lassen sich deshalb weder transaktionale noch logische Sperren erzwingen. Lesen Sie den Auftrag vor jedem Schreibzugriff erneut und behandeln Sie mögliche Konflikte.
- Abgeschlossen bleibt abgeschlossen. „Confirmation Finished Indicator cannot be unchecked once it is set.“ (Einmal gesetzt, lässt sich Confirmation Finished Indicator nicht mehr deaktivieren.) Melden Sie den Abschluss erst, wenn der Bediener die Aufgabe abschließt.
- Haupt- und Zusatzressourcen. Die Terminplanung in ByDesign berücksichtigt Hauptressourcen. Bilden Sie Bediener und Werkzeuge aus den Zusatzressourcen in SkyPlanner als Ressourcen mit begrenzter Kapazität ab, damit sie bei der Planung geprüft werden.
- Rüsten und Abrüsten. Bills of Operations enthalten Rüsten und Abrüsten als Aktivitäten. Übernehmen Sie reihenfolgeabhängige Umrüstzeiten in die Rüstzeitmatrix.
Wer richtet die SAP ByDesign Schnittstelle ein und betreut sie?
- Das SkyPlanner-Team richtet die Schnittstelle während des Onboardings ein und betreut sie nach dem Go-live. Das umfasst die vereinbarten Webservices und OData-Abfragen. Jedes Unternehmen nutzt ByDesign anders – dieses Wissen fließt in die Einrichtung ein.
- Ihr SAP ByDesign Partner kann mitwirken. Er kennt Ihren Mandanten, Ihre Anforderungsaufnahme und Ihre Erweiterungen und kann gemeinsam mit dem SkyPlanner-Team die Kommunikationsvereinbarungen einrichten.
- Ihre eigenen Entwickler können die Integration erweitern. Dazu nutzen sie die REST API von SkyPlanner mit einem API-Token im
Authorization-Token-Header. Das SkyPlanner-Team unterstützt sie bei Bedarf. Die Dokumentation finden Sie in der SkyPlanner-Integrationsdokumentation.
SkyPlanner ist ab 199 € pro Monat inklusive 5 Arbeitsstationen erhältlich und wird monatlich abgerechnet. Für die Integration erhalten Sie vorab zusammen mit Ihrem Tarif ein Angebot, das auf Ihre Abläufe und Anforderungen abgestimmt ist. Weitere Informationen finden Sie unter Preise, Feinplanung für SAP ByDesign, auf der Seite zu SAP Business ByDesign und in der Übersicht der ERP-Integrationen. Für andere SAP-Systeme gibt es eigene Leitfäden: SAP Business One und SAP S/4HANA.
Erfahrungen von Fertigungsunternehmen mit SkyPlanner
2 hZeitersparnis pro Woche
„Mit SkyPlanner haben wir unsere Produktionsplanung von Excel-Tabellen auf eine Optimierung der Produktion in Echtzeit umgestellt.“
Kalle Kalliomäki, Supply-Chain-Spezialist
UTU · Elektrische Verteilungen und Schaltanlagen
In der Produktionsplanung werden jede Woche 2 Stunden Arbeitszeit eingespart. Eine neue Auftragsreihenfolge erreicht die Fertigungslinie innerhalb von Sekunden.
+90%Produktionseffizienz
„Die Effizienz in der Produktion ist um 90% gestiegen.“
Abdul Rucyinga, IT-Leiter
Laboratory & Allied · Pharmazeutische Fertigung
Die Produktionseffizienz ist um 90% gestiegen. Ein optimierter Plan für drei Monate über alle Arbeitsstationen hinweg lässt sich in weniger als 30 Minuten erstellen.
100%Liefertreue seit 2021
„SkyPlanner gibt uns einen Überblick über unsere Kapazitäten und macht unsere Planung berechenbar.“
Dan Berglund, COO/CFO
Opes Corporation · Chemie- und Lebensmittelproduktion
Seit SkyPlanner 2021 eingeführt wurde, liegt die Liefertreue durchgehend bei 100%.
WenigerStillstände durch Materialmangel
„Der Mehrwert von SkyPlanner liegt für uns darin, dass es im Alltag funktioniert – besonders bei der Festlegung von Lieferterminen.“
Tommi Männistö, Leiter Produktionsplanung
Eskomatic · Lohnzerspanung
Die automatische Belegungsplanung liefert genauere Liefertermine. Produktionsstillstände durch Materialmangel sind deutlich zurückgegangen.
Häufige Fragen
Welche APIs von SAP ByDesign nutzt SkyPlanner?
SkyPlanner nutzt die von SAP freigegebenen A2X-Webservices. Zum Lesen dienen Query-Dienste wie Query Production Orders und Query Purchase Orders oder benutzerdefinierte OData-Abfragen. Zum Schreiben werden Manage Production Orders und Manage Production Lots verwendet.
Welche Daten schreibt SkyPlanner nach ByDesign zurück?
SkyPlanner schreibt EarliestStartPeriod und die MainResourceID des Arbeitsgangs für jeden Produktionsauftrag zurück. Auf Wunsch werden auch bestätigte Mengen, Ausschuss und abgeschlossene Aufgaben auf das Produktionslos gebucht.
Sendet ByDesign Ereignisse an SkyPlanner?
SkyPlanner fragt alle paar Minuten über die Query-Dienste von ByDesign Aufträge und Lose ab. SkyPlanner selbst sendet bei jeder Planänderung Webhooks, die das Zurückschreiben auslösen.
Wie authentifiziert sich SkyPlanner gegenüber ByDesign?
Über ein Kommunikationssystem und eine Kommunikationsvereinbarung mit einem technischen Benutzer, wie im Sicherheitsleitfaden von SAP beschrieben. Die eigene API von SkyPlanner verwendet einen API-Token im Authorization-Token-Header.
Werden Produktionsvorschläge an SkyPlanner übertragen?
SkyPlanner übernimmt die Feinplanung freigegebener Produktionsaufträge. Vorschläge bleiben in ByDesign Supply Planning, bis sie in Produktionsaufträge umgewandelt werden.
Wer setzt die Integration um?
Das SkyPlanner-Team richtet die Integration während des Onboardings ein und betreut sie nach dem Go-live. Auch Ihr SAP ByDesign Partner oder Ihre eigenen Entwickler können die Integration über die REST API von SkyPlanner mit einem API-Token erweitern.