Installer et configurer le Business Eventing Toolkit pour SAP

Ce document explique comment installer et configurer le Business Eventing Toolkit pour SAP.

Installer le kit d'outils Business Eventing pour SAP

Lorsque vous installez la dernière version de l'édition sur site ou de toute édition cloud du SDK ABAP pour Google Cloud, le Business Eventing Toolkit for SAP est installé pour vous. Pour en savoir plus sur la procédure d'installation, consultez Installer et configurer l'édition sur site ou n'importe quelle édition cloud du SDK ABAP pour Google Cloud.

Si vous utilisez la version 1.9 ou antérieure de l'édition sur site ou de toute édition cloud du SDK ABAP pour Google Cloud, mettez à jour votre SDK vers la dernière version pour obtenir le kit d'outils Business Eventing pour SAP. Pour en savoir plus, consultez la page Mettre à jour le SDK ABAP pour Google Cloud.

Activer les API Google Cloud cibles

Avant d'utiliser les services Google Cloud cibles, assurez-vous que les APIGoogle Cloud correspondantes sont activées dans votre projet. Par exemple, si vous prévoyez de publier des événements dans Pub/Sub, activez l'API Pub/Sub.

Pour savoir comment activer des Google Cloud API, consultez Activer des API.

Configurer l'authentification

Une fois que vous avez configuré l'authentification pour accéder aux API Google Cloud dans votre édition sur site ou cloud du SDK ABAP pour Google Cloud, le Business Eventing Toolkit for SAP utilise la même méthode d'authentification pour publier des événements SAP dans les API Google Cloud . Pour savoir comment configurer l'authentification dans l'édition sur site ou toute édition cloud du SDK ABAP pour Google Cloud, consultez la section Présentation de l'authentification.

Assurez-vous que le compte de service configuré dans la configuration de la clé client du SDK ABAP pour Google Cloud dispose des rôles IAM requis spécifiques au serviceGoogle Cloud cible.

Notez la clé client que vous avez créée lors de la configuration de l'authentification. Vous utilisez cette clé client lorsque vous configurez le Business Eventing Toolkit for SAP dans votre système SAP.

Configurer les attributs CloudEvent

Vous pouvez conserver des valeurs par défaut pour les attributs CloudEvent. Ces valeurs sont stockées dans la table /GOOG/CE_DEFAULT.

Il s'agit d'une configuration facultative. Vous pouvez transmettre des attributs CloudEvent ou remplacer les attributs par défaut directement dans votre code.

Pour configurer des attributs CloudEvent, procédez comme suit:

  1. Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction /GOOG/SDK_IMG.

    Vous pouvez également exécuter le code de transaction SPRO, puis cliquer sur SAP Reference IMG (IMG de référence SAP).

  2. Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Business Eventing: configurer les attributs de contexte pour les événements Cloud.

  3. Cliquez sur Nouvelles entrées.

  4. Renseignez les champs suivants :

    Champ Type de données Description
    Clé d'attribut par défaut des événements cloud String Spécifiez un nom pour la configuration par défaut de l'attribut CloudEvent. Par exemple: CLOUD_EVENT_ATTRIBUTE_KEY.
    Source String Fournissez la référence URI qui identifie le contexte dans lequel un événement s'est produit.
    ID String Identifiant unique de l'événement. Les producteurs doivent s'assurer que la source et l'ID sont uniques pour chaque événement distinct.
    Version de la spécification String Version de la spécification CloudEvents utilisée par l'événement. Si vous laissez ce champ vide, le système utilise 1,0.
    Type String Décrit le type d'événement qui s'est produit. Souvent utilisé pour le routage, l'observabilité et l'application des règles.
    Type de contenu des données String Type de contenu de la valeur des données. Permet aux données de transporter n'importe quel type de contenu.
    Schéma de données String URI qui identifie le schéma auquel les données sont conformes.
    Subject String Décrit l'objet de l'événement dans le contexte du producteur de l'événement.

    Pour en savoir plus sur ces champs, consultez les attributs de contexte CloudEvents.

  5. Enregistrez la nouvelle entrée.

Configurer les services Google Cloud cibles

Vous pouvez utiliser ce paramètre pour gérer les services Google Cloud cibles de vos événements.

Ce paramètre est utilisé lors de la publication d'événements à partir de SAP vers des services Google Cloud à l'aide du Business Eventing Toolkit pour SAP.

Pour configurer des services Google Cloud cibles, procédez comme suit:

  1. Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction /GOOG/SDK_IMG.

    Vous pouvez également exécuter le code de transaction SPRO, puis cliquer sur SAP Reference IMG (IMG de référence SAP).

  2. Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Business Eventing: configurer les cibles Google Cloud pour un événement.

  3. Cliquez sur Nouvelles entrées.

  4. Renseignez les champs suivants :

    Champ Type de données Description
    Clé d'événement String Spécifiez un nom pour la configuration de l'événement de l'éditeur. Par exemple, EVENT_KEY.
    Classe de processeur d'événements String

    Spécifiez la classe de processeur pour l'événement. Sélectionnez l'une des options suivantes en fonction de votre service Google Cloud cible:

    • /GOOG/CL_PUBLISHER_PUBSUB: pour publier des événements dans Pub/Sub.
    • /GOOG/CL_PUBLISHER_CLOUDFUNC: pour publier des événements dans des fonctions Cloud Run.
    • /GOOG/CL_PUBLISHER_FCM: pour publier des événements dans Firebase Cloud Messaging (FCM).
    • /GOOG/CL_PUBLISHER_CONNECTORS: pour publier des événements dans l'API Integration Connectors.
    Nom de la clé Google Cloud String Clé client que vous avez configurée pour l'authentification à Google Cloud lors de la configuration de l'authentification.
    Paramètre d'événement 1 String Spécifiez tous les attributs supplémentaires requis pour le service Google Cloud cible que vous souhaitez utiliser.
    Paramètre d'événement 2 String Spécifiez tous les attributs supplémentaires requis pour le service Google Cloud cible que vous souhaitez utiliser.
    Paramètre d'événement 3 String Spécifiez tous les attributs supplémentaires requis pour le service Google Cloud cible que vous souhaitez utiliser.
    Clé d'attribut par défaut des événements cloud String Pour envoyer l'événement en tant que CloudEvent, indiquez la valeur de la clé d'attribut par défaut correspondante que vous avez configurée dans la section Configurer les attributs CloudEvent.
    Événement Cloud: encodage String

    Sélectionnez un mode d'encodage approprié pour vos CloudEvents:

    • Structured (structuré) : les attributs CloudEvent sont transmis dans le corps de la requête.
    • Binaire: les attributs CloudEvent sont transmis dans l'en-tête de requête.

    Lorsque vous devez envoyer des données d'événement brutes directement à des services, en contournant la spécification CloudEvents, laissez ce champ vide. Google Cloud

  5. Enregistrez la nouvelle entrée.

Étendre le module de l'éditeur

Pour intégrer d'autres services ou cibles personnalisées en plus des cibles prédéfinies, vous pouvez étendre le module "Éditeur" en créant vos propres implémentations. Google Cloud

Pour créer une implémentation personnalisée, procédez comme suit:

  1. Dans la transaction SAP SE24, créez une classe qui hérite de /GOOG/CL_PUBLISHER_BASE.
  2. Implémentez les méthodes PUBLISH_EVENT et VALIDATE_PARAMS.

    • PUBLISH_EVENT: contient votre logique personnalisée pour envoyer des données d'événement à la cible. Mappez les paramètres d'entrée, transmettez les données et renseignez la structure de sortie avec la réponse de la cible.
    • VALIDATE_PARAMS: permet de vérifier que tous les paramètres nécessaires sont configurés dans la table /GOOG/CE_ROUTER. Si des valeurs requises sont manquantes, génèrez une exception de type /GOOG/CX_SDK.

Lorsque le code ABAP s'exécute, la classe Publisher lit les configurations de ce tableau pour guider le processus de publication des événements.

Configurer un écouteur pour les événements d'entreprise

Pour capturer les événements déclenchés en raison de modifications apportées aux objets métier, vous devez configurer un écouteur d'événement pour chaque objet métier.

Créer un lien entre un événement et une entreprise

Vous créez un lien d'événement d'entreprise pour déclencher et publier automatiquement les modifications critiques des objets d'entreprise SAP en tant qu'événements pour les services Google Cloud à l'aide du kit d'événements d'entreprise pour SAP.

Avec cette association, vous définissez un récepteur qui sert d'écouteur pour les événements d'entreprise.

Pour créer un lien entre un événement commercial et un établissement, procédez comme suit:

  1. Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction SWETYPV.

  2. Cliquez sur Nouvelles entrées.

  3. Spécifiez une catégorie et un type d'objet d'entreprise appropriés.

  4. Spécifiez un événement pour lequel vous souhaitez écouter et transférer l'événement à l'aide du Business Eventing Toolkit for SAP.

  5. Dans le champ Type de destinataire, saisissez Google_Cloud ou Google.

  6. Dans la section Linkage Setting (Receiver) (Paramètre de liaison (récepteur)), indiquez les éléments suivants:

    • Appel du destinataire: sélectionnez Méthode dans la liste déroulante.
    • Nom du cours: saisissez /GOOG/CL_BO_EVENT_FORWARD.
  7. Cochez la case Association activée.

  8. Enregistrez la configuration.

Mappez l'écouteur d'événements à une clé d'événement.

Pour définir la manière dont le Business Eventing Toolkit for SAP traite des événements d'entreprise SAP spécifiques à l' Google Cloud intégration, mappez l'écouteur des événements d'entreprise à une clé d'événement qui gère les paramètres pour la publication des événements.

Pour mapper l'écouteur d'événements à une clé d'événement, procédez comme suit:

  1. Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction /GOOG/SDK_IMG.

    Vous pouvez également exécuter le code de transaction SPRO, puis cliquer sur SAP Reference IMG (IMG de référence SAP).

  2. Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Événements d'entreprise: configurer les écouteurs d'événements pour les objets métier.

  3. Cliquez sur Nouvelles entrées.

  4. Renseignez les champs suivants :

    Champ Type de données Description
    Type d'objet CHAR Nom de l'objet d'entreprise que vous avez configuré dans la transaction SWETYPV.
    Événement CHAR Nom de l'événement associé à l'objet d'établissement.
    Nom du destinataire CHAR Nom du destinataire configuré dans la transaction SWETYPV en fonction de la combinaison de type d'objet et d'événement.
    Clé d'événement CHAR Nom de la configuration d'événement de l'éditeur gérée dans la section Configurer les services Google Cloud cibles.
    Classe de processeur CHAR

    Facultatif. Nom de la classe de processeur dans laquelle vous avez écrit une logique supplémentaire pour remplir le corps de l'événement ou étendre les attributs d'extension. Cette classe doit implémenter l'interface /GOOG/IF_BOR_EVNT_DATA_HANDLER.

    Pour savoir comment créer une classe de processeur, consultez la section Étendre la classe de processeur.

  5. Enregistrez la configuration.

Attributs par défaut du corps et de l'extension d'événement cloud

Par défaut, lorsque vous publiez des événements dans Pub/Sub, l'écouteur d'événements transmet les attributs suivants du conteneur d'événements d'entreprise aux servicesGoogle Cloud cibles:

{
  "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"
}

Si les attributs des événements cloud sont configurés, la structure de la charge utile est la suivante:

{
  "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
}

Si vous créez et configurez une classe de processeur dans votre écouteur d'événements, la charge utile générée reflète votre structure de charge utile personnalisée.

Étendre la classe de processeur

Le kit d'outils Business Eventing pour SAP vous permet de définir les données et d'ajouter des attributs d'extension supplémentaires aux événements cloud. Pour ce faire, implémentez une classe qui hérite de l'interface /GOOG/IF_BOR_EVNT_DATA_HANDLER et implémentez la méthode d'interface FILL_EVENT_DATA. Cette méthode comporte les paramètres d'importation et de modification suivants:

Nom Type Type associé Description
SENDER Importation… SIBFLPORB Référence d'objet persistant local: compatible avec BOR
EVENT Importation… SIBFEVENT Événement
EVENT_CONTAINER Importation… Type Ref To IF_SWF_IFS_PARAMETER_CONTAINER Conteneur pour le transfert de paramètres
RECTYPE Importation… SWFERECTYP Nom du type de récepteur
HANDLER Importation… SIBFLPORB Référence d'objet persistant local: compatible avec BOR
CT_DATA Modification en cours... /GOOG/CL_PUBLISHER_BASE=>TT_MESSAGES Tableau des messages
CT_CE_EXTN_ATTRIBUTES Modification en cours... /GOOG/T_CE_ATTR_VALUE Événement Cloud: table des paires nom/valeur d'attribut

Exemple d'implémentation pour l'objet métier BUS2012 (bon de commande) afin d'inclure les informations de l'en-tête du bon de commande en tant que corps d'événement cloud:

 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.

Configurer un écouteur pour les événements RAP

Pour chaque événement RAP que vous souhaitez envoyer à Google Cloud, vous devez créer une classe de gestionnaire d'événements. Cette classe de gestionnaire d'événements agit comme un écouteur d'événements pour cet événement RAP.

Pour créer une classe de gestionnaire d'événements de manière programmatique, vous pouvez utiliser la ressource de la communauté disponible sur GitHub. Vous devez fournir les informations sur l'entité RAP et générer les classes de gestionnaire d'événements. Pour en savoir plus sur les objets d'événement, consultez la documentation SAP SAP Business Accelerator Hub.

Pour créer manuellement une classe de gestionnaire d'événements, procédez comme suit:

  1. Créez une classe ABAP pour les événements RAP:

    1. Effectuez un clic droit sur votre package ABAP, puis sélectionnez Nouveau > Classe ABAP.
    2. Saisissez les informations suivantes pour votre classe ABAP :

      • Nom: nom de votre classe, par exemple ZCL_PRODUCT_EXT.
      • Description: description de votre cours, par exemple, Event handler for RAP events.
    3. Cliquez sur Terminer.

  2. Mettez à jour la définition de la classe comme suit:

      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.
    

    Remplacez les éléments suivants :

    • CLASS_NAME: nom de la classe, par exemple ZCL_PRODUCT_EXT.
    • RAP_ENTITY_NAME: nom de l'entité RAP, par exemple R_PRODUCT.
  3. Ouvrez l'onglet Types locaux et créez une implémentation locale:

    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.
    

Remplacez les éléments suivants :

  • EVENT_NAME: nom de l'événement, par exemple CREATED.
  • RAP_ENTITY_NAME: nom de l'entité RAP, par exemple ZCL_PRODUCT_EXT.
  • EVENT_KEY: clé d'événement contenant la configuration cible.

Configurer un écouteur pour les événements IDoc

Pour capturer les événements déclenchés en raison de modifications apportées à l'IDoc, vous devez configurer un écouteur d'événements pour les événements IDoc.

Configurer l'écouteur d'événements IDoc

Pour définir la manière dont le Business Eventing Toolkit for SAP traite les événements IDoc pour l'intégration, configurez un écouteur d'événements pour les événements IDoc. Google Cloud Vous mappez l'écouteur d'événements IDoc à une clé d'événement qui maintient les paramètres de publication des événements.

Pour configurer un écouteur d'événements IDoc, procédez comme suit:

  1. Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction /GOOG/SDK_IMG.

    Vous pouvez également exécuter le code de transaction SPRO, puis cliquer sur SAP Reference IMG (IMG de référence SAP).

  2. Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Business Eventing: configurer les écouteurs d'événements pour les IDocs.

  3. Cliquez sur Nouvelles entrées.

  4. Renseignez les champs suivants :

    Champ Type de données Description
    Type de base CHAR Nom du type de base IDoc pour lequel vous souhaitez envoyer des événements à Google Cloud, par exemple MATMAS05.
    Sens de l'IDoc CHAR Sens de l'IDoc: entrant ou sortant.
    Clé d'événement CHAR Nom de la configuration d'événement de l'éditeur gérée dans la section Configurer les services Google Cloud cibles.
    Classe de processeur CHAR

    Facultatif. Nom de la classe de processeur dans laquelle vous avez écrit une logique supplémentaire pour remplir le corps de l'événement ou étendre les attributs d'extension. Cette classe doit implémenter l'interface /GOOG/IF_IDOC_EVT_DATA_HANDLER.

    Pour savoir comment créer une classe de processeur, consultez la section Étendre la classe de processeur.

  5. Enregistrez la configuration.

Attributs par défaut du corps et de l'extension d'événement cloud

Par défaut, lorsque vous publiez des événements dans Pub/Sub, l'écouteur d'événements transmet les attributs suivants:

{
  "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
      ]
    }
  ]
}

Si les attributs des événements cloud sont configurés, la structure de la charge utile est la suivante:

{
  "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
      ]
    }
  ]
}

Si vous créez et configurez une classe de processeur dans votre écouteur d'événements, la charge utile générée reflète votre structure de charge utile personnalisée.

Étendre la classe de processeur

Le kit d'outils Business Eventing pour SAP vous permet de personnaliser les données d'événement et d'ajouter des attributs d'extension aux événements cloud. Pour ce faire, implémentez une classe qui hérite de l'interface /GOOG/IF_IDOC_EVT_DATA_HANDLER et implémentez la méthode d'interface FILL_EVENT_DATA.

La méthode FILL_EVENT_DATA comporte les paramètres suivants:

Nom Type Type associé Description
IS_IDOC_CONTRL Importation… EDIDC Enregistrements de contrôle de l'IDoc.
IT_IDOC_DATA Importation… TAB_EDIDD Tableau des enregistrements de données IDoc.
CT_DATA Modification en cours... /GOOG/CL_PUBLISHER_BASE=>TT_MESSAGES Tableau des messages
CT_CE_EXTN_ATTRIBUTES Modification en cours... /GOOG/T_CE_ATTR_VALUE Événement Cloud: table des paires nom/valeur d'attribut

Intégrer la publication d'événements IDoc au processus IDoc SAP standard

Pour publier des événements IDoc sur des services Google Cloud , vous devez intégrer le kit d'événements d'entreprise pour la logique de transfert d'événements IDoc de SAP dans votre traitement IDoc SAP existant. Ainsi, lorsque des IDocs sont créés, modifiés ou atteignent un état spécifique, leurs données sont automatiquement publiées en tant qu'événements.

Vous pouvez intégrer la publication d'événements IDoc à l'aide de l'une des méthodes suivantes:

Utiliser la BAdI IDOC_DATA_MAPPER

Le module complémentaire Business Add-In (BAdI) IDOC_DATA_MAPPER vous permet d'implémenter une logique personnalisée qui se déclenche lors du traitement des IDocs entrants et sortants. Vous pouvez utiliser cette BAdI pour publier des événements IDoc sur Google Cloud.

Pour implémenter la BAdI IDOC_DATA_MAPPER, procédez comme suit:

  1. Ouvrez la transaction SE18.
  2. Dans le champ Nom de l'API BadI, saisissez IDOC_DATA_MAPPER.
  3. Accédez au menu Implémentation, puis sélectionnez Créer.
  4. Dans le champ Name of Enhancement Implementation (Nom de l'implémentation de l'amélioration), saisissez un nom pour l'implémentation de l'amélioration, par exemple ZEI_IDOC_DATA_MAPPER.
  5. Dans l'implémentation, remplacez le nom de la classe d'implémentation par /GOOG/CL_IM_BADI_IDOC_MAPPER.
  6. Activez votre implémentation de BAdI.

Utiliser vos sorties d'amélioration existantes

Si vous disposez déjà de sorties de modification dans votre flux de traitement des IDocs, vous pouvez y insérer directement la logique de publication des événements IDoc.

Insérez l'extrait ABAP suivant dans votre sortie de modification:

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.

Remplacez les éléments suivants :

Utiliser un module de fonction personnalisé (basé sur le modèle OWN_FUNCTION)

Pour publier des événements IDoc sortants, vous pouvez configurer le traitement IDoc SAP pour appeler un module de fonction personnalisé, basé sur le modèle standard OWN_FUNCTION. Ce module de fonction personnalisée vous permet de traiter les données IDoc et de déclencher la publication d'événements avant que les données ne soient envoyées au service cible. Google Cloud

Pour connaître la procédure de configuration détaillée permettant d'utiliser un module de fonction personnalisé pour publier des événements IDoc sortants, consultez le Business Eventing Toolkit for SAP Utilities (Kit d'outils d'événements d'entreprise pour les utilitaires SAP). Lors de l'implémentation de votre fonction personnalisée, vous pouvez utiliser l'exemple d'implémentation Z disponible sur GitHub.

Obtenir de l'aide

Procédez comme suit si vous avez besoin d'aide pour résoudre les problèmes liés au SDK ABAP pour Google Cloud :