Talend esempio per connettersi a SAP

PDRTJS_settings_712365_post_594 = {
"Id": "712.365"
"UNIQUE_ID ':' wp-post-594"
"Titolo": "Esempio di Talend + + + per connettersi + a + Sap"
"Item_id", "_post_594"
"Permalink": "http% 3A% 2F% 2F2010% 2F01% 2F13% 2Fchurriwifi.wordpress.com% 2Fejemplo-Talend-SAP 2F%"
}
(Leggi Inglés in lingua qui )

Prima di procedere con il processo di ETL per caricare il fatto di vendite tavolo, ci soffermiamo a vedere come utilizzare Talend di connettersi a SAP utilizzando componenti tSapConnection, e tSapInput tSapOutput.Nel nostro progetto, abbiamo potuto utilizzare questi componenti per rendere la lettura dei dati da sistemi ERP (ma abbiamo usato il tOracleInput componente per leggere direttamente dal database).

Anche se la componente SAP di Talend è libero di utilizzarlo è necessario una libreria Java fornito da SAP (sapjco.jar), avremo installato nel nostro sistema. Questa libreria possono essere scaricati solo se sono registrati gli utenti SAP ( http://service.sap.com/connectors ). Sapjco versione che abbiamo installato è 2.1.8 (c'è un post, la 3.0.4, ma che non funziona Talend).

Come installare il sapjco.jar libreria è:

  • Una volta scaricato il file appropriato (a seconda della versione del sistema operativo utilizzato), decomprimerlo in una cartella a vostra scelta.La prova, nel nostro caso, abbiamo fatto con Windows Vista.
  • Se avete una versione precedente del librfc32.dll DLL nella directory di Windows system32, sostituirlo con l'avvento del Sap.
  • Includere la directory di installazione nella variabile d'ambiente PATH (nel nostro caso c: \ sapjco).
  • Infine, aggiungiamo al file CLASSPATH sapjco.jar variabile di ambiente con il percorso completo (ad esempio, CLASSPATH = c: \ sapjco \ sapjco.jar).

Poi installare la libreria nella directory di classi e ha scoperto che Talend è installato correttamente.Per fare questo, facciamo cadere il file nella <directorio_instalacion_talend> sapjco.jar directory \ lib \ java. Talend quindi aperto, e la scheda Moduli, verificare che appare sapjco.jar modulo installato correttamente (come si vede nella foto).

Infine, vedremo un esempio pratico di connessione SAP per recuperare le informazioni usando i moduli funzione (RFC) implementato in SAP e di cui si può accedere da Talend (questo è veramente ciò che ci permette di rendere il componente, si accede tramite Sap loro RFC'sy BAPI).

La RFC (Remote Function Call) sono la base per la comunicazione tra SAP e qualsiasi sistema esterno.Sono componenti di programmazione (programma ABAP, per esempio), incapsulato in una funzione, con i corrispondenti dati di input e output di interfaccia, che può anche essere chiamato da nell'ambito del PSA, o in remoto se abilitato " Remote Access Module "(come si vede nella foto qui sotto). In questo caso, è quando chiediamo, per esempio, da Talend.


Definizione di RFC "RFC_READ_TABLE" in SAP

Sap ha in programma molti RFC come standard, e anche noi possiamo costruire il nostro con il codice che esegue le attività che si desidera.Inoltre, c'è un altro tipo di RFC all'interno di SAP, le chiamate BAPI, comprese le regole aggiuntive integrata con il funzionamento dell'applicazione SAP (per esempio, il BAPI_SALESORDER_CREATEFROMDAT2 BAPI permette la creazione di un ordine di vendita sulla base dei dati si passa alla funzione nell'interfaccia).

Esempio: lettura del contenuto di una tabella utilizzando il RFC "RFC_READ_TABLE".

Ci condurrà in un lavoro di Talend per leggere il contenuto di una tabella in SAP, in particolare, verranno recuperare tutti i materiali che sono di un certo tipo.L'intero lavoro è strutturato come segue:

In tSapInput Talend utilizzare il componente per la chiamata RFC a SAP. Per fare questo, dobbiamo sapere che cosa è l'interfaccia che ha definito questo in Sap di sapere che siamo in grado di passare parametri e risultati e che tipo di strutture di dati in grado di ricevere. Nella transazione SE37 di Sap possono vedere sono definite come moduli di funzione, e vedere come si svolgerà la comunicazione con tale componente.

Ad esempio, modulo funzionale RFC_READ_TABLE (come mostrato nella foto qui sotto), dispone di 5 parametri di input definiti nella scheda di importazione.Che useremo nel nostro esempio sono: QUERY_TABLE (la tabella che vuoi i dettagli), delimitatore (delimitatore per i dati).


RFC definizione Sap - Import (parametri di input)

C'è anche la scheda di esportazione, dove abbiamo potuto vedere che abbiamo parametri di output (nel caso di variabili o strutture semplici).Nel caso di lavoro con le tabelle, che verranno visualizzati nella scheda Tabelle. Le tabelle sono strutture complesse di Sap (come un array di dati.) Le tabelle possono essere utilizzati sia per ricevere i dati dal RFC passarli. Nel nostro esempio, utilizzare la tabella dati per ricevere i record estratti dal database.


RFC definizione Sap - Tabelle (i parametri di ingresso / uscita)

Poi di nuovo Talend e completare i vari campi del componente:

  • Cliente: Sap principale dei quali sarà recuperare i dati.
  • Userid: utente per la connessione.Deve avere le autorizzazioni per eseguire la RFC e di accedere ai dati desiderati.
  • Password: password.
  • Lingua: cambio di lingua.
  • Nome host: host in cui si trova il server Sap.
  • Sistema di numero: numero SAP istanza del server (di solito il 00 a cui vi è un solo server).
  • Nome funzione: Nome del RFC a cui ci affidiamo.

Esempio di utilizzo di componenti tSapInput

  • Initialize ingresso: inizializzazione dei parametri di input.Sono i valori si passa al blocco della funzione. Nel nostro caso, osserviamo che siamo passati valori semplici (variabili) e valori che abbiamo anche superato alcune delle tabelle.
    • Ingresso singolo: parametri "QUERY_TABLE" e "delimitatore" sono del tipo input_single (single-entry) e asciugandosi inizializzare un valore, vale a dire il nome della tabella che si desidera leggere e il delimitatore da utilizzare.
    • Tabella di ingresso: inserire i valori in due tabelle.Opzioni tabella campo di testo, indicano una condizione di limitare la lettura dei dati (come una condizione in cui). Tabella CAMPI, campo FIELDNAME, diciamo Sap quali campi della tabella sono quelli che vogliono recuperare (in questo caso la fonte del materiale, il suo tipo e la linea di prodotto). In questo modo, limitare sia il numero di record restituiti, come i campi ottenuti (non voglio vedere tutti i campi di ogni record in questa tabella.) Vedere come specificare più valori per la tabella di campo FIELDNAME CAMPI, abbiamo più voci separate da virgole.
  • Uscite: definizione delle strutture dove si gestiscono i dati restituiti dal Sap.Qui indicare il tipo di valore recuperato (table_output per quando il risultato è un tavolo), il nome della tabella in Sap (campo TableName (nome della struttura) e il nome dello schema (un nome per il flusso di dati, abbiamo mettere qualsiasi). Nel nostro esempio, abbiamo letto della tabella di dati SAP, una tabella di record, ogni record ha un campo unico chiamato WA. La procedura descritta in questa sezione per una corretta definizione di scambio i dettagli sono i seguenti:
  • Noi flusso di output prima premuto il tasto del segno "+". Schema su cliccato darà un nome a questo flusso (registros_devueltos nel nostro esempio) e indicare i campi che rendono la struttura componente presa tSapInput.In questo caso, si avrà solo un campo chiamato WA (come si vede nella foto), che corrisponde al campo Tabella dati di SAP.

Definizione della struttura uscita "registros_devueltos"

  • E 'quindi necessario associare la colonna di Sap componente in cui i dati vengono recuperati. Per fare ciò cliccate sul campo Mapping, e si aprirà una nuova finestra. Qui ci appaiono di portatadati definiti nella fase precedente ma il campo XPatchQuerys schema, che è ciò che ci permette di Talend mappare il campo al campo di dati SAP dizionario, in modo da poter ricevere i dati correttamente Sap (valori devono essere introdotti in XPatchQuerys racchiuso tra virgolette, utilizzando il simbolo ").
Mapping tra la struttura della produzione e della Talend Sap

In questo esempio, abbiamo un modo relativamente semplice per recuperare i dati da SAP in un controllo unico.Conoscere i diversi RFC e BAPI esistente SAP, possiamo sicuramente molto più compiti complessi e di usufruire di funzionalità che sono definiti in SAP. Potrebbe anche essere un modo di interfacciarsi con SAP utilizzando questi componenti già definito e confezionato.

Per vedere in dettaglio come si definisce ciascun componente, è possibile accedere alla documentazione completa HTML generato da Talend qui . È possibile scaricare il file zip contenente la documentazione qui .