Il plug-in SAP Table Batch Source (plug-in SAP Table) consente di leggere i dati dalle tabelle o dalle viste SAP standard e personalizzate. Consente l'importazione collettiva dei dati dalle applicazioni SAP in BigQuery o in qualsiasi altro sistema di destinazione supportato utilizzando Cloud Data Fusion. Il plug-in include le seguenti funzioni chiave:
- Utilizza SAP ECC, SAP S4/HANA o SAP BW come sistema di origine
- Non utilizza SAP CDC (Change Data Capture) monitorare ed estrarre dati nuovi e delta nelle origini dati
- Utilizza la modalità di estrazione collettiva
- Supporta tabelle SAP e viste CDS ABAP come origini dati
- Accede ai dati SAP tramite il livello dell'applicazione
Puoi leggere i dati da:
- Tabelle trasparenti
- Tabelle cluster
- Tavoli da biliardo
- Visualizzazioni CDS ABAP
- Oggetti SAP BW ADSO
Versioni software supportate
Software | Versioni |
---|---|
SAP S4/HANA | SAP S4/HANA 1909 e versioni successive |
SAP ECC | SAP ERP6 NW 7.31 SP16 e versioni successive |
JCo SAP | SAP JCo versione 3.0.20 e successive |
Cloud Data Fusion | 6.3 e versioni successive |
Per saperne di più su SAP su Google Cloud, consulta la panoramica di SAP su Google Cloud.
Prima di iniziare
Configura i seguenti sistemi e servizi utilizzati dal plug-in Tabella SAP:
- Configura il sistema SAP ERP.
Questa procedura include i seguenti passaggi:
- Installa i file di trasporto SAP.
- Configura le autorizzazioni e i ruoli SAP richiesti.
- Configura il connettore Java SAP.
Esegui il deployment del plug-in in Cloud Data Fusion.
- Importante: scegli una versione del plug-in che sia compatibile con Versione Cloud Data Fusion.
- Se esegui l'upgrade della versione dell'istanza o del plug-in Cloud Data Fusion, valuta l'impatto delle modifiche sull'ambito funzionale e sulle prestazioni della pipeline.
Stabilisci la connettività RFC tra Cloud Data Fusion e SAP.
- Assicurati che la comunicazione sia abilitata tra l'istanza Cloud Data Fusion e il server SAP.
- Per le istanze private, configura il peering di rete VPC.
- Sia il sistema SAP sia l'istanza Cloud Data Fusion all'interno dello stesso progetto.
Configura il plug-in
- Vai all'interfaccia web di Cloud Data Fusion e fai clic su Studio.
- Verifica che sia selezionata l'opzione Pipeline di dati - Batch (non In tempo reale).
- Nel menu Origine, fai clic su Tabella SAP. Il nodo tabella SAP viene visualizzato nella pipeline.
- Per configurare l'origine, vai al nodo della tabella SAP e fai clic su Proprietà:
Inserisci le seguenti proprietà. Per un elenco completo, consulta Proprietà.
- Inserisci un'etichetta per il nodo della tabella SAP, per
ad esempio
SAP tables
. Inserisci i dettagli della connessione. Puoi configurare una nuova connessione una tantum o una connessione esistente riutilizzabile.
Nuova connessione
Per aggiungere una connessione una tantum a SAP:
- Mantieni disattivata l'opzione Usa connessione.
Nella sezione Connessione, inserisci le seguenti informazioni dell'account SAP in questi campi:
- Nel campo Nome riferimento, inserisci un nome per che identifica l'origine per la derivazione.
- Nel campo Client SAP, inserisci il nome di un un'istanza o un ambiente specifico all'interno di SAP. Un SAP amministratore può fornire il nome del client.
- Nel campo Lingua SAP, inserisci una lingua di accesso SAP. Il valore predefinito è EN (inglese).
Seleziona uno dei seguenti tipi di connessione.
- Direct (tramite server di applicazioni SAP). Se scegli questo tipo predefinito, inserisci le informazioni nei seguenti campi: Host del server delle applicazioni SAP, Numero di sistema SAP e Router SAP.
- Bilanciato (tramite SAP Message Server). Se scegli questo tipo, inserisci le informazioni nei seguenti campi: Host Server dei messaggi SAP, servizio Server dei messaggi SAP o numero di porta, ID sistema SAP (SID) e accesso SAP nome del gruppo.
Nel campo Nome tabella/vista SAP, inserisci il nome della tabella o della vista del sistema SAP.
Fornisci le credenziali SAP: chiedi all'amministratore SAP Nome utente di accesso SAP e Password.
Nel campo JCo Library Cloud Storage path (Percorso Cloud Storage della libreria JCo), inserisci il valore SAP percorso del connettore Java (SAP JCo) in Cloud Storage che contiene i file della libreria SAP JCo che hai caricato.
Per generare uno schema basato sui metadati di SAP che mappa i tipi di dati SAP ai tipi di dati Cloud Data Fusion corrispondenti, fai clic su Genera schema. Per ulteriori informazioni, consulta Mappature dei tipi di dati.
(Facoltativo) Per ottimizzare il carico di importazione da SAP, inserisci le informazioni nei seguenti campi:
L'utilizzo delle opzioni di filtro ti consente di estrarre record in base a condizioni di selezione, ad esempio le colonne con un insieme definito di valori. Definisci le condizioni della sintassi OpenSQL in un
WHERE
. Ad esempio, questa query restituisce tutte le righe dalla tabellaRoster
in cui La colonnaSchoolID
ha il valoreSchoolID > 52
:SELECT * FROM Roster WHERE SchoolID > 52;
Per maggiori informazioni, vedi Filtri supportati.
Nel campo Numero di righe da recuperare, puoi limitare i dati estratti specificando un numero intero positivo di righe.
Nel campo Numero di suddivisioni, puoi creare partizioni per estrarre i record di dati in parallelo, il che migliora il rendimento. Il numero di suddivisioni può influire sui processi di lavoro SAP e deve essere selezionato con attenzione.
Nel campo Dimensioni del pacchetto, specifica il numero di record da estrarre in una singola chiamata di rete SAP. Le dimensioni del pacchetto influiscono sulle prestazioni e sulle risorse disponibili e devono essere selezionate con attenzione.
Connessione riutilizzabile
Per riutilizzare una connessione esistente:
- Attiva l'opzione Usa connessione.
- Fai clic su Browse connections (Sfoglia connessioni).
Fai clic sul nome della connessione.
Se non esiste una connessione, per crearne una riutilizzabile segui questi passaggi:
- Fai clic su Aggiungi connessione > SapTable.
- Nella pagina Crea una connessione SapTable che si apre, inserisci un nome e una descrizione della connessione.
- Nel campo Client SAP, inserisci il nome di un un'istanza o un ambiente specifico in SAP. Un SAP amministratore può fornire il nome del client.
- Nel campo Lingua SAP, inserisci una lingua di accesso SAP. Il valore predefinito è EN (inglese).
Seleziona uno dei seguenti tipi di connessione.
- Direct (tramite server di applicazioni SAP). Se scegli per questo tipo predefinito, inserisci le informazioni nel seguente campi: Host server delle applicazioni SAP, Sistema SAP numero e router SAP.
- Bilanciamento del carico (tramite SAP Message Server). Se scegli questo tipo, inserisci le informazioni nei seguenti campi: Host SAP Message Server, Numero di porta o servizio SAP Message Server, ID sistema SAP (SID) e Nome gruppo di accesso SAP.
Fornisci le credenziali SAP: chiedi all'amministratore SAP i valori di Nome utente di accesso SAP e Password.
Nel campo JCo Library Cloud Storage path (Percorso Cloud Storage della libreria JCo), inserisci il valore SAP percorso del connettore Java (SAP JCo) in Cloud Storage che contiene i file della libreria SAP JCo che hai caricato.
(Facoltativo) Nel campo Proprietà di connessione SAP aggiuntive, inserisci le coppie chiave-valore che devono sostituire i valori predefiniti di JCo SAP.
Fai clic su Crea.
- Inserisci un'etichetta per il nodo della tabella SAP, per
ad esempio
Proprietà
Proprietà | Macro attivata | Proprietà obbligatoria | Descrizione |
---|---|---|---|
Etichetta | No | Sì | Il nome del nodo nella pipeline di dati. |
Usa connessione | No | No | Utilizza una connessione riutilizzabile. Se viene utilizzata una connessione, non è necessario fornisci le credenziali. Per saperne di più, consulta Gestire le connessioni. |
Nome di riferimento | No | Sì | Se l'opzione Usa connessione non è attiva, viene visualizzato questo campo. Il nome della connessione da utilizzare per la sequenza. |
Nome | No | Sì | Se l'opzione Usa connessione è attiva, viene visualizzato questo campo. Il nome della connessione riutilizzabile. |
Client SAP | Sì | Sì | L'istanza o l'ambiente in un sistema SAP. |
Scatta istantanea | Sì | Sì | Abilita gli snapshot dei dati in SAP. Quando attivare gli snapshot:
Quando disattivare le istantanee: stai eseguendo più operazioni, estrazioni di dati su larga scala in parallelo. Gli snapshot utilizzano le tabelle del buffer in SAP, che potrebbe causare out of memory problemi in SAP. Al
termine dell'estrazione dei dati, tuttavia, la tabella di buffer viene cancellata. |
Lingua SAP | Sì | Sì | La lingua in cui vengono visualizzati e visualizzati i dati e l'interfaccia utente SAP elaborati. |
Tipo di connessione | No | Sì | Il tipo di connessione SAP: Diretta o Bilanciata. |
Host server applicazioni SAP | Sì | No | Solo per il tipo di connessione diretta, questo nome host è dal server di applicazioni SAP, che funge da livello middleware tra Client SAP (ad esempio interfaccia web SAP, browser web o app mobile) e il database sottostante. |
Numero di sistema SAP | Sì | No | Solo per il tipo di connessione Diretta, questo numero corrisponde al valore
un identificatore univoco assegnato a ciascun sistema SAP. Ad esempio:
00 . |
Router SAP | Sì | No | Solo per il tipo di connessione Diretta, si tratta della stringa del router per il server proxy, che fornisce un canale sicuro per la comunicazione tra i sistemi SAP e i partner o i clienti esterni. |
Host server di messaggi SAP | Sì | No | Solo per il tipo di connessione Equilibrato in base al carico, si tratta del nome dell'host, che facilita il bilanciamento del carico su più server di applicazioni in SAP. |
Servizio o numero di porta del server dei messaggi SAP | Sì | No | Solo per il tipo di connessione Equilibrato in base al carico, si tratta della porta di rete su cui SAP Message Server ascolta le connessioni in arrivo da client SAP e server di applicazioni all'interno di SAP. |
ID sistema SAP (SID) | Sì | No | Solo per il tipo di connessione Bilanciato in base al carico, questo ID viene assegnato a ogni sistema SAP. |
Nome del gruppo di accesso SAP | Sì | No | Il nome del raggruppamento logico o della configurazione di più SAP
server delle applicazioni. Il valore predefinito è PUBLIC . |
Nome tabella/vista SAP | Sì | Sì | Un nome tabella o vista valido senza distinzione tra maiuscole e minuscole in cui è possibile ricavare tutte le colonne. |
Nome utente di accesso SAP | Sì | Sì | Nome utente per SAP Consigliato: se il nome utente cambia periodicamente, utilizza una macro. |
Password di accesso SAP | Sì | Sì | Password SAP. Consigliato: utilizza le macro sicure. |
ID progetto Google Cloud | Sì | Sì | ID progetto Google Cloud. |
Percorso GCS della libreria JCo SAP | Sì | Sì | Il percorso di Cloud Storage in cui hai caricato la JCo SAP libreria. |
Ottieni schema | N/D | N/D | Il plug-in genera uno schema basato sui metadati di SAP, che mappa i tipi di dati SAP ai tipi di dati Cloud Data Fusion corrispondenti. Consulta la sezione Mappatura dei tipi di dati. |
Altre proprietà di connessione SAP | Sì | No | Imposta proprietà SAP JCo aggiuntive per sostituire quelle predefinite di SAP JCo.
Ad esempio, l'impostazione di jco.destination.pool_capacity = 10
sostituisce la capacità predefinita del pool di connessioni. |
Filtri | Sì | No | Condizioni specificate nella sintassi Open SQL che filtrano utilizzando una clausola SQL
WHERE . Estrai i record in base a condizioni, ad esempio quelle nelle colonne con un insieme definito di valori o un intervallo di valori.
Per ulteriori informazioni, consulta la sezione Supportato filtri. |
Numero di righe da recuperare | Sì | No | Limita il numero di record estratti.
|
Numero di suddivisioni da generare | Sì | No | Crea partizioni per estrarre i record in parallelo. Il motore di runtime crea il numero specificato di partizioni (e SAP) connessioni) durante l'estrazione dei record. Fai attenzione quando aumenti questo valore, poiché aumentano le connessioni simultanee con SAP. Consigliato: pianifica di avere connessioni SAP per ogni pipeline e il numero totale di pipeline in esecuzione contemporaneamente. Se il valore è 0 o se viene lasciato vuoto, Cloud Data Fusion sceglie un valore il valore appropriato, in base al numero di esecutori disponibili, record da estrarre e le dimensioni del pacchetto. |
Dimensioni del pacco | Sì | No | Il numero di record da estrarre in una singola chiamata di rete SAP. È
il numero di record che SAP memorizza nel buffer in memoria durante ogni rete
di estrazione della chiamata. Presta attenzione quando imposti questa proprietà. Più pipeline di dati l'estrazione dei dati può raggiungere un picco di utilizzo della memoria, causando errori dovuti Out of memory errore.
|
Filtri supportati
Sono supportate le seguenti condizioni di filtro.
Filtro contenente un operatore di confronto
Utilizza gli operatori di confronto per eseguire filtri più complessi in base a confronti tra valori.
Sintassi
SELECT * FROM table_name WHERE column_name > value; \ SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2;
Esempio
AUDAT GT '20230914'
Filtro contenente un operatore LIKE
Utilizza gli operatori LIKE
per la corrispondenza dei pattern. Per corrispondere a qualsiasi
usa il simbolo %
come carattere jolly.
Sintassi
SELECT * FROM table_name WHERE column_name LIKE 'pattern%';
Esempio
ERNAM LIKE 'KIRAN%'
Filtro contenente un operatore IN
Utilizza gli operatori IN
per specificare un elenco di valori con cui eseguire la corrispondenza.
Sintassi
SELECT * FROM table_name WHERE column_name \ IN ('value1', 'value2', 'value3');
Esempio
ERNAM IN ( 'LEE' , 'KIRAN' )
Filtro contenente un operatore logico
Utilizza gli operatori logici per specificare un elenco di valori da abbinare.
Sintassi
SELECT * FROM table_name WHERE condition1 AND condition2; \ SELECT * FROM table_name WHERE condition1 OR condition2; \ SELECT * FROM table_name WHERE NOT condition;
Esempi
( AUDAT EQ '20220615' ) AND ( ERNAM LIKE 'LEE%' )
( AUDAT EQ '20220615' ) OR ( AUDAT EQ '20220617' )
Filtro contenente un intervallo di date
Utilizza gli intervalli di date per recuperare le righe in cui una colonna data/ora rientra in un in un determinato intervallo di date.
Sintassi
SELECT * FROM table_name \ WHERE datetime_column >= 'start_date' AND datetime_column <= 'end_date';
Esempio
AUDAT GE '20230910' AND AUDAT LE '20230914'
Filtro contenente un confronto di date
Usa i confronti tra date per recuperare le righe in cui viene utilizzata la data/ora.
Sintassi
SELECT * FROM table_name WHERE datetime_column > 'target_date';
Esempio
AUDAT GE '20230910' AND AUDAT LE '20230914'
Filtra che combina data e ora
Se la colonna data/ora include sia la data che l'ora, puoi applicare un filtro di conseguenza.
Sintassi
SELECT * FROM table_name \ WHERE datetime_column >= 'target_datetime' \ AND datetime_column <= 'target_datetime';
Esempio
TIMESTAMP GE '20210602144800' AND TIMESTAMP LE '20210624080836'
(Formato timestamp : AAAAMMGGHHMMSS)
Filtro che combina più condizioni con operatori logici
Puoi recuperare le righe che soddisfano più condizioni utilizzando
come AND
e OR
.
Sintassi
SELECT * FROM table_name \ WHERE (column1 = 'value1' AND column2 > value2) \ OR (column3 = 'value3' AND column4 < value4);
Esempio
( ERNAM EQ 'LEE' AND AUDAT GT '20220722' ) \ OR ( BSTNK EQ 'PO54321065' AND BSTDK LT '20220714' )
Filtro che combina condizioni nidificate
Puoi combinare le condizioni in modo nidificato per creare filtri complessi.
Sintassi
SELECT * FROM table_name \ WHERE (column1 = 'value1' OR (column2 = 'value2' AND column3 > value3)) \ AND column4 = 'value4';
Esempio
( ERDAT EQ '20220722' OR ( ERNAM EQ 'LEE' AND VDATU GT '20210623' ) ) \ AND FMBDAT EQ '20220722'
Filtro che utilizza sottoquery
Puoi utilizzare le sottoquery per filtrare in base ai risultati di un'altra query.
Sintassi
SELECT * FROM table_name \ WHERE column1 IN (SELECT related_column FROM other_table WHERE condition);
Esempio
VBELN IN ( SELECT VBELN FROM VBAK WHERE ERNAM = 'LEE' )
Filtro che combina condizioni di data e valore
Puoi combinare condizioni basate su date e valori in un filtro complesso.
Sintassi
SELECT * FROM table_name \ WHERE (column1 = 'value1' OR column2 = 'value2') \ AND datetime_column > 'target_datetime';
Esempio
( ERDAT EQ '20220722' OR ERNAM EQ 'LEE' ) AND VDATU GT '20210623'
Filtro contenente le date di formattazione
In SAP, i campi di data e ora vengono sempre salvati senza -
o
:
a livello di database.
Sintassi
SELECT * FROM table_name \ WHERE datetime_column >= 'YYYY-MM-DD HH:MM:SS' \ AND datetime_column <= 'YYYY-M
Non supportato: filtro contenente funzioni e operatori di confronto
In SAP, le funzioni nella clausola WHERE della QUERY non sono supportate.
Non supportato: filtro contenente intervalli
In SAP, la funzione NOW()
non è supportata.
Sintassi
SELECT * FROM table_name \ WHERE datetime_column >= NOW() - INTERVAL X DAY;
Non supportato: componente di estrazione del filtro della data
In SAP, il filtro dell'offset non è supportato.
Esempio
WHERE YEAR+0(4) = 2023
Mappature dei tipi di dati
La tabella seguente è un elenco dei tipi di dati SAP con i tipi Cloud Data Fusion corrispondenti.
Tipo di dati SAP | Tipo ABAP | SAP description | Tipo di dati di Cloud Data Fusion |
---|---|---|---|
INT1 (numerica) |
b | Numero intero a 1 byte | int |
INT2 (numerico) |
s | Numero intero a 2 byte | int |
INT4 (numerico) |
i | Intero a 4 byte | int |
INT8 (numerica) |
8 | Numero intero a 8 byte | Lungo |
DEC (numerica) |
p | Numero pacchettizzato in formato BCD (DEC) | decimal |
DF16_DEC , DF16_RAW (numerico) |
a | IEEE 754r a virgola mobile decimale da 8 byte | double |
DF34_DEC , DF34_RAW (numerico) |
e | Virgola mobile decimale 16 byte IEEE 754r | double |
FLTP (numerica) |
f | Numero in virgola mobile binario | double |
CHAR , LCHR (carattere) |
c | Stringa di caratteri | string |
SSTRING , GEOM_EWKB (carattere) |
string | Stringa di caratteri | string |
STRING (carattere) |
string | Stringa di caratteri CLOB | byte |
NUMC , ACCP (carattere) |
n | Testo numerico | string |
RAW , LRAW (byte) |
x | Dati binari | byte |
RAWSTRING (byte) |
xstringa | BLOB di stringhe di byte | byte |
DATS (Data/ora) |
g | Data | data |
TIMS (Data/ora) |
t | Ora | tempo |
TIMS (Data/ora) |
utcl | (Utclong), TimeStamp | timestamp |
Casi d'uso
Sono supportati due contesti di estrazione:
- Tabelle e visualizzazioni del database SAP
- SAP ABAP CDS
In ognuno dei contesti, il plug-in SAP Table supporta standard e tabelle e viste di database.
Limitazioni
Il plug-in SAP Table presenta le seguenti limitazioni:
- Non supporta l'unione delle tabelle.
- Non supporta le viste CDS con parametri.
- Non supporta i campi senza chiave.
- Se la funzionalità Istantanee è attivata, l'utilizzo di un pacchetto di dimensioni superiori a 30.000 potrebbe causare errori nella pipeline. Le dimensioni del pacchetto possono variare a seconda del numero di colonne nella tabella SAP. Puoi calcolare un pacchetto ottimale per una tabella utilizzando questa formula: dimensione riga (in numero di caratteri) * 5.
- Connection Manager consente di sfogliare un massimo di 1000 nomi di tabelle SAP.
- Quando si verifica un errore della pipeline, ad esempio un errore nel sink, la tabella SAP
tenta di ripulire eventuali processi lato SAP attivi relativi al
richiamando l'RFM personalizzato destinato alla pulizia:
/GOOG/RFC_READ_TABLE_CLEANUP
.
Note di rilascio
Passaggi successivi
- Scopri di più su SAP su Google Cloud.