Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment extraire des données d'un système SAP ABAP ?

Plusieurs options s'offrent à vous.

Si vous utilisez SAP BW, il existe de nombreux outils standard pour vous aider à effectuer des extractions et à automatiser les processus.

Sinon, vous pouvez écrire un programme ABAP simple (type 1) pour lire les données des tables et les mettre dans un fichier plat.

Sinon, vous pouvez écrire un module de fonction activé à distance (RFC) et l'appeler à l'aide de la bibliothèque RFC de SAP.

Vous pouvez également envelopper votre fonction RFC avec un service Web et l'appeler via SOAP/HTTP.

Enfin, si vous avez accès à la base de données, vous pourrez peut-être même écrire un script pour extraire les données dont vous avez besoin.

Un exemple simple de programme pour extraire quelque chose d'une table 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.

C'est vraiment primitif, mais vous voyez l'idée. Il sélectionne les données d'une table DB dans une table interne (en mémoire) et les écrit dans un fichier appelé /tmp/outfile.txt sur le serveur, d'où vous pouvez le récupérer. (Vous devrez modifier la sortie pour qu'elle soit dans le format requis).

Vous pouvez ensuite programmer votre programme avec SM36 pour qu'il s'exécute périodiquement en arrière-plan.