Consulta i connettori supportati per Application Integration.
Trigger ERP SAP
Il trigger di SAP ERP è un trigger di evento connettore SAP ERP che consente di eseguire operazioni di inserimento, eliminazione, aggiornamento e lettura dei dati SAP ERP.
Prima di iniziare
- Se prevedi di creare o configurare una nuova connessione per il trigger di SAP ERP, assicurati di disporre del seguente ruolo IAM nel progetto:
- .
- Amministratore connettori (
roles/connectors.admin
)
Per informazioni sulla concessione dei ruoli, vedi Gestire l'accesso.
- Amministratore connettori (
- Concedi i seguenti ruoli IAM all'account di servizio che vuoi utilizzare per il trigger di SAP ERP:
- .
- Invoker di Application Integration (
roles/integrations.integrationInvoker
)
Per informazioni sulla concessione dei ruoli a un account di servizio, vedi Gestire l'accesso agli account di servizio.
- Invoker di Application Integration (
- Nella console Google Cloud, vai alla pagina Application Integration.
- Nel menu di navigazione, fai clic su Integrations (Integrazioni).
Viene visualizzata la pagina Integrations List (Elenco delle integrazioni) che elenca tutte le integrazioni disponibili nel progetto Google Cloud.
- Seleziona un'integrazione esistente o fai clic su Crea integrazione per crearne una nuova.
Se stai creando una nuova integrazione:
- Inserisci un nome e una descrizione nel riquadro Crea integrazione.
- Seleziona una regione per l'integrazione.
- Seleziona un account di servizio per l'integrazione. Puoi modificare o aggiornare i dettagli dell'account di servizio di un'integrazione in qualsiasi momento dal riquadro Riepilogo dell'integrazione nella barra degli strumenti dell'integrazione.
- Fai clic su Crea.
L'integrazione viene aperta nell'editor dell'integrazione.
- Nella barra di navigazione dell'editor di integrazione, fai clic su Trigger per visualizzare l'elenco degli attivatori disponibili.
- Fai clic sull'elemento trigger di SAP ERP e posizionalo nell'editor di integrazione.
- Fai clic sull'elemento Trigger SAP ERP nell'editor dell'integrazione per aprire il riquadro di configurazione dell'attivatore.
- Fai clic su Configura trigger.
- Fornisci i seguenti dettagli di configurazione nella pagina Editor trigger evento connettore:
- .
- Regione:seleziona la regione della tua connessione SAP ERP.
- Connessione:seleziona la connessione SAP ERP che vuoi utilizzare.
Application Integration mostra solo le connessioni SAP ERP attive e per le quali è abilitato un abbonamento agli eventi.
- Inserisci il nome del campo del tipo di evento. Questo campo identifica il tipo di evento
associati alla richiesta di evento in arrivo.
{ "event_type": "user.created", ... // other request fields ... }
- Account di servizio: seleziona un account di servizio con i ruoli IAM richiesti per il trigger di SAP ERP.
- Fai clic su Fine per completare la configurazione dell'attivatore e chiudere la pagina.
- Fai clic sull'elemento Trigger SAP ERP nell'editor dell'integrazione per aprire il riquadro di configurazione dell'attivatore.
- Fai clic su Configura trigger.
- Salta il campo Regione.
- Fai clic su Connessione e seleziona l'opzione Crea connessione dal menu a discesa.
- Nella sezione Dettagli connessione, completa i seguenti passaggi:
- .
- Connettore: seleziona SAP ERP dall'elenco a discesa dei connettori disponibili.
- Versione connettore: seleziona la versione del connettore dall'elenco a discesa delle versioni disponibili.
- 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 contenere più di 63 caratteri.
- Facoltativamente, inserisci una descrizione per la connessione.
- Facoltativamente, abilita Cloud Logging.
- Account di servizio: seleziona un account di servizio con i ruoli richiesti.
- Per utilizzare la connessione per le iscrizioni agli eventi, seleziona Attiva la sottoscrizione agli eventi. Selezione
vengono visualizzate le seguenti opzioni:
- Abilita la sottoscrizione agli eventi con entità e azioni: seleziona questa opzione per utilizzare la connessione sia per la sottoscrizione agli eventi sia per le operazioni del connettore (entità e azioni).
- Attiva solo la sottoscrizione all'evento: seleziona questa opzione per utilizzare la connessione. solo per la sottoscrizione all'evento. Se selezioni questa opzione, fai clic su Avanti e poi configurare la sottoscrizione agli eventi.
- Client: il client che esegue l'autenticazione nel sistema SAP.
- System Id (ID sistema): l'ID di sistema o R3Name del sistema SAP è una stringa con un massimo di tre caratteri. Viene spesso utilizzato nelle connessioni di bilanciamento del carico.
- Numero di sistema: il numero tramite il quale viene definito il sistema di destinazione. Utilizzato durante l'impostazione della proprietà Connessione all'host.
- ID progetto: l'ID del progetto Google Cloud in cui si trova il bucket GCS contenente il jar SAP JCo.
- Bucket: il nome del bucket che contiene i file sapjco3.jar e libsapjco3.so.
- ID oggetto jar Jaco: ID oggetto del jar JCo.
- ID oggetto libsapjco3: ID oggetto del jar libsapjco3.
- Modalità tabella: seleziona la tabella SAP da mostrare come visualizzazione.
- ID oggetto SNC_LIB: ID oggetto della libreria SNC.
- Nome PSE: nome del file PSE (Personal Security Environment) applicabile per il bucket. Un file PSE archivia la coppia di chiavi pubblica e privata, nonché i certificati X.509 in una struttura ASN.1.
- Gruppo: il nome del gruppo per l'accesso. Questo viene solitamente specificato quando il sistema SAP utilizza bilanciatori del carico.
- Server di messaggi: nome del server di messaggi da utilizzare per la connessione al sistema SAP che utilizza i bilanciatori del carico.
- Funzione di lettura della tabella: nome della funzione da utilizzare per la lettura delle tabelle. Per maggiori informazioni informazioni, consulta Utilizzare una funzione di tabella di lettura personalizzata.
- Schema di connessione: seleziona uno schema di connessione da utilizzare per la connessione al sistema SAP.
- System ID (ID sistema): l'ID di sistema o il nome R3Name del sistema SAP. Puoi inserire un massimo di 3 caratteri.
- Passcode SNC: seleziona il secret di Secret Manager del passcode della libreria SNC.
- Versione secret: seleziona la versione del secret.
- Modalità SNC: seleziona questa opzione per abilitare SNC per l'autenticazione tra Application Integration e il sistema SAP.
- 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à. È inclusa anche la protezione dell'autenticazione.
- 3 - Applica la protezione della privacy. Sono incluse anche la protezione dell'integrità e dell'autenticazione.
- 8 - Applica la protezione predefinita.
- 9 - Applica la massima protezione.
- Nome partner SNC: inserisci il nome SNC del server di applicazioni.
- Modalità query: seleziona le tabelle SAP da mostrare come viste.
-
Visualizzazioni sfogliabili: inserisci un elenco separato da virgole di viste da mostrare.
Ad esempio,
ViewA,ViewB,ViewC
. - Livello di dettaglio: inserisci il livello di dettaglio per il logging. Lo strumento sono compresi tra 1 e 5. Un valore più alto indica che saranno disponibili più dettagli nei log.
- Facoltativamente, 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, per elaborare meno transazioni. Per comprendere in che modo i nodi influiscono sui prezzi dei connettori, consulta Prezzi per i nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi è impostato su 2 (per una migliore disponibilità) e il numero massimo di nodi è impostato su 50.
- Facoltativamente, fai clic su + AGGIUNGI ETICHETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
- Fai clic su Avanti.
- Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti.
- 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 dell'endpoint richiesto. dall'elenco Allegato endpoint.
Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi valuta la possibilità di configurare una rete statica in uscita indirizzi IP per le tue connessioni, quindi configura le regole del firewall per inserire nella lista consentita solo gli indirizzi IP statici specifici.
Per inserire altre destinazioni, fai clic su + Aggiungi destinazione.
- Fai clic su Avanti.
- Tipo di destinazione: seleziona un Tipo di destinazione.
-
Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
La connessione SAP ERP supporta i seguenti tipi di autenticazione:
- Nome utente e password
- Fai clic su Avanti.
Per informazioni su come configurare questi tipi di autenticazione, consulta l'articolo Configurare l'autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
- Se hai attivato l'iscrizione all'evento, nella pagina di creazione della connessione viene visualizzata la sezione Dettagli abbonamento all'evento. Per comprendere come configurare i dettagli della sottoscrizione agli eventi, consulta Configurare la sottoscrizione all'evento.
- Verifica: controlla i dettagli della connessione e dell'autenticazione.
- Fai clic su Crea.
-
Nome utente e password
- .
- Nome utente: nome utente del connettore
- Password: il secret di Secret Manager contenente la password associata alla proprietà di rete.
-
Seleziona uno dei seguenti tipi di autenticazione per il listener di eventi.
- Autenticazione Google. Se attivi questa opzione, segui la procedura descritta in Autenticazione tramite token web JSON per configurare l'autenticazione per l'SDK ABAP. Inoltre, assicurati che l'account di servizio abbia roles/connectors.listener il cui token di accesso viene utilizzato per l'autenticazione.
- Autenticazione chiavi API. Se selezioni questa opzione, devi aver creato una chiave API e aver salvato la chiave come secret di Secret Manager. Per ulteriori informazioni, vedi Crea una chiave API.
-
Inserisci il nome del campo del tipo di evento. Questo campo identifica il tipo di evento associato al
richiesta di evento in arrivo.
{ "event_type": "user.created", ... // other request fields ... }
- Select Enable private connectivity for secured connectivity between your backend application and your connection. If you select this option, you must perform additional configuration steps after creating the connection. For more information, see Private connectivity for event subscription.
- Enter the dead-letter configuration. If you configure dead-letter, the connection writes
the unprocessed events to the specified Pub/Sub topic. Enter the following details:
- Dead-letter project ID: The Google Cloud project ID where you have configured the dead-letter Pub/Sub topic.
- Dead-letter topic: The Pub/Sub topic where you want to write the details of the unprocessed event.
- Use the
RFC_READ_TABLE
function as a template for the new function. Select transaction codeSE37
and theSDTX
function group and copyRFC_READ_TABLE
to a new function group or your working function group. In this example,RFC_READ_TABLE
is copied toZ_CUSTOM_READ_TABLE
. - On the Attributes tab of the SAP screen, select
Remote Enabled Module
. - On the Tables tab, set the
DATA
parameter toCHAR8000
. Right-click on the screen and then click Display -> Change. - On the Source Code tab, paste the example source code for the replacement
RFC_READ_TABLE
function module located in thedb
subfolder of the installation directory. The code is located inZ_CUSTOM_READ_TABLE.txt
, thoughZ_CUSTOM_READ_TABLE_752.txt
is preferred if your SAP ERP instance is running ABAP version 7.52 or later. - Click Save.
- Define the imports, tables, and exceptions as documented in the provided custom read table.
- Activate the function module and in your connection string set
ReadTableFunction
toZ_CUSTOM_READ_TABLE
, or the name of your function module.
Aggiungi il trigger ERP SAP
Per aggiungere un attivatore SAP ERP all'integrazione, segui questi passaggi:
Per configurare il trigger SAP ERP, puoi utilizzare una connessione SAP ERP esistente disponibile in Integration Connectors oppure creare una nuova connessione SAP ERP utilizzando l'opzione di creazione di una connessione in linea.
Configura il trigger di SAP ERP utilizzando una connessione esistente
Il trigger di SAP ERP è un trigger di evento connettore, pertanto puoi utilizzare solo una connessione SAP ERP con abbonamento all'evento abilitato per configurare il trigger.
Per informazioni su come configurare un trigger SAP ERP utilizzando una nuova connessione SAP ERP, consulta Configurare un trigger SAP ERP utilizzando una nuova connessione
Per configurare un trigger SAP ERP utilizzando una connessione SAP ERP esistente, segui questi passaggi:
Configura il trigger di SAP ERP utilizzando una nuova connessione
Configura l'autenticazione
Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.
Configura per la sottoscrizione all'evento
Se hai attivato la sottoscrizione all'evento, inserisci i seguenti valori nella Sezione Dettagli abbonamento all'evento:
Use a custom read table function
RFC_READ_TABLE
The connector uses the SAP RFC_READ_TABLE
function to get data from SAP tables.
However, it has certain limitations. As an example, consider the DATA_BUFFER_EXCEEDED
exception. The SAP RFC_READ_TABLE
has a fixed size of 512 bytes. It can buffer for
each row of data, and thus you cannot select more columns than the amount that would
fit in this buffer. If you select more than 512 bytes, an exception occurs
indicating that you have exceeded the maximum buffer size allowed per row and need
to select fewer columns.
RFC_READ_TABLE2
The SAP ERP connector supports the RFC_READ_TABLE2
table read function. You can switch
the active table read function to RFC_READ_TABLE2
by setting ReadTableFunction
to /SAPDS/RFC_READ_TABLE2
.
Custom read table functions
The connector includes a custom read-table RFC, Z_CUSTOM_READ_TABLE
that is similar
to the SAP RFC_READ_TABLE
, but with a larger buffer to address the DATA_BUFFER_EXCEEDED
problem and bypass RFC_READ_TABLE
limitations.
To use the included custom read-table RFC to bypass limitations with the default RFC_READ_TABLE
, follow these steps:
The ABAP 7.52 Custom Read Table
Along with Z_CUSTOM_READ_TABLE.txt
, there is also a Z_CUSTOM_READ_TABLE_752.txt
file, for ABAP version 7.52 and above. It is similar to Z_CUSTOM_READ_TABLE
, but it takes advantage of the newly available keywords in ABAP 7.52 to perform paging within the database
instead of in the ABAP script itself. This makes paging efficient when working with large tables.
It is recommended to use the Z_CUSTOM_READ_TABLE_752
RFC.
Configure authentication in SAP
Configure the authentication in SAP by following the instructions in the Authentication overview for the on-premises or any cloud edition of ABAP SDK for Google Cloud guide.
Validate the trigger
To validate the trigger, you can create an ABAP program. The following is a sample ABAP program that you can use as a reference. The ls_event_payload
field changes based on your requirements:
*&---------------------------------------------------------------------* *& 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
- Scopri di più su tutte le attività e gli attivatori.
- Scopri come testare e pubblicare un'integrazione.
- Scopri di più sulla gestione degli errori.
- Scopri di più sui log di esecuzione dell'integrazione.