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 l'attivatore SAP ERP, assicurati di disporre del seguente ruolo IAM nel progetto:
- Amministratore connettore (
roles/connectors.admin
)
Per informazioni sulla concessione dei ruoli, vedi Gestire l'accesso.
- Amministratore connettore (
- Concedi i seguenti ruoli IAM all'account di servizio che vuoi utilizzare per l'attivatore SAP ERP:
- Application Integration Invoker (
roles/integrations.integrationInvoker
)
Per informazioni sulla concessione dei ruoli a un account di servizio, vedi Gestire l'accesso agli account di servizio.
- Application Integration Invoker (
- Nella console Google Cloud, vai alla pagina Integrazione delle applicazioni.
- 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 di 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 di 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 connessione SAP ERP.
- Connessione:seleziona la connessione SAP ERP che vuoi utilizzare.
L'integrazione delle applicazioni mostra solo le connessioni SAP ERP attive e per le quali è abilitata una sottoscrizione di eventi.
- Inserisci il nome del campo del tipo di evento. Questo campo identifica il tipo di evento associato 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 di integrazione per aprire il riquadro di configurazione dell'attivatore.
- Fai clic su Configura trigger.
- Ignora 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 del 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 49 caratteri.
- Per i connettori che supportano la sottoscrizione agli eventi, i nomi delle connessioni non possono iniziare con "goog" .
- Facoltativamente, inserisci una descrizione per la connessione.
- Facoltativamente, abilita Cloud Logging,
e poi seleziona un livello di log. Per impostazione predefinita, il livello di log è impostato su
Error
. - Account di servizio: seleziona un account di servizio con i ruoli richiesti.
- Per utilizzare la connessione per le sottoscrizioni agli eventi, seleziona Attiva sottoscrizione eventi. Se la selezioni, vengono visualizzate le seguenti opzioni:
- Attiva sottoscrizione eventi con entità e azioni: seleziona questa opzione per utilizzare la connessione sia per le sottoscrizioni agli eventi sia per le operazioni del connettore (entità e azioni).
- Attiva 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 su configura l'iscrizione agli eventi.
- Client: il client che si autentica nel sistema SAP.
- 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.
- Numero di sistema: il numero tramite il quale viene definito il sistema di destinazione. Utilizzato per impostare la proprietà Connessione host.
- ID progetto: l'ID del progetto Google Cloud in cui si trova il bucket GCS contenente il file jar SAP JCo.
- Bucket: il nome del bucket contenente 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 visualizzare 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 memorizza 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 valore viene normalmente 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 ulteriori informazioni, consulta Utilizzare una funzione di lettura della tabella 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 valore R3Name del sistema SAP. Puoi inserire un massimo di 3 caratteri.
- Passcode SNC: seleziona il segreto 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 dell'SNC del server delle 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.
- (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, 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 maggiore 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 Allegato endpoint dall'elenco, quindi seleziona l'allegato 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 capire come configurare questi tipi di autenticazione, consulta Configurare l'autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
- Se hai attivato la sottoscrizione di eventi, nella pagina di creazione della connessione viene visualizzata la sezione Dettagli sottoscrizione evento. Per comprendere come configurare i dettagli della sottoscrizione agli eventi, consulta Configurare la sottoscrizione all'evento.
- Rivedi: controlla i dettagli di connessione e autenticazione.
- Fai clic su Crea.
-
Nome utente e password
- Nome utente: nome utente del connettore
- Password: il segreto Secret Manager contenente la password associata al connettore.
-
Seleziona uno dei seguenti tipi di autenticazione per l'ascoltatore di eventi.
- Google Authentication. Se attivi questa opzione, segui la procedura descritta in Esegui l'autenticazione mediante token web JSON per configurare l'autenticazione per l'SDK ABAP. Inoltre, assicurati che l'account di servizio abbia il ruolo 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 poi averla salvata come secret di Secret Manager. Per ulteriori informazioni, consulta Creare 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 ... }
- Seleziona Abilita connettività privata per una connettività sicura tra la tua applicazione di backend e la connessione. Se selezioni questa opzione, devi eseguire passaggi di configurazione aggiuntivi dopo aver creato la connessione. Per ulteriori informazioni, consulta Connettività privata per l'iscrizione agli eventi.
- Inserisci la configurazione dei messaggi non recapitabili. Se configuri la posta in arrivo, la connessione scrive
gli eventi non elaborati nell'argomento Pub/Sub specificato. Inserisci i seguenti dettagli:
- ID progetto messaggi non recapitabili: l'ID progetto Google Cloud in cui hai configurato l'argomento Pub/Sub messaggi non recapitabili.
- Argomento messaggi non recapitabili : l'argomento Pub/Sub in cui vuoi scrivere i dettagli dell'evento non elaborato.
- Utilizza la funzione
RFC_READ_TABLE
come modello per la nuova funzione. Seleziona il codice transazioneSE37
e il gruppo di funzioniSDTX
e copiaRFC_READ_TABLE
in un nuovo gruppo di funzioni o nel gruppo di funzioni di lavoro. In questo esempio,RFC_READ_TABLE
viene copiato inZ_CUSTOM_READ_TABLE
. - Nella scheda Attributi della schermata SAP, seleziona
Remote Enabled Module
. - Nella scheda Tabelle, imposta il parametro
DATA
suCHAR8000
. Fai clic con il tasto destro del mouse sullo schermo e poi fai clic su Display -> Modifica. - Nella scheda Codice sorgente, incolla il codice sorgente di esempio per il modulo di funzione
RFC_READ_TABLE
sostitutivo che si trova nella sottocartelladb
della directory di installazione. Il codice si trova inZ_CUSTOM_READ_TABLE.txt
, anche se è preferibileZ_CUSTOM_READ_TABLE_752.txt
se la tua istanza SAP ERP esegue ABAP versione 7.52 o successive. - Fai clic su Salva.
- Definisci le importazioni, le tabelle e le eccezioni come documentato nella tabella di lettura personalizzata fornita.
- Attiva il modulo funzione e nella stringa di connessione imposta
ReadTableFunction
suZ_CUSTOM_READ_TABLE
oppure sul nome del modulo della funzione. - 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.
Aggiungi il trigger ERP SAP
Per aggiungere un trigger SAP ERP all'integrazione, segui questi passaggi:
Per configurare l'attivatore 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 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 attivatore SAP ERP utilizzando una connessione SAP ERP esistente:
Configurare l'attivatore SAP ERP utilizzando una nuova connessione
Configura autenticazione
Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.
Configurazione per la sottoscrizione agli eventi
Se hai attivato la sottoscrizione all'evento, inserisci i seguenti valori nella sezione Dettagli sottoscrizione evento:
Utilizza una funzione di tabella di lettura personalizzata
RFC_READ_TABLE
Il connettore utilizza la funzione SAP RFC_READ_TABLE
per recuperare i dati dalle tabelle SAP.
Tuttavia, presenta alcune limitazioni. Considera ad esempio DATA_BUFFER_EXCEEDED
un'eccezione. Il SAP RFC_READ_TABLE
ha una dimensione fissa di 512 byte. Può eseguire il buffering per
ogni riga di dati, quindi non puoi selezionare più colonne della quantità che
in questo buffer. Se selezioni più di 512 byte, viene generata 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 impostare la funzione di lettura della tabella attiva su RFC_READ_TABLE2
impostando ReadTableFunction
su /SAPDS/RFC_READ_TABLE2
.
Funzioni tabella di lettura personalizzate
Il connettore include un'RFC di lettura della tabella personalizzata, Z_CUSTOM_READ_TABLE
, simile
a SAP RFC_READ_TABLE
, ma con un buffer più grande per risolvere il problema DATA_BUFFER_EXCEEDED
e aggirare le limitazioni di RFC_READ_TABLE
.
Per utilizzare la RFC personalizzata di tabella di lettura inclusa per ignorare le limitazioni del valore predefinito RFC_READ_TABLE
, segui questi passaggi:
Tabella di lettura personalizzata ABAP 7.52
Oltre a Z_CUSTOM_READ_TABLE.txt
, esiste anche un file Z_CUSTOM_READ_TABLE_752.txt
per la versione ABAP 7.52 e successive. È simile a Z_CUSTOM_READ_TABLE
, ma sfrutta le parole chiave di nuova disponibilità in ABAP 7.52 per eseguire la paginazione all'interno del database
anziché nello script ABAP stesso. In questo modo, l'impaginazione è efficiente quando si lavora con tabelle di grandi dimensioni.
Ti consigliamo di utilizzare il documento RFC Z_CUSTOM_READ_TABLE_752
.
Configura l'autenticazione in SAP
Configura l'autenticazione in SAP seguendo le istruzioni riportate nella guida Panoramica dell'autenticazione per le versioni on-premise o cloud di ABAP SDK per Google Cloud.
Convalida l'attivatore
Per convalidare l'attivatore, 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.