MyHub kennt drei Nachrichtenquellen — Systemereignisse, von Menschen verfasste Notizen und programmatische ABAP-Aufrufe. Jede folgt demselben Routing-Modell und mündet im selben Eingang. So funktioniert es unter der Haube.
Sie teilen dieselbe Datenform und dieselbe nachgelagerte Pipeline. Was sich unterscheidet, ist, wer oder was sie auslöst.
Generated automatically when something changes in the back-office system — a price moves, a listing goes live, a contract item gets removed. The system fires a structured event; MyHub turns it into an Inbox message for every Receiver Group that subscribes.
Von einem Menschen im MyHub-Ausgang verfasst. Der Sender wählt einen Freitext-Auslöser, der die Eingabefelder definiert, schreibt die Nachricht, leitet sie optional durch eine Freigabe und wählt, welche Empfängergruppen sie erhalten.
The newest addition. A CT is a Free Text message posted programmatically from ABAP code — anywhere — through the Outbox API. Use it when you need typed, structured communication driven by custom logic that doesn't fit a CENT event.
The classic MyHub flow. Wired in via configuration; no per-message code.
Wann immer sich ein relevantes Stammdaten-Attribut ändert — etwa ein regionales Listungsdatum oder eine Bruttopreis-Kondition — erfasst das Quellsystem es als Änderungsbeleg. CENT beobachtet diese Änderungen und sendet ein typisiertes Ereignis. MyHubs Prozessor empfängt das Ereignis, schlägt nach, welche Receiver Groups diesen Auslösercode abonniert haben, wendet die Filterregeln jeder Gruppe an und erstellt je passender Gruppe eine Eingangsnachricht.
Was ATs mächtig macht, ist der "Current vs At Event Time" -Schnappschuss — jede Eingangsnachricht trägt sowohl den ursprünglichen Datenzustand zum Auslösezeitpunkt als auch den aktuellen Live-Zustand. Prüfer sehen immer, was sich tatsächlich geändert hat, auch Tage später.
Für Ankündigungen, Warnungen und Ad-hoc-Notizen, die ein strukturiertes Zuhause brauchen.
FTs sind MyHubs Antwort auf die Frage „was ist mit Updates, die nicht an eine Stammdatenänderung gebunden sind?“ Ein Einkäufer, der ein Lieferproblem melden will, ein Category-Planer, der eine Einführung ankündigt, ein Audit-Team, das einen Prüfpunkt verbreitet — sie alle nutzen den Ausgang.
Jeder FT-Auslöser hat sein eigenes konfigurierbares Eingabeschema, einmal von einem Admin in der Administrative Workbench definiert unter Free Text Trigger. Dieses Schema steuert, welche Felder im Ausgang-Formular erscheinen — Artikel-ID, Standort (DC), Lieferant, Dringend-Flag, Buchungsdatum usw. — sodass Eingaben konsistent und maschinenlesbar bleiben.
Die Flexibilität von Freitext-Nachrichten, aufrufbar von jeder Stelle im Code.
Sometimes you need to communicate something typed and structured, aber es ist keine Stammdatenänderung, die CENT erkennen kann. Vielleicht ein eigener Report, der fertig wird. Vielleicht ein Nachtjob, der eine Anomalie erkennt. Vielleicht eine geplante Aufräumaufgabe, die drei Teams sagen muss, welche Artikel sie berührt hat. Hier kommen CTs ins Spiel.
Eine CT ist funktional identisch mit einer FT — gleiches Auslöser-Schema, gleiche Eingangsansicht für den Empfänger, gleicher Status-Lebenszyklus — aber statt von einem Menschen im Ausgang-UI verfasst zu werden, wird sie direkt über die öffentliche Ausgang-API gebucht. Ihr ABAP-Code erledigt die Arbeit, die ein Mensch im Formular getan hätte.
CALL FUNCTION 'Z_MYHUB_API_POST_FREE_TASK' EXPORTING iv_trigger_code = 'CT042' "<-- registered Cross-Msg trigger iv_sending_group = 'WAREHOUSE_OUTBOUND' iv_message_text = lv_html_body iv_post_date = sy-datum TABLES it_input_fields = lt_fields "<-- Article ID, DC, etc. it_distribution = lt_receiver_groups "<-- which RGs get it it_attachments = lt_files EXCEPTIONS invalid_trigger = 1 not_authorized = 2 OTHERS = 3. IF sy-subrc = 0. log( |MyHub CT posted: { ev_message_id }| ). ENDIF.
Why CTs matter:
Häufige CT-Muster: nächtliche Anomalie-Berichte, eigene Integrationswarnungen (ein externes System hat uns fehlerhafte Daten geliefert), Aufräumjob-Zusammenfassungen, Post-Go-Live-„darauf achten“-Ankündigungen, die in keinen Standard-Auslöser passen.
Alle drei Nachrichtenarten laufen durch dieselbe Routing-Engine. Der Unterschied ist, wer die Empfängerliste liefert.
Lead Time: Jedes Abonnement kann eine Vorlaufzeit in Tagen angeben. Ist sie gesetzt, kommt die Nachricht an Waiting List status and flips to New wenn (Buchungsdatum − Vorlaufzeit) erreicht ist. Nützlich für Muster wie „dem Lager eine Woche vor dem Listungstag Bescheid geben“.
Both ends of the conversation track state independently. The Outbox shows where a message is in its publishing lifecycle; the Inbox shows where it is in each receiver's processing lifecycle.
Die Demo enthält Beispieldaten für ATs, FTs und ein CT-Beispiel, mit demselben Routing-Modell, über das Sie gerade gelesen haben.
Die MyHub-Demo öffnen →