Oracle
 sql >> Database >  >> RDS >> Oracle

Come estrarre i dati da un sistema SAP ABAP?

Hai diverse opzioni per farlo.

Se utilizzi SAP BW, sono disponibili molti strumenti standard per aiutarti a eseguire estrazioni e automatizzare i processi.

Altrimenti, puoi scrivere un semplice programma ABAP (tipo 1) per leggere i dati dalle tabelle e inserirli in un file flat.

Altrimenti, potresti scrivere un modulo funzione abilitato in remoto (RFC) e chiamarlo utilizzando la libreria RFC di SAP.

Puoi anche avvolgere la tua funzione RFC con un servizio web e chiamarlo tramite SOAP/HTTP.

Infine, se hai accesso al database, potresti anche essere in grado di scrivere uno script per estrarre i dati di cui hai bisogno.

Un semplice esempio di programma per estrarre qualcosa da una tabella DB:

report ZEXTRACT_EXAMPLE.

data: lt_t001 type table of t001.
data: ls_t001 type t001.
data: lv_filename type string value '/tmp/outfile.txt'.

select * from t001 into table lt_t001.

open dataset lv_filename for output in text mode encoding default.

loop at lt_t001 into ls_t001.
  transfer ls_t001-bukrs to lv_filename.
endloop.

close dataset lv_filename.

Questo è davvero primitivo, ma hai un'idea. Seleziona i dati da una tabella DB in una tabella interna (in memoria) e li scrive in un file chiamato /tmp/outfile.txt sul server, da dove puoi prelevarlo. (Dovresti modificare l'output in modo che sia nel formato richiesto).

È quindi possibile pianificare il programma con SM36 in modo che venga eseguito periodicamente come lavoro in background.