In diesem Dokument wird beschrieben, wie Sie das Business Eventing Toolkit für SAP installieren und konfigurieren.
Business Eventing Toolkit für SAP installieren
Wenn Sie die neueste Version der lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud installieren, wird das Business Eventing Toolkit for SAP für Sie installiert. Informationen zu den Installationsschritten finden Sie unter Lokale oder Cloud-Version des ABAP SDK for Google Cloud installieren und konfigurieren.
Wenn Sie Version 1.9 oder eine frühere Version der lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud verwenden, aktualisieren Sie Ihr SDK auf die neueste Version, um das Business Eventing Toolkit for SAP zu erhalten. Weitere Informationen finden Sie unter ABAP SDK for Google Cloud aktualisieren.
Ziel- Google Cloud APIs aktivieren
Bevor Sie Ziel Google Cloud dienste verwenden, müssen Sie die entsprechendenGoogle Cloud APIs in Ihrem Projekt aktivieren. Wenn Sie beispielsweise Ereignisse in Pub/Sub veröffentlichen möchten, aktivieren Sie die Pub/Sub API.
Informationen zum Aktivieren von APIs Google Cloud finden Sie unter APIs aktivieren.
Authentifizierung einrichten
Nachdem Sie die Authentifizierung für den Zugriff auf Google Cloud APIs in Ihrer lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud eingerichtet haben, verwendet das Business Eventing Toolkit for SAP dieselbe Authentifizierungsmethode, um SAP-Ereignisse in Google Cloud APIs zu veröffentlichen. Informationen zum Einrichten der Authentifizierung in der lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud finden Sie unter Authentifizierung.
Das in der Clientschlüsselkonfiguration des ABAP SDK for Google Cloud konfigurierte Dienstkonto muss die erforderlichen IAM-Rollen für den ZielGoogle Cloud -Dienst haben.
Notieren Sie sich den Clientschlüssel, den Sie im Rahmen der Einrichtung der Authentifizierung erstellt haben. Sie verwenden diesen Clientschlüssel, wenn Sie das Business Eventing Toolkit für SAP in Ihrem SAP-System konfigurieren.
CloudEvent-Attribute konfigurieren
Sie können Standardwerte für CloudEvent-Attribute beibehalten. Diese Werte werden in der Tabelle /GOOG/CE_DEFAULT
gespeichert.
Diese Konfiguration ist optional. Sie können entweder CloudEvent-Attribute übergeben oder die Standardattribute direkt in Ihrem Code überschreiben.
So konfigurieren Sie CloudEvent-Attribute:
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken.Klicken Sie auf ABAP SDK for Google Cloud > Grundlegende Einstellungen > Business Eventing: Kontextattribute für Cloud-Ereignisse konfigurieren.
Klicken Sie auf Neue Einträge.
Geben Sie Werte für die folgenden Felder ein:
Feld Datentyp Beschreibung Standardattributschlüssel für Cloud-Ereignisse String
Geben Sie einen Namen für die Standardkonfiguration des CloudEvent-Attributs an. Beispiel: CLOUD_EVENT_ATTRIBUTE_KEY. Quelle String
Geben Sie die URI-Referenz an, die den Kontext angibt, in dem ein Ereignis aufgetreten ist. ID String
Eindeutige Kennung für das Ereignis. Produzenten müssen dafür sorgen, dass „Quelle + ID“ für jedes einzelne Ereignis eindeutig ist. Spezifikationsversion String
Die Version der CloudEvents-Spezifikation, die für das Ereignis verwendet wird. Wenn Sie dieses Feld leer lassen, verwendet das System 1.0. Typ String
Beschreibt die Art des aufgetretenen Ereignisses. Wird häufig für Routing, Beobachtbarkeit und Richtliniendurchsetzung verwendet. Dateninhaltstyp String
Der Inhaltstyp des Datenwerts. Ermöglicht die Übertragung beliebiger Inhaltstypen. Datenschema String
URI, der das Schema angibt, an das sich die Daten halten. Subject String
Beschreibt das Thema des Ereignisses im Kontext des Ereigniserstellers. Weitere Informationen zu diesen Feldern finden Sie in der CloudEvents-Dokumentation zu Kontextattributen.
Speichern Sie den neuen Eintrag.
Ziel Google Cloud dienste konfigurieren
Mit dieser Einstellung können Sie die Zieldienste für Ihre Ereignisse verwalten. Google Cloud
Diese Einstellung wird verwendet, wenn Ereignisse mithilfe des Business Eventing Toolkit für SAP von SAP in Google Cloud Dienste veröffentlicht werden.
So konfigurieren Sie Ziel Google Cloud dienste:
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken.Klicken Sie auf ABAP SDK for Google Cloud > Grundlegende Einstellungen > Business Eventing: Google Cloud-Ziele für ein Ereignis konfigurieren.
Klicken Sie auf Neue Einträge.
Geben Sie Werte für die folgenden Felder ein:
Feld Datentyp Beschreibung Ereignisschlüssel String
Geben Sie einen Namen für die Ereigniskonfiguration des Publishers an. Beispiel: EVENT_KEY. Ereignis-Prozessorklasse String
Geben Sie die Prozessorklasse für das Ereignis an. Wählen Sie je nach Ziel Google Cloud dienst eine der folgenden Optionen aus:
-
/GOOG/CL_PUBLISHER_PUBSUB
: Zum Veröffentlichen von Ereignissen in Pub/Sub. -
/GOOG/CL_PUBLISHER_CLOUDFUNC
: Zum Veröffentlichen von Ereignissen in Cloud Run-Funktionen. -
/GOOG/CL_PUBLISHER_FCM
: Zum Veröffentlichen von Ereignissen in Firebase Cloud Messaging (FCM). -
/GOOG/CL_PUBLISHER_CONNECTORS
: Zum Veröffentlichen von Ereignissen in der Integration Connectors API.
Google Cloud-Schlüsselname String
Der Clientschlüssel, den Sie während der Einrichtung der Authentifizierung für die Authentifizierung bei Google Cloud konfiguriert haben. Google Cloud Ereignisparameter 1 String
Geben Sie alle zusätzlichen Attribute an, die für den gewünschten Zieldienst erforderlich sind. Google Cloud Ereignisparameter 2 String
Geben Sie alle zusätzlichen Attribute an, die für den gewünschten Zieldienst erforderlich sind. Google Cloud Ereignisparameter 3 String
Geben Sie alle zusätzlichen Attribute an, die für den gewünschten Zieldienst erforderlich sind. Google Cloud Standardattributschlüssel für Cloud-Ereignisse String
Wenn Sie das Ereignis als Cloud-Ereignis senden möchten, geben Sie den Wert des entsprechenden Standardattributschlüssels an, den Sie im Abschnitt Cloud-Ereignisattribute konfigurieren konfiguriert haben. Cloud-Ereignis: Codierung String
Wählen Sie einen geeigneten Modus für die Codierung Ihrer CloudEvents aus:
- Strukturiert: CloudEvent-Attribute werden im Anfragetext übergeben.
- Binär: CloudEvent-Attribute werden in den Anfrageheader übergeben.
Wenn Sie Rohereignisdaten direkt an Google Cloud Dienste senden und dabei die CloudEvents-Spezifikation umgehen möchten, lassen Sie dieses Feld leer.
-
Speichern Sie den neuen Eintrag.
Publisher-Modul erweitern
Wenn Sie das Publisher-Modul um andere Google Cloud Dienste oder benutzerdefinierte Ziele erweitern möchten, können Sie eigene Implementierungen erstellen.
So erstellen Sie eine benutzerdefinierte Implementierung:
- Erstellen Sie in der SAP-Transaktion
SE24
eine neue Klasse, die von/GOOG/CL_PUBLISHER_BASE
erbt. Implementieren Sie die Methoden
PUBLISH_EVENT
undVALIDATE_PARAMS
.PUBLISH_EVENT
: Enthält Ihre benutzerdefinierte Logik zum Senden von Ereignisdaten an das Ziel. Die Eingabeparameter werden zugeordnet, die Daten übertragen und die Ausgabestruktur mit der Antwort des Ziels gefüllt.VALIDATE_PARAMS
: Hiermit können Sie prüfen, ob alle erforderlichen Parameter in Tabelle/GOOG/CE_ROUTER
konfiguriert sind. Wenn erforderliche Werte fehlen, werfen Sie eine Ausnahme vom Typ/GOOG/CX_SDK
.
Wenn der ABAP-Code ausgeführt wird, liest die Publisher-Klasse die Konfigurationen aus dieser Tabelle, um den Ereignisveröffentlichungsprozess zu steuern.
Listener für Geschäftsereignisse konfigurieren
Wenn Sie die Ereignisse erfassen möchten, die durch Änderungen an Geschäftsobjekten ausgelöst werden, müssen Sie für jedes Geschäftsobjekt einen Ereignis-Listener konfigurieren.
Verknüpfung mit einem Geschäftsereignis erstellen
Mit dem Business Eventing Toolkit für SAP können Sie eine Verknüpfung mit Geschäftsereignissen erstellen, um wichtige Änderungen an SAP-Geschäftsobjekten automatisch als Ereignisse für Google Cloud -Dienste auszulösen und zu veröffentlichen.
Mit dieser Verknüpfung definieren Sie einen Empfänger, der als Listener für Geschäftsereignisse dient.
So erstellen Sie eine Verknüpfung mit einem Geschäftsereignis:
Führen Sie in der SAP-GUI den Transaktionscode
SWETYPV
aus.Klicken Sie auf Neue Einträge.
Geben Sie eine geeignete Kategorie und einen geeigneten Typ für das Geschäftsobjekt an.
Geben Sie mit dem Business Eventing Toolkit für SAP ein Ereignis an, für das Sie das Ereignis überwachen und weiterleiten möchten.
Geben Sie im Feld Empfängertyp entweder
Google_Cloud
oderGoogle
ein.Geben Sie im Abschnitt Verknüpfungseinstellung (Empfänger) Folgendes an:
- Empfängeranruf: Wählen Sie in der Drop-down-Liste Methode aus.
- Kursname: Geben Sie
/GOOG/CL_BO_EVENT_FORWARD
ein.
Klicken Sie das Kästchen Verknüpfung aktiviert an.
Speichern Sie die Konfiguration.
Event-Listener einem Ereignisschlüssel zuordnen
Wenn Sie festlegen möchten, wie das Business Eventing Toolkit für SAP bestimmte SAP-Geschäftsereignisse für die Google Cloud Integration verarbeitet, ordnen Sie den Listener für Geschäftsereignisse einem Ereignisschlüssel zu, der die Einstellungen für die Veröffentlichung von Ereignissen enthält.
So ordnen Sie den Ereignis-Listener einem Ereignisschlüssel zu:
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken.Klicken Sie auf ABAP SDK for Google Cloud > Grundlegende Einstellungen > Business Eventing: Ereignis-Listener für Geschäftsobjekte konfigurieren.
Klicken Sie auf Neue Einträge.
Geben Sie Werte für die folgenden Felder ein:
Feld Datentyp Beschreibung Objekttyp CHAR
Der Name des Geschäftsobjekts, das Sie in der Transaktion SWETYPV
konfiguriert haben.Ereignis CHAR
Der Name des Ereignisses, das mit dem Geschäftsobjekt verknüpft ist. Name des Empfängers CHAR
Der Name des Empfängers, der in Transaktion SWETYPV
für die Kombination aus Objekttyp und Ereignis konfiguriert wurde.Ereignisschlüssel CHAR
Der Name der Publisher-Ereigniskonfiguration, die im Bereich Zieldienste konfigurieren verwaltet wird. Google Cloud Prozessorklasse CHAR
Optional. Der Name der Prozessorklasse, in der Sie zusätzliche Logik zum Ausfüllen des Ereignis-Eintrags oder zum Erweitern der Erweiterungsattribute geschrieben haben. Mit dieser Klasse muss die Schnittstelle
/GOOG/IF_BOR_EVNT_DATA_HANDLER
implementiert werden.Informationen zum Erstellen einer Prozessorklasse finden Sie unter Prozessorklasse erweitern.
Speichern Sie die Konfiguration.
Standardattribute für Body und Cloud-Ereigniserweiterung
Wenn Sie Ereignisse in Pub/Sub veröffentlichen, sendet der Ereignis-Listener standardmäßig die folgenden Attribute aus dem Geschäftsereigniscontainer an die ZielGoogle Cloud -Dienste:
{
"EVENT_OBJECT": "BUS2012",
"EVENT_OBJECT_KEY": "450000011",
"EVENT_NAME": "CHANGED",
"EVENT_CREATOR": "USER-ID",
"EVENT_CREATION_DATE": "20250321",
"EVENT_CREATION_TIME": "135050",
"EVENT_CREATION_TIMESTAMP": "20250321135050",
"EVENT_CREATION_LANGUAGE": "EN"
}
Wenn die Cloud-Ereignisattribute konfiguriert sind, hat die Nutzlast folgende Struktur:
{
"eventObjectType": "BUS2012", - Picked from Event Container
"eventObjectKey": "450000011", - Picked from Event Container
"eventName": "RELEASED", - Picked from Event Container
"eventCreator": "USER", - Picked from Event Container
"eventCreationDate": "20250321", -Picked from Event Container
"eventCreationTime": "135850", - Picked from Event Container
"eventCreationTimestamp": "20250321135850", - Picked from Event Container
"id": "D5D1CB352A321FD081FFF6EEA9566190", - Auto Populated
"source": "sap-s4hana-doc", - Picked from CE Defaults
"type": "pochanged", - Picked from CE Defaults
"specversion": "1.0", - Picked from CE Defaults
"time": "2025-04-09T16:16:38Z", - Auto Populated
"subject": "test-subject-A" - Picked from CE Defaults Table
}
Wenn Sie in Ihrem Ereignis-Listener eine Prozessorklasse erstellen und konfigurieren, entspricht die resultierende Nutzlast Ihrer benutzerdefinierten Nutzlaststruktur.
Prozessorklasse erweitern
Mit dem Business Eventing Toolkit für SAP können Sie die Daten festlegen und Cloud-Ereignissen zusätzliche Erweiterungsattribute hinzufügen.
Implementieren Sie dazu eine Klasse, die die Schnittstelle /GOOG/IF_BOR_EVNT_DATA_HANDLER
erbt und die Schnittstellenmethode FILL_EVENT_DATA
implementiert.
Diese Methode hat die folgenden Import- und Änderungsparameter:
Name | Typ | Verknüpfter Typ | Beschreibung |
---|---|---|---|
SENDER |
Wird importiert | SIBFLPORB |
Lokale persistente Objektreferenz: BOR-kompatibel |
EVENT |
Wird importiert | SIBFEVENT |
Ereignis |
EVENT_CONTAINER |
Wird importiert | Typ „Ref To“ für IF_SWF_IFS_PARAMETER_CONTAINER | Container für die Übertragung von Parametern |
RECTYPE |
Wird importiert | SWFERECTYP |
Name des Empfängertyps |
HANDLER |
Wird importiert | SIBFLPORB |
Lokale persistente Objektreferenz: BOR-kompatibel |
CT_DATA |
Wird geändert | /GOOG/CL_PUBLISHER_BASE=>TT_MESSAGES |
Tabelle der Nachrichten |
CT_CE_EXTN_ATTRIBUTES |
Wird geändert | /GOOG/T_CE_ATTR_VALUE |
Cloud-Ereignis: Tabelle mit Attributnamen und Wertpaaren |
Beispielimplementierung für das Geschäftsobjekt BUS2012
(Auftrag), um Informationen zum Auftragskopf als Cloud-Ereigniskörper einzufügen:
TYPES: BEGIN OF ty_event_attributes,
ekgrp TYPE ekgrp,
werks TYPE werks_d,
stlnr TYPE stnum,
stlal TYPE mast-stlal,
stlty TYPE stko-stlty,
END OF ty_event_attributes.
DATA: ls_po_header TYPE bapimepoheader.
DATA: ls_event_attributes TYPE ty_event_attributes,
lv_json TYPE string.
DATA ls_data TYPE /goog/cl_publisher_base=>ty_message.
CALL FUNCTION 'BAPI_PO_GETDETAIL1'
EXPORTING
purchaseorder = '4500000007'
IMPORTING
poheader = ls_po_header.
/ui2/cl_json=>serialize(
EXPORTING
data = ls_po_header
RECEIVING
r_json = lv_json
).
ls_data-data = lv_json.
APPEND ls_data TO ct_data.
Listener für RAP-Ereignisse konfigurieren
Für jedes RAP-Ereignis, das an Google Cloudgesendet werden soll, müssen Sie eine Ereignis-Handler-Klasse erstellen. Diese Event-Handler-Klasse fungiert als Event-Listener für dieses RAP-Ereignis.
Wenn Sie eine Ereignishandler-Klasse programmatisch erstellen möchten, können Sie die Community-Ressource auf GitHub verwenden. Sie müssen die RAP-Entitätsdetails angeben und die Ereignishandler-Klassen generieren. Informationen zu Ereignisobjekten finden Sie in der SAP-Dokumentation SAP Business Accelerator Hub.
So erstellen Sie manuell eine Event-Handler-Klasse:
Erstellen Sie eine ABAP-Klasse für RAP-Ereignisse:
- Klicken Sie mit der rechten Maustaste auf Ihr ABAP-Paket und wählen Sie Neu > ABAP-Klasse aus.
Geben Sie die folgenden Details für Ihre ABAP-Klasse ein:
- Name: Geben Sie einen Namen für den Kurs ein, z. B.
ZCL_PRODUCT_EXT
. - Beschreibung: Eine Beschreibung für Ihren Kurs, z. B.
Event handler for RAP events
.
- Name: Geben Sie einen Namen für den Kurs ein, z. B.
Klicken Sie auf Beenden.
Aktualisieren Sie die Klassendefinition so:
class CLASS_NAME definition public abstract final for events of RAP_ENTITY_NAME . public section. protected section. private section. ENDCLASS. CLASS CLASS_NAME IMPLEMENTATION. ENDCLASS.
Ersetzen Sie Folgendes:
CLASS_NAME
: Name der Klasse, z. B.ZCL_PRODUCT_EXT
.RAP_ENTITY_NAME
: Name der RAP-Entität, z. B.R_PRODUCT
.
Öffnen Sie den Tab Lokale Typen und erstellen Sie eine lokale Implementierung:
CLASS lcl_event_extension DEFINITION INHERITING FROM cl_abap_behavior_event_handler. PRIVATE SECTION. METHODS on_EVENT_NAME FOR ENTITY EVENT created FOR RAP_ENTITY_NAME~EVENT_NAME. ENDCLASS. CLASS lcl_event_extension IMPLEMENTATION. METHOD on_EVENT_NAME. TRY. /goog/cl_event_publisher=>publish_event( EXPORTING iv_event_key = 'EVENT_KEY' it_data = VALUE #( FOR <ls_created> IN created ( data = /goog/cl_json=>serialize( data = <ls_created> ) ) ) IMPORTING et_output = DATA(lt_output) ). CATCH /goog/cx_sdk INTO DATA(lo_exp). "Error handling logic here ENDTRY. ENDMETHOD. ENDCLASS.
Ersetzen Sie Folgendes:
EVENT_NAME
: Name des Ereignisses, z. B.CREATED
.RAP_ENTITY_NAME
: Name der RAP-Entität, z. B.ZCL_PRODUCT_EXT
.EVENT_KEY
: Ereignisschlüssel mit der Zielkonfiguration.
Listener für IDoc-Ereignisse konfigurieren
Wenn Sie die Ereignisse erfassen möchten, die durch Änderungen an IDoc ausgelöst werden, müssen Sie einen Ereignis-Listener für IDoc-Ereignisse konfigurieren.
IDoc-Ereignis-Listener konfigurieren
Wenn Sie festlegen möchten, wie das Business Eventing Toolkit für SAP IDoc-Ereignisse für die Google Cloud Integration verarbeitet, konfigurieren Sie einen Ereignis-Listener für IDoc-Ereignisse. Sie ordnen den IDoc-Ereignis-Listener einem Ereignisschlüssel zu, der die Einstellungen für die Veröffentlichung von Ereignissen beibehält.
So konfigurieren Sie einen IDoc-Ereignis-Listener:
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken.Klicken Sie auf ABAP SDK for Google Cloud > Grundlegende Einstellungen > Business Eventing: Ereignis-Listener für IDoc konfigurieren.
Klicken Sie auf Neue Einträge.
Geben Sie Werte für die folgenden Felder ein:
Feld Datentyp Beschreibung Grundlegender Typ CHAR
Der Name des IDoc-Grundtyps, für den Sie Ereignisse an Google Cloudsenden möchten, z. B. MATMAS05
.IDoc-Richtung CHAR
Die Richtung des IDocs: Eingehend oder Ausgehend. Ereignisschlüssel CHAR
Der Name der Publisher-Ereigniskonfiguration, die im Bereich Zieldienste konfigurieren verwaltet wird. Google Cloud Prozessorklasse CHAR
Optional. Der Name der Prozessorklasse, in der Sie zusätzliche Logik zum Ausfüllen des Ereignis-Eintrags oder zum Erweitern der Erweiterungsattribute geschrieben haben. Mit dieser Klasse muss die Schnittstelle
/GOOG/IF_IDOC_EVT_DATA_HANDLER
implementiert werden.Informationen zum Erstellen einer Prozessorklasse finden Sie unter Prozessorklasse erweitern.
Speichern Sie die Konfiguration.
Standardattribute für Body und Cloud-Ereigniserweiterung
Wenn Sie Ereignisse in Pub/Sub veröffentlichen, sendet der Ereignis-Listener standardmäßig die folgenden Attribute:
{
"messages": [
{
"attributes": {
"idocNumber": "0000000000000134",
"direct": "1",
"messageType": "MATMAS",
"basicType": "MATMAS05",
"createdOn": "20250515",
"createdAt": "132254",
"updatedOn": "20250410",
"updatedAt": "144958"
},
"data": [
{
"mandt": "100",
"docnum": "0000000000000132",
"segnum": "000001",
"segnam": "E1MARAM",
"hlevel": "02",
"dtint2": 1000,
"sdata": " TEST-MATNR-IDOC-0111032025KRITIS 11032025KRITIS KL ROH C01 EA"
},
{
"mandt": "100",
"docnum": "0000000000000132",
"segnum": "000002",
"segnam": "E1MARA1",
"psgnum": "000001",
"hlevel": "03",
"dtint2": 1000
}
// ...additional IDOC segments
]
}
]
}
Wenn die Cloud-Ereignisattribute konfiguriert sind, hat die Nutzlast folgende Struktur:
{
"id": "D5D1CB352A321FD081FFF6EEA9566190", // Auto Populated
"source": "sap-s4hana-doc", // Picked from CE Defaults
"type": "pochanged", // Picked from CE Defaults
"specversion": "1.0", // Picked from CE Defaults
"time": "2025-04-09T16:16:38Z", // Auto Populated
"subject": "test-subject-A", // Picked from CE Defaults Table
"messages": [
{
"attributes": {
"idocNumber": "0000000000000134",
"direct": "1",
"messageType": "MATMAS",
"basicType": "MATMAS05",
"createdOn": "20250515",
"createdAt": "132254",
"updatedOn": "20250410",
"updatedAt": "144958"
},
"data": [
{
"mandt": "100",
"docnum": "0000000000000132",
"segnum": "000001",
"segnam": "E1MARAM",
"hlevel": "02",
"dtint2": 1000,
"sdata": " TEST-MATNR-IDOC-0111032025KRITIS 11032025KRITIS KL ROH C01 EA"
},
{
"mandt": "100",
"docnum": "0000000000000132",
"segnum": "000002",
"segnam": "E1MARA1",
"psgnum": "000001",
"hlevel": "03",
"dtint2": 1000
}
// ...additional IDOC segments
]
}
]
}
Wenn Sie in Ihrem Ereignis-Listener eine Prozessorklasse erstellen und konfigurieren, entspricht die resultierende Nutzlast Ihrer benutzerdefinierten Nutzlaststruktur.
Prozessorklasse erweitern
Mit dem Business Eventing Toolkit für SAP können Sie Ereignisdaten anpassen und Cloud-Ereignissen Erweiterungsattribute hinzufügen.
Implementieren Sie dazu eine Klasse, die die Schnittstelle /GOOG/IF_IDOC_EVT_DATA_HANDLER
erbt und die Schnittstellenmethode FILL_EVENT_DATA
implementiert.
Die Methode FILL_EVENT_DATA
hat die folgenden Parameter:
Name | Typ | Verknüpfter Typ | Beschreibung |
---|---|---|---|
IS_IDOC_CONTRL |
Wird importiert | EDIDC |
Die Steuerdatensätze des IDocs. |
IT_IDOC_DATA |
Wird importiert | TAB_EDIDD |
Tabelle mit IDoc-Datensätzen. |
CT_DATA |
Wird geändert | /GOOG/CL_PUBLISHER_BASE=>TT_MESSAGES |
Tabelle der Nachrichten |
CT_CE_EXTN_ATTRIBUTES |
Wird geändert | /GOOG/T_CE_ATTR_VALUE |
Cloud-Ereignis: Tabelle mit Attributnamen und Wertpaaren |
IDoc-Ereignisveröffentlichung in den standardmäßigen SAP-IDoc-Prozess einbinden
Wenn Sie IDoc-Ereignisse in Google Cloud -Diensten veröffentlichen möchten, müssen Sie das Business Eventing Toolkit für die IDoc-Ereignisweiterleitung von SAP in Ihre vorhandene SAP-IDoc-Verarbeitung einbinden. So wird sichergestellt, dass die Daten von IDocs automatisch als Ereignisse veröffentlicht werden, wenn IDocs erstellt, geändert oder einen bestimmten Status erreichen.
Sie können das IDoc-Ereignis-Publishing mit einer der folgenden Methoden einbinden:
IDOC_DATA_MAPPER
-BAdI verwenden
Mit dem IDOC_DATA_MAPPER
Business Add-In (BAdI) können Sie benutzerdefinierte Logik implementieren, die sowohl bei der Verarbeitung eingehender als auch ausgehender IDocs ausgelöst wird.
Mit dieser BAdI können Sie IDoc-Ereignisse in Google Cloudveröffentlichen.
So implementieren Sie das IDOC_DATA_MAPPER
-BAdI:
- Öffnen Sie die Transaktion
SE18
. - Geben Sie im Feld BAdI-Name
IDOC_DATA_MAPPER
ein. - Wählen Sie im Menü Implementierung die Option Erstellen aus.
- Geben Sie im Feld Name der Implementierung der Verbesserung einen Namen für die Implementierung der Verbesserung ein, z. B.
ZEI_IDOC_DATA_MAPPER
. - Ändern Sie in der Implementierung den Namen der implementierenden Klasse in
/GOOG/CL_IM_BADI_IDOC_MAPPER
. - Aktivieren Sie Ihre BAdI-Implementierung.
Vorhandene Ausstiegspunkte für die Optimierung verwenden
Wenn Sie in Ihrem IDoc-Verarbeitungsablauf bereits vorhandene Verbesserungen haben, können Sie die Logik zum Veröffentlichen von IDoc-Ereignissen direkt dort einfügen.
Fügen Sie das folgende ABAP-Snippet in den Exit für die Verbesserung ein:
DATA : lt_return TYPE bapiret2_t.
/goog/cl_idoc_event_forward=>publish_event(
EXPORTING
is_control = IDOC_CONTROL " Replace with your IDoc control record
it_data = IDOC_DATA " Replace with your IDoc data records
IMPORTING
et_return = lt_return
).
" Handle errors if LT_RETURN contains erroneous records.
Ersetzen Sie Folgendes:
IDOC_CONTROL
: Der Kontrolldatensatz des IDocs.IDOC_DATA
: Die IDoc-Datensätze.
Benutzerdefiniertes Funktionsmodul verwenden (basierend auf der Vorlage OWN_FUNCTION
)
Für die Veröffentlichung ausgehender IDoc-Ereignisse können Sie die SAP-IDoc-Verarbeitung so konfigurieren, dass ein benutzerdefiniertes Funktionsmodul aufgerufen wird, das auf der Standardvorlage OWN_FUNCTION
basiert. Mit diesem benutzerdefinierten Funktionsmodul können Sie IDoc-Daten verarbeiten und die Ereignisveröffentlichung auslösen, bevor die Daten an den Google Cloud Zieldienst gesendet werden.
Ausführliche Informationen zur Konfiguration der Verwendung eines benutzerdefinierten Funktionsmoduls zum Veröffentlichen ausgehender IDoc-Ereignisse finden Sie im Business Eventing Toolkit für SAP Utilities. Bei der Implementierung Ihrer benutzerdefinierten Funktion können Sie die Beispiel-Z-Implementierung verwenden, die auf GitHub verfügbar ist.
Support anfordern
Wenn Sie Hilfe bei der Behebung von Problemen mit dem ABAP SDK für Google Cloud benötigen, gehen Sie so vor:
Weitere Informationen finden Sie im Leitfaden zur Fehlerbehebung für ABAP SDK für Google Cloud.
In den Cloud-Foren können Sie Ihre Fragen stellen und über die ABAP SDK für Google Cloud mit der Community sprechen.
Erfassen Sie alle verfügbaren Diagnoseinformationen und wenden Sie sich an Cloud Customer Care. Informationen zur Kontaktaufnahme mit Customer Care finden Sie unter Support für SAP in Google Cloud.