SAP-Rückmeldungen mit Peakboard Hub Flows asynchron verarbeiten
Mit Peakboard Hub Flows kannst du Rückmeldungen zu Fertigungsaufträgen asynchron an SAP senden: Die Rückmeldung landet zunächst in einer Hub-Liste, und ein Hub Flow übernimmt das Senden, den Status und den erneuten Versuch bei Fehlern.
04.11.2026
·
5 Min. Lesezeit

- Eine Hub-Liste kann als Message Queue für Rückmeldungen dienen, die ein Hub Flow asynchron an SAP sendet.
- Die Anwendung muss nur warten, bis die Rückmeldung in der Hub-Liste gespeichert ist, und kann sofort weiterarbeiten.
- Der Hub Flow läuft im Beispiel alle 60 Sekunden, sendet offene Rückmeldungen per BAPI an SAP und setzt den Status.
- Rückmeldungen mit Fehler sendet der Hub Flow erneut, sobald sich die offenen Rückmeldungen ändern.
Die Hub-Liste dient dabei als Message Queue. Die Grundlagen zu Flow-Projekten kannst du in Teil 1 der Reihe zum Historisieren von MQTT-Daten nachlesen.
Was eine Message Queue ist
Eine Message Queue nimmt Nachrichten von Produzenten an, speichert sie zwischen und leitet sie dann an ihr Ziel weiter. Mit Peakboard sieht das so aus:
- Eine Person meldet in einer Peakboard-Anwendung einen Fertigungsauftrag zurück.
- Die Rückmeldung landet in einer Hub-Liste, die als Message Queue dient.
- Ein Hub Flow geht die Rückmeldungen in der Hub-Liste durch und sendet jede an das ERP-System.
Warum sich der Umweg lohnt
Die Anwendung bleibt bedienbar
Geht eine Rückmeldung direkt an das ERP-System, muss die Anwendung warten, bis das System sie verarbeitet und antwortet. So lange ist sie blockiert. Mit der Message Queue dauert es nur, bis die Rückmeldung in der Hub-Liste gespeichert ist, und das geht sehr schnell. Danach kann die Person sofort weiterarbeiten.
Fehler automatisch behandeln
Ist das ERP-System nicht erreichbar oder lässt sich eine Rückmeldung nicht verarbeiten, etwa weil der Auftrag gesperrt ist, soll sie später erneut gesendet werden. Mit der Message Queue kümmert sich der Hub Flow darum. Sobald die Rückmeldung in der Hub-Liste steht, hat die Anwendung ihre Aufgabe erledigt.
Schritt für Schritt
Ausgangspunkt ist eine Peakboard-Anwendung, die Rückmeldungen bisher direkt an SAP sendet. Der Artikel zur Produktionsauftragsbestätigung mit Peakboard und SAP erklärt, wie du eine solche Anwendung bauen kannst.
1. Hub-Liste als Message Queue anlegen
Im Peakboard Hub kannst du dafür die Hub-Liste SAPConfirmations mit diesen Spalten anlegen:
ConfirmationNo: Rückmeldenummer, die den Fertigungsauftrag identifiziertYieldQuantity: GutmengeScrapQuantity: AusschussmengeMachineTime: benötigte MaschinenzeitState: Status der Rückmeldung,N(neu),D(erledigt) oderE(Fehler)Message: Antwort von SAP, sobald die Rückmeldung gesendet wurde
Die letzten beiden Spalten nutzt der Hub Flow, um festzuhalten, welche Rückmeldungen schon verarbeitet sind, und um Statusinformationen anzuzeigen.
2. Datenquelle für offene Rückmeldungen
Im neuen Flow-Projekt kannst du die Hub-Liste über die Datenquelle OpenConfirmations mit dem Filter State ~= D einbinden. So enthält die Datenquelle alle neuen Rückmeldungen (N) und alle mit Fehler (E), also genau die, die noch gesendet werden müssen.

3. Variablen und SAP-Datenquelle
Für das XQL-Statement kannst du vier Variablen anlegen: ConfirmationNo mit dem Datentyp String sowie YieldQuantity, ScrapQuantity und MachineTime mit dem Datentyp Number.

Über die SAP-Datenquelle SAPSendConfirmation geht die Rückmeldung mit folgendem XQL an SAP. In die Platzhalter #[…]# kommen die Werte der Variablen, 'H' gibt die Maschinenzeit in Stunden an, und 'Submitted by Peakboard' ist der Rückmeldetext. Zusätzlich speichert die Datenquelle die Tabelle DETAIL_RETURN mit Status und Meldung von SAP.
EXECUTE FUNCTION 'BAPI_PRODORDCONF_CREATE_TT'
TABLES
TIMETICKETS = ((CONF_NO, YIELD, SCRAP, CONF_ACTIVITY2, CONF_ACTI_UNIT2, CONF_TEXT),
('#[ConfirmationNo]#', '#[YieldQuantity]#', '#[ScrapQuantity]#',
'#[MachineTime]#', 'H', 'Submitted by Peakboard')),
DETAIL_RETURN INTO @RETVAL;
EXECUTE FUNCTION 'BAPI_TRANSACTION_COMMIT'
4. Rückmeldungen per Building Blocks verarbeiten
Die Funktion ProcessConfirmations kannst du mit Building Blocks bauen. In einer Schleife geht sie jede Zeile von OpenConfirmations durch:
- Die vier Variablen bekommen die Werte der Zeile.
- Mit „reload and await list“ wird SAPSendConfirmation neu geladen, und die Rückmeldung geht an SAP.
- Steht in Zeile 0 von SAPSendConfirmation in der Spalte
TYPEder WertI, war die Rückmeldung erfolgreich, und die Zeile bekommt den StatusD. In allen anderen Fällen bekommt sie den StatusE. - Mit dem Block „set values at row ID“ landen der Status und die Meldung aus der Spalte
MESSAGEin der passenden Zeile der Hub-Liste. Die Zeile wird über die SpalteIDder Hub-Liste gefunden.

5. Trigger einrichten und Hub Flow hochladen
Mit einem periodischen Trigger kannst du den Hub Flow ProcessConfirmations alle 60 Sekunden starten lassen. Bei jedem Lauf wird zuerst die Datenquelle OpenConfirmations neu geladen, danach folgt die Funktion. Zwischen beiden Schritten steht die Bedingung „Data change“: Die Funktion läuft nur, wenn sich die Daten geändert haben. Nach dem Upload in den Peakboard Hub startet der Hub Flow im festgelegten Takt.

Im Peakboard Hub kannst du unter „Hub Flows“ verfolgen, wann der Hub Flow zuletzt gelaufen ist und ob jeder Schritt erfolgreich war.

Das Ergebnis
Nach dem ersten Lauf ist eine Rückmeldung erfolgreich an SAP gegangen, die andere ist mit einem Fehler zurückgekommen. Sie wird erneut gesendet, sobald sich die offenen Rückmeldungen ändern, zum Beispiel durch eine neue Rückmeldung.

Das Beispiel verzichtet auf eine aufwendige Fehlerbehandlung und sendet fehlerhafte Rückmeldungen einfach erneut. Erweitern kannst du das Muster zum Beispiel mit einem Zähler: Scheitert eine Rückmeldung zehnmal, endet der Versand, und eine zuständige Person erhält eine E-Mail. Ebenso kannst du bei jedem Fehler eine E-Mail senden lassen.
Das Beispiel im Video
Weiterführende Links
Das Flow-Projekt SAPProdOrderConfQueueing.pbfx kannst du herunterladen und im Peakboard Designer öffnen. Alles zur Anbindung von SAP im Peakboard Designer kannst du auf der Seite zur Datenanbindung SAP nachlesen.
Produkt
Peakboard Hub Flows
Alle Funktionen, die Preise und die 60-tägige Testphase des Peakboard Hub stehen auf der Produktseite zu Peakboard Hub Flows.
Warum Rückmeldungen über eine Message Queue senden?
Die Anwendung muss nur warten, bis die Rückmeldung in der Hub-Liste gespeichert ist, und bleibt damit bedienbar. Senden, Status und erneute Versuche bei Fehlern übernimmt der Hub Flow.
Wie erkennt der Hub Flow, welche Rückmeldungen offen sind?
Über die Spalte State. Die Datenquelle filtert alle Zeilen mit State ungleich D, also neue Rückmeldungen (N) und solche mit Fehler (E).
Welchen SAP-Baustein nutzt das Beispiel?
Das XQL-Statement ruft BAPI_PRODORDCONF_CREATE_TT auf und danach BAPI_TRANSACTION_COMMIT. Die Tabelle DETAIL_RETURN liefert Status und Meldung von SAP.
Was passiert mit fehlerhaften Rückmeldungen?
Sie bekommen den Status E und die Meldung von SAP. Der Hub Flow sendet sie erneut, sobald sich die offenen Rückmeldungen ändern, zum Beispiel durch eine neue Rückmeldung.
Welche Daten enthält eine Rückmeldung?
Die Rückmeldenummer ConfirmationNo, die Gutmenge YieldQuantity, die Ausschussmenge ScrapQuantity und die Maschinenzeit MachineTime. Dazu kommen in der Hub-Liste die Spalten State für den Status und Message für die Antwort von SAP.







