Trigger SAP ERP

Il trigger SAP ERP è un trigger evento connettore. Il connettore SAP ERP ti consente di eseguire operazioni di inserimento, eliminazione, aggiornamento e lettura sui dati SAP ERP.

Prima di iniziare

  • Se prevedi di creare o configurare una nuova connessione per il trigger SAP ERP, assicurati di disporre del seguente ruolo IAM nel progetto:
    • Connector Admin (roles/connectors.admin)
    • Per informazioni sulla concessione dei ruoli, consulta Gestire l'accesso.

  • Concedi i seguenti ruoli IAM al account di servizio che vuoi utilizzare per il trigger SAP ERP:
    • Application Integration Invoker (roles/integrations.integrationInvoker)
    • Per informazioni sulla concessione di ruoli a un account di servizio, vedi Gestire l'accesso ai service account.

  • Aggiungi il trigger SAP ERP

    Per aggiungere un trigger SAP ERP all'integrazione:

    1. Nella console Google Cloud , vai alla pagina Integrazione di applicazioni.

      Vai ad Application Integration

    2. Nel menu di navigazione, fai clic su Integrazioni.

      Viene visualizzata la pagina Elenco integrazioni, che elenca tutte le integrazioni disponibili nel progetto Google Cloud.

    3. Seleziona un'integrazione esistente o fai clic su Crea integrazione per crearne una nuova.

      Se stai creando una nuova integrazione:

      1. Inserisci un nome e una descrizione nel riquadro Crea integrazione.
      2. Seleziona una regione per l'integrazione.
      3. Seleziona un account di servizio per l'integrazione. Puoi modificare o aggiornare i dettagli del account di servizio di un'integrazione in qualsiasi momento dal riquadro Riepilogo integrazione nella barra degli strumenti dell'integrazione.
      4. Fai clic su Crea.

      L'integrazione appena creata si apre nell'editor integrazioni.

    4. Nella barra di navigazione dell'editor dell'integrazione, fai clic su Attivatori per visualizzare l'elenco degli attivatori disponibili.
    5. Fai clic sull'elemento Trigger SAP ERP e posizionalo nell'Editor integrazioni.
    6. Per configurare il trigger SAP ERP, puoi utilizzare una connessione SAP ERP esistente disponibile in Integration Connectors o creare una nuova connessione SAP ERP utilizzando l'opzione di creazione della connessione inline.

    Configura il trigger SAP ERP utilizzando una connessione esistente

    Il trigger SAP ERP è un trigger di eventi del connettore, pertanto puoi utilizzare solo una connessione SAP ERP con l'iscrizione agli eventi abilitata per configurare il trigger.

    Per informazioni su come configurare un trigger SAP ERP utilizzando una nuova connessione SAP ERP, vedi Configurare il trigger SAP ERP utilizzando una nuova connessione.

    Per configurare un trigger SAP ERP utilizzando una connessione SAP ERP esistente, segui questi passaggi:

    1. Fai clic sull'elemento Trigger SAP ERP nell'Editor integrazioni per aprire il riquadro di configurazione del trigger.
    2. Fai clic su Configura trigger.
    3. Fornisci i seguenti dettagli di configurazione nella pagina Editor attivatore eventi connettore:
      1. Regione:seleziona la regione della connessione SAP ERP.
      2. Connessione:seleziona la connessione SAP ERP che vuoi utilizzare.

        L'Application Integration mostra solo le connessioni SAP ERP attive e con una sottoscrizione di eventi abilitata.

      3. Inserisci il nome del campo del tipo di evento. Questo campo identifica il tipo di evento associato alla richiesta di evento in entrata.
        {
            "event_type": "user.created",
            ...
            // other request fields
            ...
            }
      4. Service account: seleziona un account di servizio con i ruoli IAM richiesti per il trigger SAP ERP.
    4. Fai clic su Fine per completare la configurazione dell'attivatore e chiudere la pagina.

    Configura il trigger SAP ERP utilizzando una nuova connessione

    1. Fai clic sull'elemento Trigger SAP ERP nell'Editor integrazioni per aprire il riquadro di configurazione del trigger.
    2. Fai clic su Configura trigger.
    3. Ignora il campo Regione.
    4. Fai clic su Connessione e seleziona l'opzione Crea connessione dal menu a discesa.
    5. Nella sezione Dettagli connessione, completa quanto segue:
      1. Connettore: seleziona SAP ERP dall'elenco a discesa dei connettori disponibili.
      2. Versione del connettore: seleziona la versione del connettore dall'elenco a discesa delle versioni disponibili.
      3. Nel campo Nome connessione, inserisci un nome per l'istanza di connessione.

        I nomi delle connessioni devono soddisfare i seguenti criteri:

        • I nomi delle connessioni possono contenere lettere, numeri o trattini.
        • Le lettere devono essere minuscole.
        • I nomi delle connessioni devono iniziare con una lettera e terminare con una lettera o un numero.
        • I nomi delle connessioni non possono superare i 49 caratteri.
        • Per i connettori che supportano la sottoscrizione agli eventi, i nomi delle connessioni non possono iniziare con il prefisso "goog".
      4. (Facoltativo) Inserisci una descrizione per la connessione.
      5. (Facoltativo) Abilita Cloud Logging, quindi seleziona un livello di log. Per impostazione predefinita, il livello di log è impostato su Error.
      6. Service Account: seleziona un account di servizio con i ruoli richiesti.
      7. Per utilizzare la connessione per le sottoscrizioni agli eventi, seleziona Abilita sottoscrizione agli eventi. Se selezioni questa opzione, vengono visualizzate le seguenti opzioni:
        • Abilita sottoscrizione all'evento con entità e azioni: seleziona questa opzione per utilizzare la connessione sia per la sottoscrizione all'evento sia per le operazioni del connettore (entità e azioni).
        • Abilita solo la sottoscrizione agli eventi: seleziona questa opzione per utilizzare la connessione solo per la sottoscrizione agli eventi. Se selezioni questa opzione, fai clic su Avanti e poi configura l'iscrizione agli eventi.
      8. Client: il client che esegue l'autenticazione al sistema SAP.
      9. ID sistema: l'ID sistema o R3Name del sistema SAP è una stringa con un massimo di tre caratteri. Viene spesso utilizzato nelle connessioni di bilanciamento del carico.
      10. Numero di sistema: il numero con cui viene definito il sistema di destinazione. Utilizzato per impostare la proprietà di connessione host.
      11. ID progetto: l'ID del progetto Google Cloud in cui si trova il bucket GCS contenente il file JAR SAP JCo.
      12. Bucket: il nome del bucket contenente i file sapjco3.jar e libsapjco3.so.
      13. Percorso Cloud Storage del file JAR JCo: percorso Cloud Storage del file JAR JCo.
      14. Percorso Cloud Storage di libsapjco3: percorso Cloud Storage del file JAR libsapjco3.
      15. Modalità tabella: seleziona la tabella SAP da visualizzare come vista.
      16. Funzione di lettura della tabella: nome della funzione da utilizzare per la lettura delle tabelle. Per ulteriori informazioni, consulta Utilizzare una funzione di tabella di lettura personalizzata.
      17. ID sistema: l'ID sistema o R3Name del sistema SAP. Puoi inserire un massimo di 3 caratteri.
      18. Modalità query: seleziona le tabelle SAP da visualizzare come viste.
      19. Viste sfogliabili: inserisci un elenco separato da virgole delle viste da visualizzare. Ad esempio, ViewA,ViewB,ViewC.
      20. Lingua: imposta questa proprietà sulla lingua specificata quando accedi a SAP. Questa proprietà è un codice ISO 639-1 per la lingua utilizzata dal sistema SAP. Per impostazione predefinita, verrà utilizzato EN.
      21. Voci di servizio: le voci di servizio da utilizzare per la connessione.
      22. Modalità SNC: seleziona questa opzione per attivare SNC per l'autenticazione tra Application Integration e il tuo sistema SAP. Se selezioni questa opzione, specifica i seguenti dettagli:
        • ID oggetto SNC_LIB: ID oggetto della libreria SNC.
        • Nome PSE: nome del file PSE (Personal Security Environment) applicabile al bucket. Un file PSE memorizza la coppia di chiavi pubblica e privata, nonché i certificati X.509 in una struttura ASN.1.
        • Passcode SNC: seleziona il secret di Secret Manager del passcode della libreria SNC.
        • Versione del secret: seleziona la versione del secret.
        • Nome SNC: inserisci un nome per la connessione SNC.
        • SNC qop: seleziona un livello di protezione. Di seguito sono riportati i livelli supportati:
          • 1: applica solo l'autenticazione.
          • 2: applica la protezione dell'integrità. Ciò include anche la protezione dell'autenticazione.
          • 3: applica la protezione della privacy. Ciò include anche la protezione dell'integrità e dell'autenticazione.
          • 8: applica la protezione predefinita.
          • 9: applica la protezione massima.
        • Nome partner SNC: inserisci il nome SNC del server delle applicazioni.
      23. Schema di connessione: specifica se ti stai connettendo a un sistema SAP con un server di messaggi (server di gruppo) o un server delle applicazioni. Per informazioni sui prerequisiti da soddisfare per connettersi a un sistema SAP con un server di messaggi, consulta Tipo di connessione Message Server (Group Server).

        Se selezioni GroupServer, devi specificare i seguenti dettagli:

        • Message Server: specifica il Message Server quando ti connetti a un sistema SAP che utilizza il bilanciamento del carico.
        • Servizio server di messaggistica: il servizio server di messaggistica a cui vuoi connetterti.
        • Gruppo: il gruppo di accesso utilizzato. Devi specificarlo solo quando ti connetti a un sistema SAP che utilizza il bilanciamento del carico.

        Se ti connetti a un sistema SAP con un server di messaggi (server di gruppo), non devi specificare l'indirizzo host nella sezione Destinazioni.

      24. (Facoltativo) Configura le impostazioni del nodo di connessione:

        • Numero minimo di nodi: inserisci il numero minimo di nodi di connessione.
        • Numero massimo di nodi: inserisci il numero massimo di nodi di connessione.

        Un nodo è un'unità (o una replica) di una connessione che elabora le transazioni. Sono necessari più nodi per elaborare più transazioni per una connessione e, viceversa, sono necessari meno nodi per elaborare meno transazioni. Per capire in che modo i nodi influiscono sui prezzi dei connettori, consulta la sezione Prezzi dei nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita i nodi minimi sono impostati su 2 (per una migliore disponibilità) e i nodi massimi sono impostati su 50.

      25. (Facoltativo) Fai clic su + AGGIUNGI ETICHETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
      26. Fai clic su Avanti.
    6. Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti. Se ti connetti a un sistema SAP con Message Server, non devi specificare l'indirizzo host.
      1. Tipo di destinazione: seleziona un Tipo di destinazione.
        • Seleziona Indirizzo host dall'elenco per specificare il nome host o l'indirizzo IP della destinazione.
        • Se vuoi stabilire una connessione privata ai tuoi sistemi di backend, seleziona Collegamento endpoint dall'elenco, quindi seleziona il collegamento endpoint richiesto dall'elenco Collegamento endpoint.

        Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con una sicurezza aggiuntiva, puoi valutare la possibilità di configurare indirizzi IP statici in uscita per le tue connessioni e poi configurare le regole del firewall in modo da consentire solo gli indirizzi IP statici specifici.

        Per inserire altre destinazioni, fai clic su +Aggiungi destinazione.

      2. Fai clic su Avanti.
    7. Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
      1. Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.

        La connessione SAP ERP supporta i seguenti tipi di autenticazione:

        • Autenticazione basata su certificati X509
        • Nome utente e password
      2. Per capire come configurare questi tipi di autenticazione, consulta Configurare l'autenticazione.

      3. Fai clic su Avanti.
    8. Se hai attivato l'iscrizione agli eventi, la sezione Dettagli iscrizione agli eventi viene visualizzata nella pagina di creazione della connessione. Per capire come configurare i dettagli dell'iscrizione agli eventi, consulta Configurare l'iscrizione agli eventi.
    9. Rivedi: rivedi i dettagli di connessione e autenticazione.
    10. Fai clic su Crea.

    Configura l'autenticazione

    Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.

    • Autenticazione basata su certificato X509
      • X509Certificate: il certificato X509 utilizzato per l'accesso.
      • Versione del secret: seleziona la versione del secret.
    • Nome utente e password
      • Nome utente: nome utente per il connettore
      • Password: secret di Secret Manager contenente la password associata al connettore.

    Configurare la sottoscrizione agli eventi

    Se abiliti la sottoscrizione agli eventi, devi configurare l'SDK ABAP. Per informazioni sulla configurazione di ABAP SDK, consulta la panoramica di ABAP SDK for Google Cloud.

    Inserisci i seguenti valori nella sezione Dettagli abbonamento agli eventi:

    1. Seleziona uno dei seguenti tipi di autenticazione per il listener di eventi.
    2. Inserisci il nome del campo del tipo di evento. Questo campo identifica il tipo di evento associato alla richiesta di evento in entrata.
      {
      "event_type": "user.created",
      ...
      // other request fields
      ...
      }
    3. Seleziona Attiva connettività privata per una connettività sicura tra l'applicazione di backend e la connessione. Se selezioni questa opzione, devi eseguire passaggi di configurazione aggiuntivi dopo aver creato la connessione. Per saperne di più, consulta Connettività privata per la sottoscrizione di eventi.
    4. Inserisci la configurazione della coda di messaggi non recapitabili. Se configuri la coda dei messaggi non recapitabili, la connessione scrive gli eventi non elaborati nell'argomento Pub/Sub specificato. Inserisci i seguenti dettagli:
      1. ID progetto messaggi non recapitabili : l'ID progetto Google Cloud in cui hai configurato l'argomento Pub/Sub messaggi non recapitabili.
      2. Argomento messaggi non recapitabili : l'argomento Pub/Sub in cui vuoi scrivere i dettagli dell'evento non elaborato.

    Utilizzare una funzione di lettura della tabella personalizzata

    RFC_READ_TABLE

    Il connettore utilizza la funzione SAP RFC_READ_TABLE per ottenere i dati dalle tabelle SAP.

    Tuttavia, presenta alcune limitazioni. Ad esempio, considera l'eccezione DATA_BUFFER_EXCEEDED. Il SAP RFC_READ_TABLE ha una dimensione fissa di 512 byte. Può memorizzare nel buffer ogni riga di dati, pertanto non puoi selezionare più colonne di quelle che possono essere contenute in questo buffer. Se selezioni più di 512 byte, si verifica un'eccezione che indica che hai superato la dimensione massima del buffer consentita per riga e devi selezionare meno colonne.

    RFC_READ_TABLE2

    Il connettore SAP ERP supporta la funzione di lettura della tabella RFC_READ_TABLE2. Puoi passare alla funzione di lettura della tabella attiva RFC_READ_TABLE2 impostando ReadTableFunction su /SAPDS/RFC_READ_TABLE2.

    Funzioni personalizzate di lettura delle tabelle

    Il connettore include una RFC di lettura della tabella personalizzata, Z_CUSTOM_READ_TABLE, simile a RFC_READ_TABLE di SAP, ma con un buffer più grande per risolvere il problema DATA_BUFFER_EXCEEDED e aggirare le limitazioni di RFC_READ_TABLE.

    Per utilizzare l'RFC personalizzata per la lettura delle tabelle inclusa per aggirare le limitazioni del RFC_READ_TABLE predefinito:

    1. Utilizza la funzione RFC_READ_TABLE come modello per la nuova funzione. Seleziona il codice transazione SE37 e il gruppo di funzioni SDTX e copia RFC_READ_TABLE in un nuovo gruppo di funzioni o nel gruppo di funzioni di lavoro. In questo esempio, RFC_READ_TABLE viene copiato in Z_CUSTOM_READ_TABLE.
    2. Nella scheda Attributi della schermata SAP, seleziona Remote Enabled Module.
    3. Nella scheda Tabelle, imposta il parametro DATA su CHAR8000. Fai clic con il tasto destro del mouse sullo schermo e poi fai clic su Display -> Cambia.
    4. Nella scheda Codice sorgente, incolla il codice sorgente di esempio per il modulo della funzione RFC_READ_TABLE sostitutiva che si trova nella sottocartella db della directory di installazione. Il codice si trova in Z_CUSTOM_READ_TABLE.txt, anche se Z_CUSTOM_READ_TABLE_752.txt è preferibile se la tua istanza SAP ERP esegue ABAP versione 7.52 o successive.
    5. Fai clic su Salva.
    6. Definisci le importazioni, le tabelle e le eccezioni come documentato nella tabella di lettura personalizzata fornita.
    7. Attiva il modulo della funzione e imposta ReadTableFunction su Z_CUSTOM_READ_TABLE o sul nome del modulo della funzione nella stringa di connessione.

    The ABAP 7.52 Custom Read Table

    Oltre a Z_CUSTOM_READ_TABLE.txt, è presente anche un file Z_CUSTOM_READ_TABLE_752.txt per ABAP versione 7.52 e successive. È simile a Z_CUSTOM_READ_TABLE, ma sfrutta le parole chiave appena disponibili in ABAP 7.52 per eseguire la paginazione all'interno del database anziché nello script ABAP stesso. In questo modo la paginazione è efficiente quando si lavora con tabelle di grandi dimensioni.

    Ti consigliamo di utilizzare la RFC Z_CUSTOM_READ_TABLE_752.

    Configurare l'autenticazione in SAP

    Configura l'autenticazione in SAP seguendo le istruzioni riportate nella guida Panoramica dell'autenticazione per la versione on-premise o cloud di ABAP SDK for Google Cloud.

    Convalidare il trigger

    Per convalidare il trigger, puoi creare un programma ABAP. Di seguito è riportato un programma ABAP di esempio che puoi utilizzare come riferimento. Il campo ls_event_payload cambia in base ai tuoi requisiti:

    *&---------------------------------------------------------------------*
    *& Report ZR_TEST_INT_CONNECTOR
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT zr_test_int_connector.
    PARAMETERS: p_auth TYPE char1 RADIOBUTTON GROUP rbg1 USER-COMMAND uc DEFAULT 'X',
     p_apik TYPE char1 RADIOBUTTON GROUP rbg1.
    DATA:
     lv_p_projects_id TYPE string,
     lv_p_locations_id TYPE string,
     lv_p_connections_id TYPE string,
     ls_input TYPE /goog/cl_connectors_v1=>ty_103.
    TYPES: BEGIN OF event_payload,
     event_type TYPE string,
     event_id TYPE string,
     name TYPE string,
     org_id TYPE string,
     END OF event_payload.
    DATA: ls_event_payload TYPE event_payload.
    ls_event_payload = VALUE #(
     event_type = 'create-entity'
     event_id = '1'
     name = 'demo-org'
     org_id = 'SAP'
     ).
    TRY.
     IF p_Auth = abap_true.
     DATA(lv_client_key) = 'IC_DEMO_GOOGLE_AUTH'.
     lv_p_connections_id = 'conn-event-triggers-from-sap-erp'.
     ELSE.
     lv_client_key = 'IC_DEMO_GOOGLE_APIK'.
     lv_p_connections_id = 'conn-event-triggers-from-sap-erp-apik'.
     ENDIF.
    * Open HTTP Connection
     DATA(lo_client) = NEW /goog/cl_connectors_v1( iv_key_name = CONV #( lv_client_key ) ).
    * Populate relevant parameters
     lv_p_projects_id = lo_client->gv_project_id.
     lv_p_locations_id = 'us-central1'.
     GET REFERENCE OF ls_event_payload INTO ls_input-payload .
    * Call API method: connectors.projects.locations.connections.listenEvent
     CALL METHOD lo_client->listen_event_connections
     EXPORTING
    
    
    iv_p_projects_id = lv_p_projects_id
     iv_p_locations_id = lv_p_locations_id
     iv_p_connections_id = lv_p_connections_id
     is_input = ls_input
     IMPORTING
    * es_raw =
     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).
     IF lo_client->is_success( lv_ret_code ).
     MESSAGE 'Success' TYPE 'S'.
     ELSE.
     MESSAGE lv_err_text TYPE 'E'.
     ENDIF.
    * Close HTTP Connection
     lo_client->close( ).
     CATCH /goog/cx_sdk INTO DATA(lo_exception).
     MESSAGE lo_exception->get_text( ) TYPE 'E'.
    ENDTRY.
    

    Quote e limiti

    Per informazioni su quote e limiti, consulta Quote e limiti.

    Passaggi successivi