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.
- Connector Admin (
- 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.
- Application Integration Invoker (
- Nella console Google Cloud , vai alla pagina Integrazione di applicazioni.
- Nel menu di navigazione, fai clic su Integrazioni.
Viene visualizzata la pagina Elenco 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 del account di servizio di un'integrazione in qualsiasi momento dal riquadro Riepilogo integrazione nella barra degli strumenti dell'integrazione.
- Fai clic su Crea.
L'integrazione appena creata si apre nell'editor integrazioni.
- Nella barra di navigazione dell'editor dell'integrazione, fai clic su Attivatori per visualizzare l'elenco degli attivatori disponibili.
- Fai clic sull'elemento Trigger SAP ERP e posizionalo nell'Editor integrazioni.
- Fai clic sull'elemento Trigger SAP ERP nell'Editor integrazioni per aprire il riquadro di configurazione del trigger.
- Fai clic su Configura trigger.
- Fornisci i seguenti dettagli di configurazione nella pagina Editor attivatore eventi connettore:
- Regione:seleziona la regione della connessione SAP ERP.
- 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.
- 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 ... }
- Service account: seleziona un account di servizio con i ruoli IAM richiesti per il trigger 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 integrazioni per aprire il riquadro di configurazione del trigger.
- 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 quanto segue:
- 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 superare i 49 caratteri.
- Per i connettori che supportano la sottoscrizione agli eventi, i nomi delle connessioni non possono iniziare con il prefisso "goog".
- (Facoltativo) Inserisci una descrizione per la connessione.
- (Facoltativo) Abilita Cloud Logging,
quindi seleziona un livello di log. Per impostazione predefinita, il livello di log è impostato su
Error. - Service Account: seleziona un account di servizio con i ruoli richiesti.
- 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.
- Client: il client che esegue l'autenticazione al 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 con cui viene definito il sistema di destinazione. Utilizzato per impostare la proprietà di 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.
- Percorso Cloud Storage del file JAR JCo: percorso Cloud Storage del file JAR JCo.
- Percorso Cloud Storage di libsapjco3: percorso Cloud Storage del file JAR libsapjco3.
- Modalità tabella: seleziona la tabella SAP da visualizzare come vista.
- 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.
- ID sistema: l'ID sistema o R3Name del sistema SAP. Puoi inserire un massimo di 3 caratteri.
- Modalità query: seleziona le tabelle SAP da visualizzare come viste.
-
Viste sfogliabili: inserisci un elenco separato da virgole delle viste da visualizzare.
Ad esempio,
ViewA,ViewB,ViewC. - 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.
- Voci di servizio: le voci di servizio da utilizzare per la connessione.
-
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.
-
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.
- (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.
- (Facoltativo) 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. Se ti connetti a un sistema SAP con Message Server, non devi specificare l'indirizzo host.
- 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.
- 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:
- Autenticazione basata su certificati X509
- 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 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.
- Rivedi: rivedi i dettagli di connessione e autenticazione.
- Fai clic su Crea.
-
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.
-
Seleziona uno dei seguenti tipi di autenticazione per il listener di eventi.
- Autenticazione Google. Se attivi questa opzione, segui i passaggi descritti in Autenticarsi utilizzando i token web JSON per configurare l'autenticazione per l'SDK ABAP. Inoltre, assicurati che il account di servizio disponga del ruolo roles/connectors.listener il cui token di accesso viene utilizzato per l'autenticazione.
- Autenticazione con chiave API. Se selezioni questa opzione, devi aver creato una chiave API e poi averla salvata come secret di Secret Manager. Per saperne di più, vedi Crea una chiave API.
-
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 ... }
- 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.
- 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:
- 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_TABLEcome modello per la nuova funzione. Seleziona il codice transazioneSE37e il gruppo di funzioniSDTXe copiaRFC_READ_TABLEin un nuovo gruppo di funzioni o nel gruppo di funzioni di lavoro. In questo esempio,RFC_READ_TABLEviene copiato inZ_CUSTOM_READ_TABLE. - Nella scheda Attributi della schermata SAP, seleziona
Remote Enabled Module. - Nella scheda Tabelle, imposta il parametro
DATAsuCHAR8000. Fai clic con il tasto destro del mouse sullo schermo e poi fai clic su Display -> Cambia. - Nella scheda Codice sorgente, incolla il codice sorgente di esempio per il modulo della funzione
RFC_READ_TABLEsostitutiva che si trova nella sottocartelladbdella directory di installazione. Il codice si trova inZ_CUSTOM_READ_TABLE.txt, anche seZ_CUSTOM_READ_TABLE_752.txtè preferibile 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 della funzione e imposta
ReadTableFunctionsuZ_CUSTOM_READ_TABLEo sul nome del modulo della funzione nella stringa di connessione. - 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 SAP ERP
Per aggiungere un trigger SAP ERP all'integrazione:
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:
Configura il trigger SAP ERP utilizzando una nuova connessione
Configura l'autenticazione
Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.
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:
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:
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.