Interaktive Google Chat-Apps für SAP

In diesem Dokument wird eine Referenzarchitektur für die Erstellung interaktiver Google Chat-Apps für SAP beschrieben. Dabei wird die lokale oder eine beliebige Cloud-Version des ABAP SDK for Google Cloud verwendet. Mit interaktiven Chat-Apps können Nutzer nicht nur Benachrichtigungen erhalten, sondern auch direkt in Google Workspace Aktionen für SAP-Workflows ausführen, z. B. Anfragen genehmigen oder ablehnen.

Dieses Dokument richtet sich an ABAP-Entwickler, SAP-Lösungsarchitekten und Cloud-Architekten. In diesem Dokument wird davon ausgegangen, dass Sie mit den Chat-Apps vertraut sind, die in Google Workspace verfügbar sind.

Architektur

Das folgende Diagramm zeigt eine Referenzarchitektur für die Implementierung interaktiver Chat-Apps für SAP:

Interaktive Chat-Apps für SAP

Diese Referenzarchitektur umfasst die folgenden Komponenten:

# Komponente Details
1 SAP-Prozesse oder ‑Transaktionen Alle SAP-Prozesse oder -Transaktionen, bei denen Nachrichten an Nutzer gesendet werden müssen. Sie ist der Ausgangspunkt für die Kommunikation über Google Chat.
2 ABAP SDK for Google Cloud Die Lösung dient als Brücke zwischen SAP-Systemen und Google Cloud und ermöglicht eine sichere HTTPS-Kommunikation mit der Google Chat API.
3 Google Chat App-Projekt Das Google Cloud-Projekt, in dem Sie die Google Chat API aktiviert und Ihre Chat-App konfiguriert haben.
4 Chatbereich

Ein spezieller Chatroom in Google Chat, in dem Ihr SAP-System mit Nutzern kommunizieren kann.

Die Chat-Apps befinden sich in diesem Gruppenbereich und stellen über die Google Chat API einen Echtzeit-Informationsstream aus Ihren SAP-Systemen bereit.

5 Apps Script-Projekt

Das Apps Script-Projekt, in dem Sie die Logik Ihrer Chat-App zum Empfangen und Verarbeiten von Nachrichten implementieren.

6 Pub/Sub

Das Apps Script-Projekt veröffentlicht Nutzeraktionen wie Genehmigungen oder Ablehnungen als Nachrichten an ein Pub/Sub-Thema.

Das ABAP SDK for Google Cloud verwendet ein Pub/Sub-Abo, um diese Nachrichten aus dem Thema abzurufen. So kann Ihr SAP-System diese Aktionen verarbeiten und alle erforderlichen Aktualisierungen Ihrer Geschäftsprozesse auslösen.

Verwendete Produkte

In dieser Referenzarchitektur werden die folgenden Google-Produkte verwendet:

  • ABAP SDK for Google Cloud: Hilft Ihnen, ABAP-Anwendungen zu entwickeln, die Ihre SAP-Systeme mit Google Cloud-Diensten wie Google Chat verbinden.
  • Google Chat: Mit dieser Funktion können Sie interaktive und kollaborative Chat-Apps erstellen, um die Kommunikation und Produktivität zu verbessern.

  • Apps Script: Mit dieser Funktion können Sie Google-Produkte integrieren und Aufgaben automatisieren.

  • Pub/Sub: Mit diesem Dienst können Sie Nachrichten zwischen unabhängigen Anwendungen senden und empfangen.

Anwendungsfälle

Mit interaktiven Chat-Apps können Sie Aktionen in SAP-Workflows ausführen, z. B. Anfragen genehmigen oder ablehnen. Das folgende Diagramm zeigt ein interaktives Chatmuster für Workflows zur Genehmigung von Bestellungen (Purchase Order, PO) und Verkaufsaufträgen (Sales Order, SO):

Workflow-Genehmigung für interaktive Chat-Apps

Die folgende Liste zeigt einige Anwendungsfälle für interaktive Chat-Apps für SAP:

  • Workflow-Ereignisverwaltung: Sie können mit einer Chat-App interagieren, um Ihren Workflow zu verwalten. Wenn Sie beispielsweise eine Bestellung bearbeiten müssen, können Sie über die Chat-App Folgendes tun:

    • Auftrag genehmigen
    • Bestellung ablehnen
    • Weitere Informationen anfordern
  • Systembenachrichtigungen: Sie können Benachrichtigungen an einen Chatbereich senden, der für die Systemadministratoren bestimmt ist, um sie über das Erreichen verschiedener Systemgrenzwerte zu informieren. Dazu gehören beispielsweise die Laufwerksspeichernutzung, langlaufende Vorgänge, Cache-Sperren oder abgelaufene Lizenzen.

  • Aktualisierungen des Jobstatus: Sie können Aktualisierungen für lang andauernde benutzerdefinierte Jobs an eine Gruppe von Nutzern senden, die auf den Abschluss dieser Jobs warten und die Nachbearbeitungsvorgänge starten möchten.

Designaspekte

Wenn Sie Chat-Apps für Ihre Anwendungsfälle entwerfen, können mehrere Faktoren Ihre Designentscheidungen beeinflussen. Dieser Abschnitt enthält eine Anleitung zur Verwendung dieser Referenzarchitektur, um Architekturen zu entwickeln, die Ihnen helfen, Ihre spezifischen Anforderungen an Sicherheit, Datenschutz, Compliance und Kosten zu erfüllen.

Konfiguration der Google Chat App

  • Name der Chat-App: Geben Sie einen klaren und aussagekräftigen Namen für Ihre Chat-App an. Für eine reibungslose Nutzererfahrung sollte der Name der Chat-App die Funktionen oder die Dienste, mit denen sie verknüpft ist, genau widerspiegeln.

  • Zeitzonen: Ein Chatbereich kann von Mitgliedern verschiedener Zeitzonen gemeinsam genutzt werden. Daher ist es wichtig, Chat-Apps so zu konfigurieren, dass Nachrichten zu einer für alle Nutzer des Gruppenbereichs günstigen Zeit gesendet werden. Alternativ können Sie für wichtige Benachrichtigungen Mitglieder für Chatgruppenbereiche mit einer gemeinsamen Zeitzone festlegen und eine Logik erstellen, um zu bestimmen, an welchen Gruppenbereich die Chat-App Nachrichten senden kann.

Sicherheit, Datenschutz und Compliance

Um die Vertraulichkeit zu wahren, müssen strenge Kontrollen für die Weitergabe vertraulicher Informationen wie Kundenkontaktdaten, IBAN oder anderer für die Arbeit erforderlicher Daten in Chatbereichen implementiert werden. Wenn neuen Nutzern Chat-Gruppenbereiche hinzugefügt werden, in denen Chat-Apps hinzugefügt werden, müssen außerdem klare Regeln festgelegt werden, um diese Aktivitäten angemessen zu verwalten.

Sie können auch die Cloud Data Loss Prevention (DLP) API verwenden, um den Inhalt der Nachricht zu entfernen. Informationen zum Schutz sensibler Unternehmensdaten in SAP mit der DLP API finden Sie unter Datenschutz in SAP mit der DLP API.

Aus Sicherheitsgründen sollten Google Workspace-Administratoren die von Google empfohlenen Best Practices befolgen.

Kontingente und Limits

Die Google Chat API ist ein gemeinsam genutzter Dienst. Daher gelten Kontingente und Einschränkungen. Wenn Sie ein Kontingent überschreiten, erhalten Sie eine Antwort mit dem HTTP-Statuscode 429: Too many requests. Weitere Informationen zu Kontingenten und Limits finden Sie unter Nutzungslimits.

Die Google Chat API selbst ist kostenlos. Google Chat ist jedoch ein Google Workspace-Produkt. Google Workspace ist eine Suite mit Produktivitäts-Tools, darunter Gmail, Docs, Tabellen, Präsentationen und Google Chat. Die Preisstruktur ist ganzheitlich, d. h., Sie können keine einzelnen Komponenten auswählen und kaufen. Weitere Informationen zu den Preisen finden Sie unter Google Workspace-Preise.

Optionen für Verbindungseinstellungen

Für die Interaktionen in Google Chat wird in dieser Referenzarchitektur Apps Script als Backend verwendet. Der Code, der in einem Apps Script-Projekt gehostet wird, muss in JavaScript geschrieben sein.

Alternativ können Sie Ihre interaktive Chat-App mit Cloud Run-Funktionen oder der App Engine mit einem HTTP-Endpunkt erstellen. Informationen zur Verwendung von Cloud Run-Funktionen für Google Chat finden Sie unter HTTP-Google Chat-App erstellen. Um die Logik der Chat-App in Cloud Run-Funktionen zu erstellen, können Sie die Cloud-Bibliotheken verwenden und aus mehreren Sprachen wie Node.js, Java oder Python auswählen. Nachdem Sie Ihre Cloud Run-Funktion bereitgestellt haben, wählen Sie in der Chat-App-Konfiguration unter Verbindungseinstellungen die Option HTTP-Endpunkt-URL aus und geben Sie die URL für den Cloud Run-Funktionstrigger an.

Hinweise

Bevor Sie eine Lösung auf Grundlage dieser Referenzarchitektur implementieren, müssen Sie die folgenden Voraussetzungen erfüllen:

Apps Script-Projekt einrichten

Zum Empfangen und Verarbeiten von Nachrichten implementieren Sie die Logik der Chat-App in einem Apps Script-Projekt. Apps Script bietet die Backendlogik und Automatisierung. Sie können damit Code schreiben, um Ereignisse zu verarbeiten, z. B. Nutzernachrichten zu extrahieren, Schaltflächenklicks zu verarbeiten und nachfolgende Aktionen auszulösen.

So richten Sie ein Apps Script-Projekt ein:

  1. Gehen Sie zu Apps Script.
  2. Erstellen Sie ein Script, um die Logik Ihrer Chat-App für den Empfang und die Verarbeitung von Nachrichten zu verarbeiten. Informationen zum Erstellen eines Scripts finden Sie in der Google Apps Script-Kurzanleitung.

    Beispielsweise müssen Sie JavaScript-Code schreiben, um verschiedene Funktionstypen zu verarbeiten. Im folgenden Beispielcode wird gezeigt, wie das OnCardClicked-Ereignis verarbeitet wird:

    function onCardClick(event) {
    console.info(event);
    let message = 'Button Clicked';
    // Get the function name from parameter
    var functionToCall = event.action.parameters[0].value;
    // Get the action name from parameter
    var actionTaken = event.action.parameters[1].value;
    // Call the function dynamically
    if (this[functionToCall]) {
      this[functionToCall](actionTaken);
    } else {
      // Handle invalid function name
      console.log('Function not found:', functionToCall);
    }
    return { "text": message };
    }
    

    Dieser Beispielcode führt die folgenden Funktionen aus:

    • Klick auf die Schaltfläche wird erfasst: Hier wird die angeklickte Schaltfläche und die beabsichtigte Aktion des Nutzers ermittelt.
    • Sucht den richtigen Code zum Ausführen: Anhand der Informationen vom Klicken auf die Schaltfläche wird ein passender Code in Ihrer Chat-App gefunden.
    • Code ausführen: Der übereinstimmende Code wird ausgeführt, um die vom Nutzer angeforderte Aktion auszuführen.
    • Fehlerbehandlung: Wenn der übereinstimmende Code nicht gefunden werden kann, wird eine Fehlermeldung angezeigt.
  3. Verknüpfen Sie Ihr Google Cloud-Projekt mit dem Apps Script-Projekt. Informationen zum Verknüpfen Ihrer Projekte finden Sie unter Google Cloud-Projekt verknüpfen.

  4. Erstellen Sie eine Bereitstellung für Ihr Script. Informationen zum Bereitstellen Ihres Scripts finden Sie unter Bereitstellungen erstellen und verwalten.

  5. Notieren Sie sich die Bereitstellungs-ID. Informationen zum Finden einer Bereitstellungs-ID finden Sie unter Bereitstellungs-ID ermitteln.

Weitere Informationen zum Einrichten Ihres Apps Script-Projekts finden Sie in der Kurzanleitung zu Chat-Apps in Google Apps Script.

Google Chat App konfigurieren

So konfigurieren Sie die Google Chat App:

  1. Suchen Sie in der Google Cloud Console nach „Google Chat API“, klicken Sie auf Google Chat API und dann auf Verwalten.

    Chat API aufrufen

  2. Klicken Sie auf Konfiguration und richten Sie die Google Chat App ein:

    1. Geben Sie unter Anwendungsname Quickstart SAP App ein.
    2. Geben Sie unter Avatar-URL https://developers.google.com/chat/images/quickstart-app-avatar.png ein.
    3. Geben Sie unter Beschreibung Quickstart app for SAP ein.
  3. Wählen Sie unter Verbindungseinstellungen die Option Apps Script aus.

  4. Geben Sie die Bereitstellungs-ID des Scripts ein, das Sie im Abschnitt Apps Script-Projekt einrichten erstellt haben.

  5. Klicken Sie auf Speichern.

Authentifizierung für Google Chat-Apps einrichten

Sie können sich bei Google Chat-Apps auf zwei Arten authentifizieren: als App selbst oder als Nutzer.

Wenn Ihre App automatisierte Aufgaben ausführen muss, z. B. das Senden von Systembenachrichtigungen ohne direkte Nutzerinteraktion, wird ein Dienstkonto verwendet. Wenn Ihre App im Namen eines Nutzers handeln soll, z. B. eine Nachricht als diese Person senden, ist eine Nutzerauthentifizierung erforderlich. Dieser Ansatz der doppelten Authentifizierung bietet Flexibilität und Kontrolle darüber, wie Ihre App mit Google Chat interagiert.

Mit dem ABAP SDK for Google Cloud können Sie beide Authentifizierungstypen einrichten. Informationen zum Einrichten der Authentifizierung für Google Chat-Apps finden Sie unter:

Informationen zu Google Chat API-Methoden und ihren unterstützten Autorisierungsbereichen finden Sie unter Chat-Apps und Google Chat API-Anfragen authentifizieren und autorisieren.

In der in diesem Dokument beschriebenen Referenzarchitektur wird die Authentifizierung als Chat-App verwendet und es werden Zugriffstokens für die Authentifizierung verwendet.

So richten Sie die Authentifizierung als Chat-App ein:

  1. Konfigurieren Sie in der Google Cloud Console den OAuth-Zustimmungsbildschirm und wählen Sie Bereiche aus.
  2. Erstellen Sie in der Google Cloud Console ein Dienstkonto.
  3. Optional: Weisen Sie Ihrem Dienstkonto IAM-Rollen zu, um Zugriff auf die Ressourcen Ihres Google Cloud-Projekts zu gewähren. Weitere Informationen finden Sie unter Zugriff auf Dienstkonten verwalten.
  4. Konfigurieren Sie im SAP-System einen Clientschlüssel mit den folgenden Details:

    Feld Beschreibung
    Google Cloud-Schlüsselname Geben Sie einen Namen für die Konfiguration des Clientschlüssels an. Beispiel: ABAP_SDK_CHAT.
    Name des Google Cloud-Dienstkontos

    Geben Sie den Namen des Dienstkontos an, dem Sie Berechtigungen für den Zugriff auf die Google Chat API gewährt haben. Beispiel: sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com.

    Google Cloud-Bereich Geben Sie den API-Zugriffsbereich an: https://www.googleapis.com/auth/chat.bot.
    Google Cloud-Projekt-ID Geben Sie die ID des Google Cloud-Projekts an, das Ihre aktivierte Google Chat API enthält.
    Befehlsname Lassen Sie dieses Feld leer.
    Autorisierungsklasse

    Geben Sie gegebenenfalls die Autorisierungsklasse an:

    • Für die Authentifizierung mit Zugriffstokens: /GOOG/CL_AUTH_GOOGLE
    • Für die Authentifizierung mit JWT: /GOOG/CL_AUTH_JWT
    Token-Caching

    Das Flag, das bestimmt, ob die aus Google Cloud abgerufenen Zugriffstoken im Cache gespeichert werden.

    Wir empfehlen, das Token-Caching zu aktivieren, nachdem Sie Ihre Verbindung zu Google Cloud konfiguriert und getestet haben. Weitere Informationen zum Token-Caching finden Sie unter Token-Caching aktivieren.

    Sekunden bis Tokenaktualisierung Gibt die Zeit in Sekunden an, bis ein Zugriffstoken abläuft und aktualisiert werden muss. Der Standardwert ist 3500.
    Autorisierungsparameter 1 Lassen Sie dieses Feld leer.
    Autorisierungsparameter 2 Lassen Sie dieses Feld leer.

Eine detaillierte Anleitung zum Einrichten der Authentifizierung finden Sie unter Mit Zugriffstokens authentifizieren oder Mit JSON-Webtokens authentifizieren.

Google Chat-App zu Gruppenbereichen hinzufügen

  1. Öffnen Sie die Google Chat App oder die Gmail App.
  2. Fügen Sie der Chat-App einen Chatbereich hinzu. Informationen zum Hinzufügen von Apps zu einem Google Chat-Gruppenbereich finden Sie unter Apps in Unterhaltungen oder Gruppenbereichen hinzufügen.

Interaktive Karten für Nutzeraktionen entwerfen

Karten sind eine visuell ansprechende und interaktive Möglichkeit, Informationen zu präsentieren und so die Nutzerfreundlichkeit insgesamt zu verbessern. Sie können Elemente wie Titel, Bilder und Schaltflächen enthalten, damit Nutzer direkt über die Chatoberfläche mit den Inhalten interagieren können. Eine Karte für den Workflow einer Bestellung kann beispielsweise die folgenden Informationen enthalten:

  • Auftragsnummer
  • Datum des Dokuments
  • Dokumenttyp
  • Lieferunternehmen
  • Versandart
  • Link zum Öffnen der Ansicht der Bestellung in der SAP Fiori App und Schaltfläche zum Genehmigen der Bestellung

Wenn Sie interaktive Karten mit dem ABAP SDK for Google Cloud entwerfen möchten, verwenden Sie die benutzerdefinierte Benutzeroberfläche ZGOOG_IF_CHAT_CARDS_V2 aus dem GitHub-Repository. Diese benutzerdefinierte Schnittstelle enthält die ABAP-Typen, die zum Erstellen von Karten erforderlich sind. Sie können Karten wie die folgende Beispielkarte für den Bestellvorgang erstellen:

Karte „Chat-Apps“

Weitere Informationen zum Entwerfen von Kartennachrichten finden Sie unter Karten für Google Chat-Apps erstellen.

Wenn Sie mit dem ABAP SDK for Google Cloud Nachrichten von einem SAP-System an einen Chatbereich senden möchten, verwenden Sie die Methode CREATE_MESSAGES der Klasse /GOOG/CL_CHAT_V1.

Im folgenden Codebeispiel wird gezeigt, wie eine Kartennachricht von einem SAP-System an einen Chatbereich gesendet wird:

REPORT zsend_interactive_card

DATA lv_client_key TYPE /goog/keyname.
DATA ls_input      TYPE /goog/cl_chat_v1=>ty_072.
DATA lv_space_id   TYPE string.
DATA ls_widget     TYPE zgoog_if_chat_cards_v2=>ty_widget.
DATA ls_section    TYPE zgoog_if_chat_cards_v2=>ty_sections.
DATA ls_card_v2    TYPE zgoog_if_chat_cards_v2=>ty_cards_v2.
DATA ls_card       TYPE /goog/cl_chat_v1=>ty_012.
DATA ls_rb         TYPE zgoog_if_chat_cards_v2=>ty_selection_item.
DATA ls_button     TYPE zgoog_if_chat_cards_v2=>ty_button.
DATA ls_param      TYPE zgoog_if_chat_cards_v2=>ty_action_parameters.

lv_client_key = 'CLIENT_KEY'.
lv_space_id   = 'SPACE_ID'.

TRY.

    DATA(lo_chat) = NEW /goog/cl_chat_v1( iv_key_name = lv_client_key ).
  CATCH /goog/cx_sdk INTO DATA(lo_excp).
    " Handle exception here
ENDTRY.

"Building the Cards Structure
ls_card_v2-header-title     = 'Purchase Order Workflow - Level 2 Approval Alert!'.
ls_card_v2-header-subtitle  = 'PO Number: 8700000034'.
ls_card_v2-header-image_url = 'https://developers.google.com/chat/images/quickstart-app-avatar.png'.
ls_section-header = 'Purchase Order Details'.

ls_widget-decorated_text-icon-known_icon = 'INVITE'.
ls_widget-decorated_text-text = 'Document Date: 2024-10-23'.
APPEND ls_widget TO ls_section-widgets.
CLEAR ls_widget.

ls_widget-decorated_text-icon-material_icon-name = 'category'.
ls_widget-decorated_text-text = 'Document Type: Standard PO'.
APPEND ls_widget TO ls_section-widgets.
CLEAR ls_widget.

ls_widget-decorated_text-icon-material_icon-name = 'conveyor_belt'.
ls_widget-decorated_text-text = 'Supplier: 5300000061 - Cymbal Industries'.
APPEND ls_widget TO ls_section-widgets.
CLEAR ls_widget.

ls_widget-decorated_text-icon-known_icon = 'TRAIN'.
ls_widget-decorated_text-text = 'Shipping Type: RAIL'.
APPEND ls_widget TO ls_section-widgets.
CLEAR ls_widget.

ls_button-text = 'Display Purchase Order'.
ls_button-color-alpha = '1'.
ls_button-color-blue = '1'.
ls_button-color-green = '0'.
ls_button-color-red = '0'.
ls_button-on_click-open_link-url = "Add url for fiori App
APPEND ls_button TO ls_widget-button_list-buttons.
CLEAR ls_button.

ls_button-text = 'Approve Purchase Order'.
ls_button-color-alpha = '1'.
ls_button-color-blue = '0.2'.
ls_button-color-green = '0.4'.
ls_button-color-red = '0'.
ls_button-on_click-action-function = 'onCardClick'.
ls_param-key = 'functionToCall'.
ls_param-value = 'sendToPubSub'.  "Function name on Apps Script
APPEND ls_param TO ls_button-on_click-action-parameters.
CLEAR ls_param.
ls_param-key = 'action'.
ls_param-value = 'approved'.    "Indicate approval action has taken place
APPEND ls_param TO ls_button-on_click-action-parameters.
CLEAR ls_param.
APPEND ls_button TO ls_widget-button_list-buttons.
CLEAR ls_button.

ls_button-text = 'Reject Purchase Order'.
ls_button-color-alpha = '1'.
ls_button-color-blue = '0'.
ls_button-color-green = '0'.
ls_button-color-red = '0.7'.
ls_button-on_click-action-function = 'onCardClick'.
ls_param-key = 'functionToCall'.
ls_param-value = 'sendToPubSub'.  "Function name on Apps Script
APPEND ls_param TO ls_button-on_click-action-parameters.
CLEAR ls_param.
ls_param-key = 'action'.
ls_param-value = 'rejected'.    "Indicate reject action has taken place
APPEND ls_param TO ls_button-on_click-action-parameters.
CLEAR ls_param.

APPEND ls_button TO ls_widget-button_list-buttons.
CLEAR ls_button.

APPEND ls_widget TO ls_section-widgets.

APPEND ls_section TO ls_card_v2-sections.
ls_card-card = REF #( ls_card_v2 ).
APPEND ls_card TO ls_input-cards_v2.

TRY.
  mo_chat_client->create_messages( EXPORTING iv_p_spaces_id = CONV #( p_spc_id )
                                             is_input       = ls_input
                                   IMPORTING es_output      = DATA(ls_output)
                                             ev_ret_code    = DATA(lv_ret_code)
                                             ev_err_text    = DATA(lv_err_text)
                                             es_err_resp    = DATA(ls_err_resp) ).
   CATCH /goog/cx_sdk INTO mo_excp.
       "Handle exception here
ENDTRY.

IF mo_chat_client->is_error( lv_ret_code ).
      "Handle error here
ELSE.
      "Handle success here
ENDIF.

Ersetzen Sie Folgendes:

  • CLIENT_KEY: Der für die Authentifizierung konfigurierte Clientschlüssel.
  • SPACE_ID: Die eindeutige ID des Chatbereichs. Wenn Sie die ID des Google Chat-Bereichs ermitteln möchten, öffnen Sie den Google Chat-Bereich in Ihrem Webbrowser. Sie finden die ID in der URL, wie im folgenden Screenshot dargestellt:

    ID des Chat-Bereichs

Designalternative

Für Ihr SAP S/4HANA- oder ECC-System, das in Google Cloud gehostet wird, können Sie die folgende alternative Referenzarchitektur für die Entwicklung Ihrer interaktiven Chat-Apps verwenden:

Alternative Designoption für interaktive Chat-Apps für SAP

Diese Referenzarchitektur basiert auf den folgenden Überlegungen:

  1. Die SAP-Prozesse oder -Transaktionen, die für das Senden von Nachrichten an Nutzer verantwortlich sind.
  2. Das ABAP SDK for Google Cloud sendet Nachrichten, indem die Google Chat API-Methode spaces.messages.create aufgerufen wird.
  3. Die Google Chat API sendet die Nachrichten an den entsprechenden Google Chat-Gruppenbereich.
  4. Die Nutzer des Gruppenbereichs erhalten Benachrichtigungen und können dann eine Aktion ausführen, z. B. auf eine Schaltfläche klicken.
  5. Die Nutzeraktion ruft das Apps Script-Projekt auf, um das entsprechende Ereignis zu verarbeiten.
  6. Das Apps Script-Projekt ruft die Pub/Sub API auf, um die Nachrichten zu veröffentlichen.
  7. Die Cloud Run-Funktion verarbeitet die Nachrichten und veröffentlicht Ereignisse mithilfe des Eventarc.
  8. Die Cloud Run-Funktion ruft den SICF-Knoten über einen serverlosen VPC-Connector auf.
  9. Das SAP-System verarbeitet das Ereignis und löst basierend auf der definierten Geschäftslogik nachfolgende Aktionen aus.

Für diese Referenzarchitektur muss Logik in drei Schichten implementiert werden:

  • Die ABAP-Ebene zum Erstellen einer Chatnachricht, zum Verarbeiten des Ereignisses und zu nachfolgenden Geschäftsprozessen.
  • Die Apps Script-Ebene zum Verarbeiten des Ereignisses im Chatbereich und zum Veröffentlichen von Nachrichten in einem Pub/Sub-Thema.
  • Die Cloud Run-Funktionen zum Empfangen von Nachrichten über ein Pub/Sub-Abo. Optional können Sie die Nachrichten formatieren und den SICF-Dienst, der auf Ihrem SAP-System gehostet wird, über den VPC-Connector aufrufen.

Nächste Schritte

  • Wenn Sie die in dieser Anleitung beschriebene Beispiellösung mit minimalem Aufwand bereitstellen möchten, verwenden Sie das Codebeispiel auf GitHub.

  • Weitere Informationen zum Beheben von Fehlern in der Chat-App finden Sie unter Fehlerbehebung – Übersicht.

  • Informationen zu Google Workspace-Produkten finden Sie unter Häufige Fragen zu Google Workspace.

  • Wenn Sie Hilfe bei der Behebung von Problemen mit dem ABAP SDK for Google Cloud benötigen, gehen Sie so vor:

Beitragende

Autor: Satish Inamdar | SAP-Anwendungsingenieur

Weiterer Mitwirkender: Vikash Kumar | Technischer Autor